# PhasicFlow: src/phasicFlow/types/triple/tripleMath.hpp File Reference
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

tripleMath.hpp File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Namespaces

| pFlow

## Macros

#define | T3Func(fnName)
#define | T3Func2(fnName)

## Functions

template<typename T >
INLINE_FUNCTION_HD triple< T > | abs (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | mod (const triple< T > &arg1, const triple< T > &arg2)
template<typename T >
INLINE_FUNCTION_HD triple< T > | exp (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | log (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | log10 (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | pow (const triple< T > &arg1, const triple< T > &arg2)
template<typename T >
INLINE_FUNCTION_HD triple< T > | sqrt (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | cbrt (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | sin (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | cos (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | tan (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | asin (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | acos (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | atan (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | atan2 (const triple< T > &arg1, const triple< T > &arg2)
template<typename T >
INLINE_FUNCTION_HD triple< T > | sinh (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | cosh (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | tanh (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | asinh (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | acosh (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | atanh (const triple< T > &v)
template<typename T >
INLINE_FUNCTION_HD triple< T > | min (const triple< T > &arg1, const triple< T > &arg2)
template<typename T >
INLINE_FUNCTION_HD triple< T > | max (const triple< T > &arg1, const triple< T > &arg2)
template<typename T >
INLINE_FUNCTION_HD triple< T > | pow (const triple< T > &t3, T e)
template<typename T >
INLINE_FUNCTION_HD T | min (const triple< T > &t3)
template<typename T >
INLINE_FUNCTION_HD T | max (const triple< T > &t3)

## Macro Definition Documentation

## T3Func

#define T3Func | ( |  | fnName | ) |

Value:
template<typename T> \
INLINE_FUNCTION_HD triple<T> fnName(const triple<T>& v) \
{ \
return triple<T>(fnName(v.x_), fnName(v.y_), fnName(v.z_)); \
}

Definition at line 25 of file tripleMath.hpp.

## T3Func2

#define T3Func2 | ( |  | fnName | ) |

Value:
template<typename T> \
INLINE_FUNCTION_HD triple<T> fnName( \
const triple<T>& arg1, const triple<T>& arg2 \
) \
{ \
return triple<T>( \
fnName(arg1.x_, arg2.x_), \
fnName(arg1.y_, arg2.y_), \
fnName(arg1.z_, arg2.z_) \
); \
}

Definition at line 32 of file tripleMath.hpp.