FreePOOMA  2.4.1
Classes | Functions
PoomaOperatorTags.h File Reference
#include <cstdlib>
#include <cmath>
Include dependency graph for PoomaOperatorTags.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  FnReal
struct  FnImag
struct  FnAbs
struct  FnArg
struct  FnNorm
struct  FnConj
struct  FnPow2
struct  FnPow3
struct  FnPow4
struct  FnMagnitude
struct  FnTrace
struct  FnDet
struct  FnTranspose
struct  FnSymmetrize< OutputSymmetry >
struct  FnDot
struct  FnPolar
struct  FnOuterProduct
struct  FnOuterProductAsTinyMatrix
struct  FnDotDot
struct  FnMin
struct  FnMax
struct  OpLT2
struct  BinaryReturn< T1, T2, OpLT2 >
struct  OpLE2
struct  BinaryReturn< T1, T2, OpLE2 >
struct  OpGT2
struct  BinaryReturn< T1, T2, OpGT2 >
struct  OpGE2
struct  BinaryReturn< T1, T2, OpGE2 >
struct  OpEQ2
struct  BinaryReturn< T1, T2, OpEQ2 >
struct  OpNE2
struct  BinaryReturn< T1, T2, OpNE2 >
struct  FnMinAssign
struct  BinaryReturn< T1, T2, FnMinAssign >
struct  FnMaxAssign
struct  BinaryReturn< T1, T2, FnMaxAssign >
struct  FnAndAssign
struct  BinaryReturn< T1, T2, FnAndAssign >
struct  FnOrAssign
struct  BinaryReturn< T1, T2, FnOrAssign >

Functions

template<class OutputEngineTag , int D, class T , class EngineTag >
Tensor< D, T, OutputEngineTag > symmetrize (const Tensor< D, T, EngineTag > &x)
 The actual symmetrize() global function template.

Function Documentation

template<class OutputEngineTag , int D, class T , class EngineTag >
Tensor<D, T, OutputEngineTag> symmetrize ( const Tensor< D, T, EngineTag > &  x)

The actual symmetrize() global function template.

To get around problems with partially specializating on return type, introduce the Symmetrize functor class, which the symmetrize() function uses. The partial specializations are of the Symmetrize functor. Forward declare the functor before the function template:

References Symmetrize< OutputEngineTag, D, T, EngineTag >::apply().