AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Namespaces | |
filesystem | |
string | |
Classes | |
class | LexiComparator |
Compares std::vector< T > in lexicographic order. More... | |
class | Timer |
A simple Timer class to measure execution time. More... | |
Functions | |
void | processAbort () |
Gracefully aborts the application. More... | |
template<typename T > | |
AXOM_HOST_DEVICE T | abs (const T &x) |
Returns the absolute value of x. More... | |
template<typename T > | |
AXOM_HOST_DEVICE const T & | max (const T &x, const T &y) |
Returns the max value of x and y. More... | |
template<typename T > | |
AXOM_HOST_DEVICE const T & | min (const T &x, const T &y) |
Returns the min value of x and y. More... | |
template<typename T > | |
AXOM_HOST_DEVICE void | swap (T &a, T &b) |
Swaps the values of a, b. More... | |
template<typename T > | |
T | log2 (T &val) |
Returns the base 2 logarithm of the input. More... | |
template<typename T > | |
AXOM_HOST_DEVICE T | clampVal (T val, T lower, T upper) |
Clamps an input value to a given range. More... | |
template<typename T > | |
AXOM_HOST_DEVICE T | clampUpper (T val, T upper) |
Clamps the upper range on an input value. More... | |
template<typename T > | |
AXOM_HOST_DEVICE T | clampLower (T val, T lower) |
Clamps the lower range on an input value. More... | |
template<typename T > | |
T | random_real (const T &a, const T &b) |
Returns a random real number within the specified interval. More... | |
template<typename T > | |
T | random_real (const T &a, const T &b, unsigned int seed) |
Returns a random real number within the specified interval given the bounds of the interval and a seed value for the underlying random number generator. More... | |
bool | isLittleEndian () |
Tests the endianness of the system. More... | |
template<typename T > | |
T | swapEndian (T val) |
Swaps the endianness of the input value. More... | |
template<typename RealType > | |
AXOM_HOST_DEVICE bool | isNearlyEqual (RealType a, RealType b, RealType thresh=1.0e-8) |
Fuzzy comparison of two real valued quantities. More... | |
template<typename RealType > | |
AXOM_HOST_DEVICE bool | isNearlyEqualRelative (RealType a, RealType b, RealType relThresh=1.0e-6, RealType absThresh=1.0e-8) |
Fuzzy comparison of two real valued quantities. More... | |
void axom::utilities::processAbort | ( | ) |
Gracefully aborts the application.
Referenced by axom::Array< double >::dynamicRealloc(), and axom::Array< double >::setCapacity().
|
inline |
Returns the absolute value of x.
[in] | x | value whose absolute value is computed. |
Referenced by axom::primal::abs(), isNearlyEqual(), isNearlyEqualRelative(), axom::numerics::jacobi_eigensolve(), axom::numerics::lu_decompose(), axom::primal::Triangle< T, NDIMS >::physToBarycentric(), and axom::primal::Tetrahedron< T, NDIMS >::volume().
|
inline |
Returns the max value of x and y.
[in] | x | the first value to check. |
[in] | y | the second value to check. |
Referenced by axom::mint::bind_basis(), axom::primal::OrientedBoundingBox< T, NDIMS >::bisect(), axom::slam::BitSet::BitSet(), axom::primal::NumericArray< IndexType, NDIMS >::clampLower(), axom::primal::BoundingBox< double, DIM >::clear(), axom::quest::SignedDistance< NDIMS >::computeDistance(), axom::spin::BVHTree< T, NDIMS >::contains(), axom::spin::BVHTree< T, NDIMS >::empty(), axom::spin::BVHTree< T, NDIMS >::find(), axom::primal::BoundingBox< double, DIM >::getLongestDimension(), axom::primal::BoundingBox< double, DIM >::getPoints(), axom::spin::BVH< NDIMS, ExecSpace, FloatType >::getTolerance(), axom::spin::ImplicitGrid< NDIMS, TheIndexType >::initialize(), axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, RepresentationType >::initializeMap(), axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > >::initializeMap(), axom::primal::BoundingBox< double, DIM >::intersect(), isNearlyEqualRelative(), and axom::primal::NumericArray< IndexType, NDIMS >::size().
|
inline |
Returns the min value of x and y.
[in] | x | the first value to check. |
[in] | y | the second value to check. |
Referenced by axom::mint::bind_basis(), axom::primal::NumericArray< IndexType, NDIMS >::clampUpper(), axom::quest::SignedDistance< NDIMS >::computeDistance(), axom::spin::BVHTree< T, NDIMS >::contains(), axom::spin::BVHTree< T, NDIMS >::empty(), axom::spin::BVHTree< T, NDIMS >::find(), axom::spin::SpatialOctree< DIM, InOutBlockData >::findGridCellAtLevel(), axom::primal::BoundingBox< double, DIM >::getLongestDimension(), axom::primal::BoundingBox< double, DIM >::getPoints(), axom::spin::BVH< NDIMS, ExecSpace, FloatType >::getTolerance(), axom::primal::BoundingBox< double, DIM >::intersect(), axom::utilities::LexiComparator< T >::operator()(), and axom::primal::NumericArray< IndexType, NDIMS >::size().
|
inline |
Swaps the values of a, b.
[in,out] | a | 1st object to swap. |
[in,out] | b | 2nd object to swap. |
Referenced by axom::primal::clip(), axom::numerics::eigen_sort(), axom::numerics::lu_solve(), axom::primal::BoundingBox< double, DIM >::shift(), and axom::numerics::Matrix< T >::swapRows().
|
inline |
Returns the base 2 logarithm of the input.
[in] | val | The input value |
|
inline |
Clamps an input value to a given range.
[in] | val | The value to clamp. |
[in] | lower | The lower range. |
[in] | upper | The upper range. |
Referenced by axom::primal::NumericArray< IndexType, NDIMS >::clamp(), axom::spin::UniformGrid< T, NDIMS >::insert(), and axom::primal::NumericArray< IndexType, NDIMS >::NumericArray().
|
inline |
Clamps the upper range on an input value.
[in] | val | The value to clamp |
[in] | upper | The upper range |
Referenced by axom::spin::ImplicitGrid< NDIMS, TheIndexType >::contains(), axom::spin::ImplicitGrid< NDIMS, TheIndexType >::getCandidates(), axom::spin::ImplicitGrid< NDIMS, TheIndexType >::insert(), and axom::primal::NumericArray< IndexType, NDIMS >::size().
|
inline |
Clamps the lower range on an input value.
[in] | val | The value to clamp |
[in] | lower | The lower range |
Referenced by axom::spin::ImplicitGrid< NDIMS, TheIndexType >::contains(), axom::spin::ImplicitGrid< NDIMS, TheIndexType >::insert(), and axom::primal::NumericArray< IndexType, NDIMS >::size().
|
inline |
Returns a random real number within the specified interval.
[in] | a | the interval's lower bound |
[in] | b | the interval's upper bound |
T | a built-in floating point type, e.g., double, float, long double. |
References AXOM_STATIC_ASSERT.
|
inline |
Returns a random real number within the specified interval given the bounds of the interval and a seed value for the underlying random number generator.
[in] | a | the interval's lower bound |
[in] | b | the interval's upper bound |
[in] | seed | user-supplied seed for the random number generator |
T | a built-in floating type, e.g., double, float, long double. |
References AXOM_STATIC_ASSERT.
|
inline |
Tests the endianness of the system.
T axom::utilities::swapEndian | ( | T | val | ) |
Swaps the endianness of the input value.
[in] | val | The input value. |
References AXOM_STATIC_ASSERT_MSG.
|
inline |
Fuzzy comparison of two real valued quantities.
[in] | a | The first real valued quantities we are comparing. |
[in] | b | The second real valued quantities we are comparing. |
[in] | thresh | The threshold of the fuzzy comparison. Default is 1.0e-8. |
References abs().
Referenced by axom::primal::Triangle< T, NDIMS >::baryToPhysical(), axom::primal::Triangle< T, NDIMS >::checkInTriangle(), axom::quest::SignedDistance< NDIMS >::computeDistance(), axom::primal::Tetrahedron< T, NDIMS >::degenerate(), axom::primal::Triangle< T, NDIMS >::degenerate(), axom::primal::Sphere< T, NDIMS >::getOrientation(), axom::primal::Plane< T, NDIMS >::getOrientation(), axom::primal::Sphere< T, NDIMS >::intersectsWith(), axom::numerics::jacobi_eigensolve(), axom::numerics::linear_solve(), axom::numerics::lu_decompose(), axom::primal::orientation(), axom::primal::Tetrahedron< T, NDIMS >::physToBarycentric(), axom::primal::Triangle< T, NDIMS >::physToBarycentric(), axom::primal::Plane< T, NDIMS >::Plane(), and axom::spin::RectangularLattice< NDIMS, double, int >::print().
|
inline |
Fuzzy comparison of two real valued quantities.
[in] | a | The first real valued quantities we are comparing. |
[in] | b | The second real valued quantities we are comparing. |
[in] | relThresh | The relative threshold of the fuzzy comparison. Default is 1.0e-6. |
[in] | absThresh | The absolute threshold of the fuzzy comparison. Default is 1.0e-8. |