#include <CompositeNumericalTypes.h>
Transpose is particularly tricky -- we insist on Hermitian transpose meaning the elements must also be transposed and complex subelements must be conjugated.
This class exists because the built-in scalar types don't have the members we need. CNT<> is specialized for those types only; it is just a pass-through for the rest. The idea is to capture everything that has to be specialized here rather than in the template classes which use these types.
Public Types | |
enum | { NRows = K::NRows, NCols = K::NCols, RowSpacing = K::RowSpacing, ColSpacing = K::ColSpacing, NPackedElements = K::NPackedElements, NActualElements = K::NActualElements, NActualScalars = K::NActualScalars, ImagOffset = K::ImagOffset, RealStrideFactor = K::RealStrideFactor, ArgDepth = K::ArgDepth, IsScalar = K::IsScalar, IsNumber = K::IsNumber, IsStdNumber = K::IsStdNumber, IsPrecision = K::IsPrecision, SignInterpretation = K::SignInterpretation } |
typedef K | T |
typedef K::TNeg | TNeg |
typedef K::TWithoutNegator | TWithoutNegator |
typedef K::TReal | TReal |
typedef K::TImag | TImag |
typedef K::TComplex | TComplex |
typedef K::THerm | THerm |
typedef K::TPosTrans | TPosTrans |
typedef K::TSqHermT | TSqHermT |
typedef K::TSqTHerm | TSqTHerm |
typedef K::TElement | TElement |
typedef K::TRow | TRow |
typedef K::TCol | TCol |
typedef K::TAbs | TAbs |
typedef K::TStandard | TStandard |
typedef K::TInvert | TInvert |
typedef K::TNormalize | TNormalize |
typedef K::Scalar | Scalar |
typedef K::Number | Number |
typedef K::StdNumber | StdNumber |
typedef K::Precision | Precision |
typedef K::ScalarSq | ScalarSq |
Static Public Member Functions | |
static const Scalar * | getData (const T &t) |
static Scalar * | updData (T &t) |
static const TReal & | real (const T &t) |
static TReal & | real (T &t) |
static const TImag & | imag (const T &t) |
static TImag & | imag (T &t) |
static K | getInfinity () |
static K | getNaN () |
static const TNeg & | negate (const T &t) |
static TNeg & | negate (T &t) |
static const THerm & | transpose (const K &t) |
static THerm & | transpose (K &t) |
static const TPosTrans & | positionalTranspose (const K &t) |
static TPosTrans & | positionalTranspose (K &t) |
static const TWithoutNegator & | castAwayNegatorIfAny (const T &t) |
static TWithoutNegator & | updCastAwayNegatorIfAny (T &t) |
static ScalarSq | scalarNormSqr (const K &t) |
static TAbs | abs (const K &t) |
static TStandard | standardize (const K &t) |
static TNormalize | normalize (const K &t) |
static TInvert | invert (const K &t) |
Classes | |
struct | Result |
struct | Substitute |
typedef K T |
typedef K::TNeg TNeg |
typedef K::TWithoutNegator TWithoutNegator |
typedef K::TReal TReal |
typedef K::TImag TImag |
typedef K::TComplex TComplex |
typedef K::THerm THerm |
typedef K::TPosTrans TPosTrans |
typedef K::TSqHermT TSqHermT |
typedef K::TSqTHerm TSqTHerm |
typedef K::TElement TElement |
typedef K::TRow TRow |
typedef K::TCol TCol |
typedef K::TAbs TAbs |
typedef K::TStandard TStandard |
typedef K::TInvert TInvert |
typedef K::TNormalize TNormalize |
typedef K::Scalar Scalar |
typedef K::StdNumber StdNumber |
typedef K::Precision Precision |
typedef K::ScalarSq ScalarSq |
anonymous enum |
static K getInfinity | ( | ) | [inline, static] |
static K getNaN | ( | ) | [inline, static] |
static const THerm& transpose | ( | const K & | t | ) | [inline, static] |
static THerm& transpose | ( | K & | t | ) | [inline, static] |
static const TPosTrans& positionalTranspose | ( | const K & | t | ) | [inline, static] |
static TPosTrans& positionalTranspose | ( | K & | t | ) | [inline, static] |
static const TWithoutNegator& castAwayNegatorIfAny | ( | const T & | t | ) | [inline, static] |
static TWithoutNegator& updCastAwayNegatorIfAny | ( | T & | t | ) | [inline, static] |
static ScalarSq scalarNormSqr | ( | const K & | t | ) | [inline, static] |
static TAbs abs | ( | const K & | t | ) | [inline, static] |
static TStandard standardize | ( | const K & | t | ) | [inline, static] |
static TNormalize normalize | ( | const K & | t | ) | [inline, static] |
static TInvert invert | ( | const K & | t | ) | [inline, static] |