![]() |
Reference documentation for deal.II version 9.1.1
|
Classes | |
struct | is_cuda_compatible |
struct | is_cuda_compatible< std::complex< Number >, void > |
struct | NumberTraits |
struct | NumberTraits< std::complex< number > > |
Functions | |
bool | is_nan (const double x) |
bool | is_finite (const double x) |
bool | is_finite (const std::complex< double > &x) |
bool | is_finite (const std::complex< float > &x) |
bool | is_finite (const std::complex< long double > &x) |
template<typename Number1 , typename Number2 > | |
bool | values_are_equal (const Number1 &value_1, const Number2 &value_2) |
template<typename Number1 , typename Number2 > | |
bool | values_are_not_equal (const Number1 &value_1, const Number2 &value_2) |
template<typename Number > | |
bool | value_is_zero (const Number &value) |
template<typename Number1 , typename Number2 > | |
bool | value_is_less_than (const Number1 &value_1, const Number2 &value_2) |
template<typename Number1 , typename Number2 > | |
bool | value_is_less_than_or_equal_to (const Number1 &value_1, const Number2 &value_2) |
template<typename Number1 , typename Number2 > | |
bool | value_is_greater_than (const Number1 &value_1, const Number2 &value_2) |
template<typename Number1 , typename Number2 > | |
bool | value_is_greater_than_or_equal_to (const Number1 &value_1, const Number2 &value_2) |
bool | values_are_equal (const adouble &value_1, const adouble &value_2) |
template<typename Number > | |
bool | values_are_equal (const adouble &value_1, const Number &value_2) |
template<typename Number > | |
bool | values_are_equal (const Number &value_1, const adouble &value_2) |
bool | value_is_less_than (const adouble &value_1, const adouble &value_2) |
template<typename Number > | |
bool | value_is_less_than (const adouble &value_1, const Number &value_2) |
template<typename Number > | |
bool | value_is_less_than (const Number &value_1, const adouble &value_2) |
template<class T > | |
T | signaling_nan () |
Variables | |
static constexpr double | E = 2.7182818284590452354 |
static constexpr double | LOG2E = 1.4426950408889634074 |
static constexpr double | LOG10E = 0.43429448190325182765 |
static constexpr double | LN2 = 0.69314718055994530942 |
static constexpr double | LN10 = 2.30258509299404568402 |
static constexpr double | PI = 3.14159265358979323846 |
static constexpr double | PI_2 = 1.57079632679489661923 |
static constexpr double | PI_4 = 0.78539816339744830962 |
static constexpr double | SQRT2 = 1.41421356237309504880 |
static constexpr double | SQRT1_2 = 0.70710678118654752440 |
static const unsigned int | invalid_unsigned_int |
const types::global_dof_index | invalid_size_type |
const types::global_dof_index | invalid_dof_index |
const types::material_id | invalid_material_id |
const types::boundary_id | invalid_boundary_id |
const types::boundary_id | internal_face_boundary_id |
const types::manifold_id | invalid_manifold_id |
const types::manifold_id | flat_manifold_id |
const types::subdomain_id | invalid_subdomain_id |
const types::subdomain_id | artificial_subdomain_id |
Namespace for the declaration of universal constants. Since the availability in math.h
is not always guaranteed, we put them here. Since this file is included by base/config.h
, they are available to the whole library.
The constants defined here are a subset of the M_XXX
constants sometimes declared in the system include file math.h
, but without the prefix M_
.
In addition to that, we declare invalid_unsigned_int
to be the largest unsigned integer representable; this value is widely used in the library as a marker for an invalid index, an invalid size of an array, and similar purposes.
|
inline |
Check whether a value is not a number.
This function uses either std::isnan
, isnan
, or _isnan
, whichever is available on the system and returns the result.
If none of the functions detecting NaN is available, this function returns false.
std::isnan
.
|
inline |
Return true
if the given value is a finite floating point number, i.e. is neither plus or minus infinity nor NaN (not a number).
Note that the argument type of this function is double
. In other words, if you give a very large number of type long double
, this function may return false
even if the number is finite with respect to type long double
.
|
inline |
|
inline |
|
inline |
|
inline |
Return whether two numbers are equal to one another.
For intricate data types (e.g. some automatically differentiable numbers), this function returns the result of the comparison of scalar values stored by the input arguments.
value_2
is castable to the type of value_1
.
|
inline |
Return whether two numbers are not equal to one another.
For intricate data types (e.g. some automatically differentiable numbers), this function returns the result of the comparison of scalar values stored by the input arguments.
value_2
is castable to the type of value_1
.
|
inline |
|
inline |
Return whether value_1
is less than that of value_2
.
For intricate data types (e.g. some automatically differentiable numbers), this function returns the result of the comparison of scalar values stored by the input arguments.
value_2
is castable to the type of value_1
.
|
inline |
Return whether value_1
is less than or equal to that of value_2
.
For intricate data types (e.g. some automatically differentiable numbers), this function returns the result of the comparison of scalar values stored by the input arguments.
value_2
is castable to the type of value_1
. bool numbers::value_is_greater_than | ( | const Number1 & | value_1, |
const Number2 & | value_2 | ||
) |
Return whether value_1
is greater than that of value_2
.
For intricate data types (e.g. some automatically differentiable numbers), this function returns the result of the comparison of scalar values stored by the input arguments.
value_2
is castable to the type of value_1
.
|
inline |
Return whether value_1
is greater than or equal to that of value_2
.
For intricate data types (e.g. some automatically differentiable numbers), this function returns the result of the comparison of scalar values stored by the input arguments.
value_2
is castable to the type of value_1
. bool numbers::values_are_equal | ( | const adouble & | value_1, |
const adouble & | value_2 | ||
) |
Return whether two numbers are equal to one another. For intricate data types (e.g. some automatically differentiable numbers), this function returns only whether the scalar values stored by the input values are equal.
Definition at line 62 of file adolc_number_types.cc.
bool numbers::values_are_equal | ( | const adouble & | value_1, |
const Number & | value_2 | ||
) |
Return whether two numbers are equal to one another. For intricate data types (e.g. some automatically differentiable numbers), this function returns only whether the scalar values stored by the input values are equal.
bool numbers::values_are_equal | ( | const Number & | value_1, |
const adouble & | value_2 | ||
) |
Return whether two numbers are equal to one another. For intricate data types (e.g. some automatically differentiable numbers), this function returns only whether the scalar values stored by the input values are equal.
bool numbers::value_is_less_than | ( | const adouble & | value_1, |
const adouble & | value_2 | ||
) |
Return whether value_1
is less than that of value_2
.
For intricate data types (e.g. some automatically differentiable numbers), this function returns the result of the comparison of scalar values stored by the input arguments.
Definition at line 71 of file adolc_number_types.cc.
bool numbers::value_is_less_than | ( | const adouble & | value_1, |
const Number & | value_2 | ||
) |
Return whether value_1
is less than that of value_2
.
For intricate data types (e.g. some automatically differentiable numbers), this function returns the result of the comparison of scalar values stored by the input arguments.
bool numbers::value_is_less_than | ( | const Number & | value_1, |
const adouble & | value_2 | ||
) |
Return whether value_1
is less than that of value_2
.
For intricate data types (e.g. some automatically differentiable numbers), this function returns the result of the comparison of scalar values stored by the input arguments.
T numbers::signaling_nan | ( | ) |
Provide an object of type T
filled with a signaling NaN that will cause an exception when used in a computation. The content of these objects is a "signaling NaN" ("NaN" stands for "not a number", and "signaling" implies that at least on platforms where this is supported, any arithmetic operation using them terminates the program). The purpose of such objects is to use them as markers for uninitialized objects and arrays that are required to be filled in other places, and to trigger an error when this later initialization does not happen before the first use.
T | The type of the returned invalid object. This type can either be a scalar, or of type Tensor, SymmetricTensor, or DerivativeForm. Other types may be supported if there is a corresponding specialization of the internal::SignalingNaN::NaNInitializer class for this type. |
T
is not used as a function argument, the compiler cannot deduce it from the type of arguments. Consequently, you have to provide it explicitly. For example, the line Definition at line 229 of file signaling_nan.h.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Representation of the largest number that can be put into an unsigned integer. This value is widely used throughout the library as a marker for an invalid unsigned integer value, such as an invalid array index, an invalid array size, and the like.
const types::global_dof_index numbers::invalid_size_type |
Representation of the largest number that can be put into a size_type. This value is used throughout the library as a marker for an invalid size_type value, such as an invalid array index, an invalid array size, and the like. Invalid_size_type is equivalent to invalid_dof_index.
const types::global_dof_index numbers::invalid_dof_index |
An invalid value for indices of degrees of freedom.
const types::material_id numbers::invalid_material_id |
Invalid material_id which we need in several places as a default value. We assume that all material_ids lie in the range [0, invalid_material_id).
const types::boundary_id numbers::invalid_boundary_id |
Invalid boundary_id which we need in several places as a default value. We assume that all valid boundary_ids lie in the range [0, invalid_boundary_id).
const types::boundary_id numbers::internal_face_boundary_id |
A boundary indicator number that we reserve for internal faces. We assume that all valid boundary_ids lie in the range [0, internal_face_boundary_id).
This is an indicator that is used internally (by the library) to differentiate between faces that lie at the boundary of the domain and faces that lie in the interior of the domain. You should never try to assign this boundary indicator to anything in user code.
const types::manifold_id numbers::invalid_manifold_id |
Invalid manifold_id which we need in several places as a default value. We assume that all valid manifold_ids lie in the range [0, invalid_manifold_id).
const types::manifold_id numbers::flat_manifold_id |
A manifold_id we reserve for the default flat Cartesian manifold.
const types::subdomain_id numbers::invalid_subdomain_id |
A special id for an invalid subdomain id. This value may not be used as a valid id but is used, for example, for default arguments to indicate a subdomain id that is not to be used.
See the glossary for more information.
const types::subdomain_id numbers::artificial_subdomain_id |
The subdomain id assigned to a cell whose true subdomain id we don't know, for example because it resides on a different processor on a mesh that is kept distributed on many processors. Such cells are called "artificial".
See the glossary entries on subdomain ids and artificial cells as well as the Parallel computing with multiple processors using distributed memory module for more information.