|
TBCI Numerical high perf. C++ Library
2.8.0
|
#include <tbci_traits.h>
Public Types | |
| typedef T & | refval_type |
| typedef const T & | const_refval_type |
| typedef T & | loop_refval_type |
| typedef const T & | loop_const_refval_type |
| typedef bool | refval_type |
| typedef bool | const_refval_type |
| typedef bool | loop_refval_type |
| typedef bool | loop_const_refval_type |
| typedef unsigned char | refval_type |
| typedef unsigned char | const_refval_type |
| typedef unsigned char | loop_refval_type |
| typedef unsigned char | loop_const_refval_type |
| typedef signed short | refval_type |
| typedef signed short | const_refval_type |
| typedef signed short | loop_refval_type |
| typedef signed short | loop_const_refval_type |
| typedef unsigned short | refval_type |
| typedef unsigned short | const_refval_type |
| typedef unsigned short | loop_refval_type |
| typedef unsigned short | loop_const_refval_type |
| typedef signed int | refval_type |
| typedef signed int | const_refval_type |
| typedef signed int | loop_refval_type |
| typedef signed int | loop_const_refval_type |
| typedef unsigned int | refval_type |
| typedef unsigned int | const_refval_type |
| typedef unsigned int | loop_refval_type |
| typedef unsigned int | loop_const_refval_type |
| typedef signed long | refval_type |
| typedef signed long | const_refval_type |
| typedef signed long | loop_refval_type |
| typedef signed long | loop_const_refval_type |
| typedef unsigned long | refval_type |
| typedef unsigned long | const_refval_type |
| typedef unsigned long | loop_refval_type |
| typedef unsigned long | loop_const_refval_type |
| typedef float | refval_type |
| typedef float | const_refval_type |
| typedef float | loop_refval_type |
| typedef float | loop_const_refval_type |
| typedef double | refval_type |
| typedef double | const_refval_type |
| typedef double | loop_refval_type |
| typedef double | loop_const_refval_type |
| typedef bool * | refval_type |
| typedef bool * | const_refval_type |
| typedef bool * | loop_refval_type |
| typedef bool * | loop_const_refval_type |
| typedef signed char * | refval_type |
| typedef signed char * | const_refval_type |
| typedef signed char * | loop_refval_type |
| typedef signed char * | loop_const_refval_type |
| typedef unsigned char * | refval_type |
| typedef unsigned char * | const_refval_type |
| typedef unsigned char * | loop_refval_type |
| typedef unsigned char * | loop_const_refval_type |
| typedef signed short * | refval_type |
| typedef signed short * | const_refval_type |
| typedef signed short * | loop_refval_type |
| typedef signed short * | loop_const_refval_type |
| typedef unsigned short * | refval_type |
| typedef unsigned short * | const_refval_type |
| typedef unsigned short * | loop_refval_type |
| typedef unsigned short * | loop_const_refval_type |
| typedef signed int * | refval_type |
| typedef signed int * | const_refval_type |
| typedef signed int * | loop_refval_type |
| typedef signed int * | loop_const_refval_type |
| typedef unsigned int * | refval_type |
| typedef unsigned int * | const_refval_type |
| typedef unsigned int * | loop_refval_type |
| typedef unsigned int * | loop_const_refval_type |
| typedef signed long * | refval_type |
| typedef signed long * | const_refval_type |
| typedef signed long * | loop_refval_type |
| typedef signed long * | loop_const_refval_type |
| typedef unsigned long * | refval_type |
| typedef unsigned long * | const_refval_type |
| typedef unsigned long * | loop_refval_type |
| typedef unsigned long * | loop_const_refval_type |
| typedef float * | refval_type |
| typedef float * | const_refval_type |
| typedef float * | loop_refval_type |
| typedef float * | loop_const_refval_type |
| typedef double * | refval_type |
| typedef double * | const_refval_type |
| typedef double * | loop_refval_type |
| typedef double * | loop_const_refval_type |
| typedef void * | refval_type |
| typedef void * | const_refval_type |
| typedef void * | loop_refval_type |
| typedef void * | loop_const_refval_type |
| typedef volatile long | refval_type |
| typedef volatile long | const_refval_type |
| typedef volatile long | loop_refval_type |
| typedef volatile long | loop_const_refval_type |
This traits class is there to make some tradeoffs: How should variables of a type T be passed best, as const reference or by value? How should we store the variable when we use it in a loop, as reference to the original value or as copy?
The answer to these questions is encapsulated in the class tbci_traits.
refval_type and const_refval_type are for passing variables. loop_refval_type and loop_const_refval_type are for access in loops.
The answer may be dependent on the exact machine that's being used. In general, small POD types that fit into a CPU(FPU) REGISTER should best be passed as value always.
Small entities that fit into a small number of REGISTERs (such as complex numbers) may best be passed to function by reference, but if accessed multiple times, the one copy is cheaper than the indirection by pointer.
For unknown types, that can be arbitrarily complex, and large, we default to using references.
Definition at line 44 of file tbci_traits.h.
| typedef const T& NOINST< T >::const_refval_type |
Definition at line 48 of file tbci_traits.h.
| typedef bool NOINST< T >::const_refval_type |
Definition at line 83 of file tbci_traits.h.
| typedef unsigned char NOINST< T >::const_refval_type |
Definition at line 84 of file tbci_traits.h.
| typedef signed short NOINST< T >::const_refval_type |
Definition at line 85 of file tbci_traits.h.
| typedef unsigned short NOINST< T >::const_refval_type |
Definition at line 86 of file tbci_traits.h.
| typedef signed int NOINST< T >::const_refval_type |
Definition at line 87 of file tbci_traits.h.
| typedef unsigned int NOINST< T >::const_refval_type |
Definition at line 88 of file tbci_traits.h.
| typedef signed long NOINST< T >::const_refval_type |
Definition at line 89 of file tbci_traits.h.
| typedef unsigned long NOINST< T >::const_refval_type |
Definition at line 90 of file tbci_traits.h.
| typedef float NOINST< T >::const_refval_type |
Definition at line 91 of file tbci_traits.h.
| typedef double NOINST< T >::const_refval_type |
Definition at line 92 of file tbci_traits.h.
| typedef bool* NOINST< T >::const_refval_type |
Definition at line 94 of file tbci_traits.h.
| typedef signed char* NOINST< T >::const_refval_type |
Definition at line 95 of file tbci_traits.h.
| typedef unsigned char* NOINST< T >::const_refval_type |
Definition at line 96 of file tbci_traits.h.
| typedef signed short* NOINST< T >::const_refval_type |
Definition at line 97 of file tbci_traits.h.
| typedef unsigned short* NOINST< T >::const_refval_type |
Definition at line 98 of file tbci_traits.h.
| typedef signed int* NOINST< T >::const_refval_type |
Definition at line 99 of file tbci_traits.h.
| typedef unsigned int* NOINST< T >::const_refval_type |
Definition at line 100 of file tbci_traits.h.
| typedef signed long* NOINST< T >::const_refval_type |
Definition at line 101 of file tbci_traits.h.
| typedef unsigned long* NOINST< T >::const_refval_type |
Definition at line 102 of file tbci_traits.h.
| typedef float* NOINST< T >::const_refval_type |
Definition at line 103 of file tbci_traits.h.
| typedef double* NOINST< T >::const_refval_type |
Definition at line 104 of file tbci_traits.h.
| typedef void* NOINST< T >::const_refval_type |
Definition at line 106 of file tbci_traits.h.
| typedef volatile long NOINST< T >::const_refval_type |
Definition at line 117 of file tbci_traits.h.
| typedef const T& NOINST< T >::loop_const_refval_type |
Definition at line 50 of file tbci_traits.h.
| typedef bool NOINST< T >::loop_const_refval_type |
Definition at line 83 of file tbci_traits.h.
| typedef unsigned char NOINST< T >::loop_const_refval_type |
Definition at line 84 of file tbci_traits.h.
| typedef signed short NOINST< T >::loop_const_refval_type |
Definition at line 85 of file tbci_traits.h.
| typedef unsigned short NOINST< T >::loop_const_refval_type |
Definition at line 86 of file tbci_traits.h.
| typedef signed int NOINST< T >::loop_const_refval_type |
Definition at line 87 of file tbci_traits.h.
| typedef unsigned int NOINST< T >::loop_const_refval_type |
Definition at line 88 of file tbci_traits.h.
| typedef signed long NOINST< T >::loop_const_refval_type |
Definition at line 89 of file tbci_traits.h.
| typedef unsigned long NOINST< T >::loop_const_refval_type |
Definition at line 90 of file tbci_traits.h.
| typedef float NOINST< T >::loop_const_refval_type |
Definition at line 91 of file tbci_traits.h.
| typedef double NOINST< T >::loop_const_refval_type |
Definition at line 92 of file tbci_traits.h.
| typedef bool* NOINST< T >::loop_const_refval_type |
Definition at line 94 of file tbci_traits.h.
| typedef signed char* NOINST< T >::loop_const_refval_type |
Definition at line 95 of file tbci_traits.h.
| typedef unsigned char* NOINST< T >::loop_const_refval_type |
Definition at line 96 of file tbci_traits.h.
| typedef signed short* NOINST< T >::loop_const_refval_type |
Definition at line 97 of file tbci_traits.h.
| typedef unsigned short* NOINST< T >::loop_const_refval_type |
Definition at line 98 of file tbci_traits.h.
| typedef signed int* NOINST< T >::loop_const_refval_type |
Definition at line 99 of file tbci_traits.h.
| typedef unsigned int* NOINST< T >::loop_const_refval_type |
Definition at line 100 of file tbci_traits.h.
| typedef signed long* NOINST< T >::loop_const_refval_type |
Definition at line 101 of file tbci_traits.h.
| typedef unsigned long* NOINST< T >::loop_const_refval_type |
Definition at line 102 of file tbci_traits.h.
| typedef float* NOINST< T >::loop_const_refval_type |
Definition at line 103 of file tbci_traits.h.
| typedef double* NOINST< T >::loop_const_refval_type |
Definition at line 104 of file tbci_traits.h.
| typedef void* NOINST< T >::loop_const_refval_type |
Definition at line 106 of file tbci_traits.h.
| typedef volatile long NOINST< T >::loop_const_refval_type |
Definition at line 117 of file tbci_traits.h.
| typedef T& NOINST< T >::loop_refval_type |
Definition at line 49 of file tbci_traits.h.
| typedef bool NOINST< T >::loop_refval_type |
Definition at line 83 of file tbci_traits.h.
| typedef unsigned char NOINST< T >::loop_refval_type |
Definition at line 84 of file tbci_traits.h.
| typedef signed short NOINST< T >::loop_refval_type |
Definition at line 85 of file tbci_traits.h.
| typedef unsigned short NOINST< T >::loop_refval_type |
Definition at line 86 of file tbci_traits.h.
| typedef signed int NOINST< T >::loop_refval_type |
Definition at line 87 of file tbci_traits.h.
| typedef unsigned int NOINST< T >::loop_refval_type |
Definition at line 88 of file tbci_traits.h.
| typedef signed long NOINST< T >::loop_refval_type |
Definition at line 89 of file tbci_traits.h.
| typedef unsigned long NOINST< T >::loop_refval_type |
Definition at line 90 of file tbci_traits.h.
| typedef float NOINST< T >::loop_refval_type |
Definition at line 91 of file tbci_traits.h.
| typedef double NOINST< T >::loop_refval_type |
Definition at line 92 of file tbci_traits.h.
| typedef bool* NOINST< T >::loop_refval_type |
Definition at line 94 of file tbci_traits.h.
| typedef signed char* NOINST< T >::loop_refval_type |
Definition at line 95 of file tbci_traits.h.
| typedef unsigned char* NOINST< T >::loop_refval_type |
Definition at line 96 of file tbci_traits.h.
| typedef signed short* NOINST< T >::loop_refval_type |
Definition at line 97 of file tbci_traits.h.
| typedef unsigned short* NOINST< T >::loop_refval_type |
Definition at line 98 of file tbci_traits.h.
| typedef signed int* NOINST< T >::loop_refval_type |
Definition at line 99 of file tbci_traits.h.
| typedef unsigned int* NOINST< T >::loop_refval_type |
Definition at line 100 of file tbci_traits.h.
| typedef signed long* NOINST< T >::loop_refval_type |
Definition at line 101 of file tbci_traits.h.
| typedef unsigned long* NOINST< T >::loop_refval_type |
Definition at line 102 of file tbci_traits.h.
| typedef float* NOINST< T >::loop_refval_type |
Definition at line 103 of file tbci_traits.h.
| typedef double* NOINST< T >::loop_refval_type |
Definition at line 104 of file tbci_traits.h.
| typedef void* NOINST< T >::loop_refval_type |
Definition at line 106 of file tbci_traits.h.
| typedef volatile long NOINST< T >::loop_refval_type |
Definition at line 117 of file tbci_traits.h.
| typedef T& NOINST< T >::refval_type |
Definition at line 47 of file tbci_traits.h.
| typedef bool NOINST< T >::refval_type |
Definition at line 83 of file tbci_traits.h.
| typedef unsigned char NOINST< T >::refval_type |
Definition at line 84 of file tbci_traits.h.
| typedef signed short NOINST< T >::refval_type |
Definition at line 85 of file tbci_traits.h.
| typedef unsigned short NOINST< T >::refval_type |
Definition at line 86 of file tbci_traits.h.
| typedef signed int NOINST< T >::refval_type |
Definition at line 87 of file tbci_traits.h.
| typedef unsigned int NOINST< T >::refval_type |
Definition at line 88 of file tbci_traits.h.
| typedef signed long NOINST< T >::refval_type |
Definition at line 89 of file tbci_traits.h.
| typedef unsigned long NOINST< T >::refval_type |
Definition at line 90 of file tbci_traits.h.
| typedef float NOINST< T >::refval_type |
Definition at line 91 of file tbci_traits.h.
| typedef double NOINST< T >::refval_type |
Definition at line 92 of file tbci_traits.h.
| typedef bool* NOINST< T >::refval_type |
Definition at line 94 of file tbci_traits.h.
| typedef signed char* NOINST< T >::refval_type |
Definition at line 95 of file tbci_traits.h.
| typedef unsigned char* NOINST< T >::refval_type |
Definition at line 96 of file tbci_traits.h.
| typedef signed short* NOINST< T >::refval_type |
Definition at line 97 of file tbci_traits.h.
| typedef unsigned short* NOINST< T >::refval_type |
Definition at line 98 of file tbci_traits.h.
| typedef signed int* NOINST< T >::refval_type |
Definition at line 99 of file tbci_traits.h.
| typedef unsigned int* NOINST< T >::refval_type |
Definition at line 100 of file tbci_traits.h.
| typedef signed long* NOINST< T >::refval_type |
Definition at line 101 of file tbci_traits.h.
| typedef unsigned long* NOINST< T >::refval_type |
Definition at line 102 of file tbci_traits.h.
| typedef float* NOINST< T >::refval_type |
Definition at line 103 of file tbci_traits.h.
| typedef double* NOINST< T >::refval_type |
Definition at line 104 of file tbci_traits.h.
| typedef void* NOINST< T >::refval_type |
Definition at line 106 of file tbci_traits.h.
| typedef volatile long NOINST< T >::refval_type |
Definition at line 117 of file tbci_traits.h.
1.8.5