|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | abs (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<class T , std::enable_if_t< ! std::is_unsigned< T >::value, bool > = true> |
__cuda_callable__ T | abs (const T &n) |
| This function returns absolute value of given number n. More...
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | acos (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | acos (const T &value) -> decltype(std::acos(value)) |
| This function returns the arc cosine of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | acosh (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | acosh (const T &value) -> decltype(std::acosh(value)) |
| This function returns the inverse hyperbolic cosine of the given value.
|
|
template<typename Vector , typename T1 , typename T2 , template< typename, typename > class Operation, typename Reduction , typename Result > |
Result | addAndReduce (Vector &lhs, const Containers::Expressions::BinaryExpressionTemplate< T1, T2, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , typename T2 , template< typename, typename > class Operation, typename Reduction , typename Result > |
Result | addAndReduce (Vector &lhs, const Containers::Expressions::DistributedBinaryExpressionTemplate< T1, T2, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , template< typename > class Operation, typename Reduction , typename Result > |
Result | addAndReduce (Vector &lhs, const Containers::Expressions::DistributedUnaryExpressionTemplate< T1, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , typename T2 , template< typename, typename > class Operation, typename Reduction , typename Result > |
__cuda_callable__ Result | addAndReduce (Vector &lhs, const Containers::Expressions::StaticBinaryExpressionTemplate< T1, T2, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , template< typename > class Operation, typename Reduction , typename Result > |
__cuda_callable__ Result | addAndReduce (Vector &lhs, const Containers::Expressions::StaticUnaryExpressionTemplate< T1, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , template< typename > class Operation, typename Reduction , typename Result > |
Result | addAndReduce (Vector &lhs, const Containers::Expressions::UnaryExpressionTemplate< T1, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , typename T2 , template< typename, typename > class Operation, typename Reduction , typename Result > |
Result | addAndReduceAbs (Vector &lhs, const Containers::Expressions::BinaryExpressionTemplate< T1, T2, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , typename T2 , template< typename, typename > class Operation, typename Reduction , typename Result > |
Result | addAndReduceAbs (Vector &lhs, const Containers::Expressions::DistributedBinaryExpressionTemplate< T1, T2, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , template< typename > class Operation, typename Reduction , typename Result > |
Result | addAndReduceAbs (Vector &lhs, const Containers::Expressions::DistributedUnaryExpressionTemplate< T1, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , typename T2 , template< typename, typename > class Operation, typename Reduction , typename Result > |
__cuda_callable__ Result | addAndReduceAbs (Vector &lhs, const Containers::Expressions::StaticBinaryExpressionTemplate< T1, T2, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , template< typename > class Operation, typename Reduction , typename Result > |
__cuda_callable__ Result | addAndReduceAbs (Vector &lhs, const Containers::Expressions::StaticUnaryExpressionTemplate< T1, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , template< typename > class Operation, typename Reduction , typename Result > |
Result | addAndReduceAbs (Vector &lhs, const Containers::Expressions::UnaryExpressionTemplate< T1, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename T1 , typename T2 , typename ResultType = typename std::common_type< T1, T2 >::type> |
__cuda_callable__ ResultType | argAbsMax (const T1 &a, const T2 &b) |
|
template<typename T1 , typename T2 , typename ResultType = typename std::common_type< T1, T2 >::type> |
__cuda_callable__ ResultType | argAbsMin (const T1 &a, const T2 &b) |
|
template<typename Real , typename Device , typename Index , typename Allocator > |
std::pair< Index, std::decay_t< Real > > | argMax (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T1 , typename T2 , typename ResultType = typename std::common_type< T1, T2 >::type> |
__cuda_callable__ ResultType | argMax (const T1 &a, const T2 &b) |
|
template<typename Real , typename Device , typename Index , typename Allocator > |
std::pair< Index, std::decay_t< Real > > | argMin (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T1 , typename T2 , typename ResultType = typename std::common_type< T1, T2 >::type> |
__cuda_callable__ ResultType | argMin (const T1 &a, const T2 &b) |
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | asin (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | asin (const T &value) -> decltype(std::asin(value)) |
| This function returns the arc sine of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | asinh (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | asinh (const T &value) -> decltype(std::asinh(value)) |
| This function returns the inverse hyperbolic sine of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | atan (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | atan (const T &value) -> decltype(std::atan(value)) |
| This function returns the arc tangent of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | atanh (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | atanh (const T &value) -> decltype(std::atanh(value)) |
| This function returns the inverse hyperbolic tangent of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | binaryAnd (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | binaryOr (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename ResultType , typename Real , typename Device , typename Index , typename Allocator , template< typename > class Operation = Containers::Expressions::Cast< ResultType >::template Operation> |
auto | cast (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | cbrt (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | cbrt (const T &value) -> decltype(std::cbrt(value)) |
| This function returns cubic root of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | ceil (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | ceil (const T &value) -> decltype(std::ceil(value)) |
| This function returns the smallest integer value not less than the given value.
|
|
template<> |
String | convertToString (const bool &b) |
| Specialization of function convertToString for boolean. More...
|
|
template<typename T > |
String | convertToString (const T &value) |
| Converts value of type T to a String. More...
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | cos (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | cos (const T &value) -> decltype(std::cos(value)) |
| This function returns cosine of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | cosh (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | cosh (const T &value) -> decltype(std::cosh(value)) |
| This function returns the hyperbolic cosine of the given value.
|
|
template<typename ET1 , typename ET2 > |
auto | dot (const ET1 &a, const ET2 &b) |
| Computes scalar product of vector and vector expression. Equivalent to TNL::Containers::operator,. More...
|
|
template<typename Vector , typename T1 , typename T2 , template< typename, typename > class Operation, typename Reduction , typename Result > |
Result | evaluateAndReduce (Vector &lhs, const Containers::Expressions::BinaryExpressionTemplate< T1, T2, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , typename T2 , template< typename, typename > class Operation, typename Reduction , typename Result > |
Result | evaluateAndReduce (Vector &lhs, const Containers::Expressions::DistributedBinaryExpressionTemplate< T1, T2, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , template< typename > class Operation, typename Reduction , typename Result > |
Result | evaluateAndReduce (Vector &lhs, const Containers::Expressions::DistributedUnaryExpressionTemplate< T1, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , typename T2 , template< typename, typename > class Operation, typename Reduction , typename Result > |
__cuda_callable__ Result | evaluateAndReduce (Vector &lhs, const Containers::Expressions::StaticBinaryExpressionTemplate< T1, T2, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , template< typename > class Operation, typename Reduction , typename Result > |
__cuda_callable__ Result | evaluateAndReduce (Vector &lhs, const Containers::Expressions::StaticUnaryExpressionTemplate< T1, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Vector , typename T1 , template< typename > class Operation, typename Reduction , typename Result > |
Result | evaluateAndReduce (Vector &lhs, const Containers::Expressions::UnaryExpressionTemplate< T1, Operation > &expression, const Reduction &reduction, const Result &zero) |
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | exp (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | exp (const T &value) -> decltype(std::exp(value)) |
| This function returns the base-e exponential of the given value.
|
|
bool | fileExists (const String &fileName) |
| Returns true if the file exists and false otherwise. More...
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | floor (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | floor (const T &value) -> decltype(std::floor(value)) |
| This function returns largest integer value not greater than the given value.
|
|
String | getFileExtension (const String fileName) |
| Returns extension of given file name, i.e. part after the last dot. More...
|
|
String | getObjectType (const String &fileName) |
| Does the same as getObjectType but with a fileName parameter instead of file. More...
|
|
String | getObjectType (File &file) |
| Extracts object type from a binary file. More...
|
|
template<typename T , std::enable_if_t< ! HasStaticGetSerializationType< T >::value, bool > = true> |
String | getSerializationType () |
| Returns a string identifying a type for the purpose of serialization. More...
|
|
template<typename T > |
String | getType () |
| Returns a human-readable string representation of given type. More...
|
|
template<typename T > |
String | getType (T &&obj) |
| Returns a human-readable string representation of given object's type. More...
|
|
__cuda_callable__ bool | isPow2 (int x) |
| This function checks if x is an integral power of two. More...
|
|
__cuda_callable__ bool | isPow2 (long int x) |
| This function checks if x is an integral power of two. More...
|
|
template<typename Real > |
__cuda_callable__ bool | isSmall (const Real &v, const Real &tolerance=1.0e-5) |
| This function tests whether the given real number is small. More...
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | l1Norm (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | l2Norm (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | log (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | log (const T &value) -> decltype(std::log(value)) |
| This function returns the natural logarithm of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | log10 (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | log10 (const T &value) -> decltype(std::log10(value)) |
| This function returns the common logarithm of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | log2 (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | log2 (const T &value) -> decltype(std::log2(value)) |
| This function returns the binary logarithm of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | logicalAnd (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | logicalOr (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename Real , typename Device , typename Index , typename Allocator , typename Real2 > |
auto | lpNorm (const Containers::Vector< Real, Device, Index, Allocator > &a, const Real2 &p) -> double |
|
template<typename Real , typename Device , typename Index , typename Allocator > |
Real | max (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename Real , typename Device , typename Index , typename Allocator , typename ET , typename... , typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value >> |
auto | max (const Containers::Vector< Real, Device, Index, Allocator > &a, const ET &b) |
|
template<typename Real1 , typename Real2 , typename Device , typename Index , typename Allocator > |
auto | max (const Containers::Vector< Real1, Device, Index, Allocator > &a, const Containers::Vector< Real2, Device, Index, Allocator > &b) |
|
template<typename Real1 , typename Real2 , typename Device , typename Index , typename Allocator > |
auto | max (const Containers::Vector< Real1, Device, Index, Allocator > &a, const Containers::VectorView< Real2, Device, Index > &b) |
|
template<typename Real1 , typename Real2 , typename Device , typename Index , typename Allocator > |
auto | max (const Containers::VectorView< Real1, Device, Index > &a, const Containers::Vector< Real2, Device, Index, Allocator > &b) |
|
template<typename ET , typename Real , typename Device , typename Index , typename Allocator , typename... , typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value >> |
auto | max (const ET &a, const Containers::Vector< Real, Device, Index, Allocator > &b) |
|
template<typename T1 , typename T2 , typename ResultType = typename std::common_type< T1, T2 >::type, std::enable_if_t< ! HasSubscriptOperator< T1 >::value &&! HasSubscriptOperator< T2 >::value, bool > = true> |
__cuda_callable__ ResultType | max (const T1 &a, const T2 &b) |
| This function returns maximum of two numbers. More...
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | maxNorm (const Containers::Vector< Real, Device, Index, Allocator > &a) |
| Computes maximum norm of a vector. More...
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
Real | min (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename Real , typename Device , typename Index , typename Allocator , typename ET , typename... , typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value >> |
auto | min (const Containers::Vector< Real, Device, Index, Allocator > &a, const ET &b) |
|
template<typename Real1 , typename Real2 , typename Device , typename Index , typename Allocator > |
auto | min (const Containers::Vector< Real1, Device, Index, Allocator > &a, const Containers::Vector< Real2, Device, Index, Allocator > &b) |
|
template<typename Real1 , typename Real2 , typename Device , typename Index , typename Allocator > |
auto | min (const Containers::Vector< Real1, Device, Index, Allocator > &a, const Containers::VectorView< Real2, Device, Index > &b) |
|
template<typename Real1 , typename Real2 , typename Device , typename Index , typename Allocator > |
auto | min (const Containers::VectorView< Real1, Device, Index > &a, const Containers::Vector< Real2, Device, Index, Allocator > &b) |
|
template<typename ET , typename Real , typename Device , typename Index , typename Allocator , typename... , typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value >> |
auto | min (const ET &a, const Containers::Vector< Real, Device, Index, Allocator > &b) |
|
template<typename T1 , typename T2 , typename ResultType = typename std::common_type< T1, T2 >::type, std::enable_if_t< ! HasSubscriptOperator< T1 >::value &&! HasSubscriptOperator< T2 >::value, bool > = true> |
__cuda_callable__ ResultType | min (const T1 &a, const T2 &b) |
| This function returns minimum of two numbers. More...
|
|
void | mpiReceive (String &str, int source, int tag=0, MPI_Comm mpi_comm=MPI_COMM_WORLD) |
| Receives a string from the target MPI process. More...
|
|
void | mpiSend (const String &str, int target, int tag=0, MPI_Comm mpi_comm=MPI_COMM_WORLD) |
| Sends the string to the target MPI process. More...
|
|
String | operator+ (char string1, const String &string2) |
| Returns concatenation of string1 and string2.
|
|
String | operator+ (const char *string1, const String &string2) |
| Returns concatenation of string1 and string2.
|
|
String | operator+ (const std::string &string1, const String &string2) |
| Returns concatenation of string1 and string2.
|
|
File & | operator<< (File &file, const std::string &str) |
| Serialization of strings.
|
|
File & | operator>> (File &file, std::string &str) |
| Deserialization of strings.
|
|
std::vector< String > | parseObjectType (const String &objectType) |
| Parses the object type. More...
|
|
template<typename Real , typename Device , typename Index , typename Allocator , typename ExpType > |
auto | pow (const Containers::Vector< Real, Device, Index, Allocator > &a, const ExpType &exp) |
|
template<typename T1 , typename T2 , typename ResultType = typename std::common_type< T1, T2 >::type> |
__cuda_callable__ ResultType | pow (const T1 &base, const T2 &exp) |
| This function returns the result of base to the power of exp.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | product (const Containers::Vector< Real, Device, Index, Allocator > &a) |
| Computes product of all vector elements. More...
|
|
String | removeFileNameExtension (String fileName) |
| Cuts off the file extension. More...
|
|
__cuda_callable__ int | roundToMultiple (int number, int multiple) |
| This function rounds up number to the nearest multiple of number multiple. More...
|
|
__cuda_callable__ int | roundUpDivision (const int num, const int div) |
| This function divides num by div and rounds up the result. More...
|
|
void | saveObjectType (File &file, const String &type) |
| Saves object type into a binary file. More...
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | sign (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<class T > |
__cuda_callable__ T | sign (const T &a) |
| This function represents the signum function. More...
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | sin (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | sin (const T &value) -> decltype(std::sin(value)) |
| This function returns sine of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | sinh (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | sinh (const T &value) -> decltype(std::sinh(value)) |
| This function returns the hyperbolic sine of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | sqrt (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | sqrt (const T &value) -> decltype(std::sqrt(value)) |
| This function returns square root of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | sum (const Containers::Vector< Real, Device, Index, Allocator > &a) |
| Computes sum of all vector elements. More...
|
|
template<typename T1 , typename T2 , typename ResultType = typename std::common_type< T1, T2 >::type> |
__cuda_callable__ ResultType | sum (const T1 &a, const T2 &b) |
|
template<typename Type > |
__cuda_callable__ void | swap (Type &a, Type &b) |
| This function swaps values of two parameters. More...
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | tan (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | tan (const T &value) -> decltype(std::tan(value)) |
| This function returns tangent of the given value.
|
|
template<typename Real , typename Device , typename Index , typename Allocator > |
auto | tanh (const Containers::Vector< Real, Device, Index, Allocator > &a) |
|
template<typename T > |
__cuda_callable__ auto | tanh (const T &value) -> decltype(std::tanh(value)) |
| This function returns the hyperbolic tangent of the given value.
|
|