timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
|
Struct for performing math operations on complex data structures without using globally overload operators (e.g. lhs += rhs
) and generic functions (lhs = abs(rhs)
)
More...
#include "timemory/math/compute.hpp"
Public Types | |
using | this_type = compute< Tp, Up > |
using | type = Tp |
using | value_type = Up |
Static Public Member Functions | |
static decltype(auto) | abs (const type &_v) |
static decltype(auto) | sqr (const type &_v) |
static decltype(auto) | sqrt (const type &_v) |
template<typename V > | |
static decltype(auto) | min (const type &_l, const V &_r) |
template<typename V > | |
static decltype(auto) | max (const type &_l, const V &_r) |
template<typename V > | |
static decltype(auto) | percent_diff (const type &_l, const V &_r) |
template<typename V > | |
static decltype(auto) | plus (type &_l, const V &_r) |
template<typename V > | |
static decltype(auto) | minus (type &_l, const V &_r) |
template<typename V > | |
static decltype(auto) | multiply (type &_l, const V &_r) |
template<typename V > | |
static decltype(auto) | divide (type &_l, const V &_r) |
template<typename V > | |
static auto | plus (const type &_l, const V &_r) |
template<typename V > | |
static auto | minus (const type &_l, const V &_r) |
template<typename V > | |
static auto | multiply (const type &_l, const V &_r) |
template<typename V > | |
static auto | divide (const type &_l, const V &_r) |
Struct for performing math operations on complex data structures without using globally overload operators (e.g. lhs += rhs
) and generic functions (lhs = abs(rhs)
)
Definition at line 52 of file compute.hpp.
using tim::math::compute< Tp, Up >::this_type = compute<Tp, Up> |
Definition at line 54 of file compute.hpp.
using tim::math::compute< Tp, Up >::type = Tp |
Definition at line 55 of file compute.hpp.
using tim::math::compute< Tp, Up >::value_type = Up |
Definition at line 56 of file compute.hpp.
|
inlinestatic |
Definition at line 58 of file compute.hpp.
References tim::math::compute< Tp, Up >::abs().
Referenced by tim::math::compute< Tp, Up >::abs(), and tim::statistics< Tp >::get_stddev().
|
inlinestatic |
Definition at line 139 of file compute.hpp.
References tim::math::compute< Tp, Up >::divide().
|
inlinestatic |
Definition at line 111 of file compute.hpp.
References tim::math::compute< Tp, Up >::divide().
Referenced by tim::component::base_data< Tp, 1 >::divide(), tim::component::base_data< Tp, 2 >::divide(), tim::component::base_data< Tp, 3 >::divide(), tim::math::compute< Tp, Up >::divide(), and tim::statistics< Tp >::operator/=().
|
inlinestatic |
Definition at line 80 of file compute.hpp.
References tim::math::compute< Tp, Up >::max().
Referenced by tim::math::compute< Tp, Up >::max(), tim::statistics< Tp >::operator+=(), and tim::statistics< Tp >::operator-=().
|
inlinestatic |
Definition at line 74 of file compute.hpp.
References tim::math::compute< Tp, Up >::min().
Referenced by tim::math::compute< Tp, Up >::min(), tim::statistics< Tp >::operator+=(), and tim::statistics< Tp >::operator-=().
|
inlinestatic |
Definition at line 125 of file compute.hpp.
References tim::math::compute< Tp, Up >::minus().
|
inlinestatic |
Definition at line 99 of file compute.hpp.
References tim::math::compute< Tp, Up >::minus().
Referenced by tim::statistics< Tp >::get_variance(), tim::component::base_data< Tp, 1 >::minus(), tim::component::base_data< Tp, 2 >::minus(), tim::component::base_data< Tp, 3 >::minus(), tim::math::compute< Tp, Up >::minus(), and tim::statistics< Tp >::operator-=().
|
inlinestatic |
Definition at line 132 of file compute.hpp.
References tim::math::compute< Tp, Up >::multiply().
|
inlinestatic |
Definition at line 105 of file compute.hpp.
References tim::math::compute< Tp, Up >::multiply().
Referenced by tim::statistics< Tp >::get_variance(), tim::component::base_data< Tp, 1 >::multiply(), tim::component::base_data< Tp, 2 >::multiply(), tim::component::base_data< Tp, 3 >::multiply(), tim::math::compute< Tp, Up >::multiply(), and tim::statistics< Tp >::operator*=().
|
inlinestatic |
Definition at line 86 of file compute.hpp.
References tim::math::compute< Tp, Up >::percent_diff().
Referenced by tim::math::compute< Tp, Up >::percent_diff().
|
inlinestatic |
|
inlinestatic |
Definition at line 93 of file compute.hpp.
References tim::math::compute< Tp, Up >::plus().
Referenced by tim::statistics< Tp >::operator+=(), tim::component::base_data< Tp, 1 >::plus(), tim::component::base_data< Tp, 2 >::plus(), tim::component::base_data< Tp, 3 >::plus(), and tim::math::compute< Tp, Up >::plus().
|
inlinestatic |
Definition at line 63 of file compute.hpp.
References tim::math::compute< Tp, Up >::sqr().
Referenced by tim::statistics< Tp >::operator*=(), tim::statistics< Tp >::operator+=(), tim::statistics< Tp >::operator-=(), tim::statistics< Tp >::operator/=(), tim::statistics< Tp >::operator=(), and tim::math::compute< Tp, Up >::sqr().
|
inlinestatic |
Definition at line 68 of file compute.hpp.
References tim::math::compute< Tp, Up >::sqrt().
Referenced by tim::statistics< Tp >::get_stddev(), and tim::math::compute< Tp, Up >::sqrt().