TBCI Numerical high perf. C++ Library
2.8.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
home
abuild
rpmbuild
BUILD
numerix-2.0
lina
include
tbci_traits.h
Go to the documentation of this file.
1
11
#ifndef H_TBCI_TRAITS_H
12
#define H_TBCI_TRAITS_H
13
14
#include "tbci/basics.h"
15
16
NAMESPACE_TBCI
17
43
template
<
typename
T>
44
class
tbci_traits
NOINST
45
{
46
public
:
47
typedef
T
&
refval_type
;
48
typedef
const
T
&
const_refval_type
;
49
typedef
T
&
loop_refval_type
;
50
typedef
const
T
&
loop_const_refval_type
;
51
};
52
56
#define SPEC_TBCI_TRAITS_ALWAYS_COPY(TYPE) \
57
template <> \
58
class tbci_traits< TYPE > NOINST \
59
{ \
60
public: \
61
typedef TYPE refval_type; \
62
typedef TYPE
/*const*/
const_refval_type; \
63
typedef TYPE loop_refval_type; \
64
typedef TYPE
/*const*/
loop_const_refval_type; \
65
}
66
71
#define SPEC_TBCI_TRAITS_LOOP_COPY(TYPE) \
72
template <> \
73
class tbci_traits< TYPE > NOINST \
74
{ \
75
public: \
76
typedef TYPE& refval_type; \
77
typedef const TYPE& const_refval_type; \
78
typedef TYPE loop_refval_type; \
79
typedef TYPE
/*const*/
loop_const_refval_type; \
80
}
81
82
83
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
bool
);
84
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
unsigned
char
);
85
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
signed
short
);
86
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
unsigned
short
);
87
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
signed
int
);
88
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
unsigned
int
);
89
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
signed
long
);
90
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
unsigned
long
);
91
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
float
);
92
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
double
);
93
94
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
bool
*);
95
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
signed
char
*);
96
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
unsigned
char
*);
97
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
signed
short
*);
98
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
unsigned
short
*);
99
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
signed
int
*);
100
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
unsigned
int
*);
101
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
signed
long
*);
102
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
unsigned
long
*);
103
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
float
*);
104
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
double
*);
105
106
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
void
*);
107
108
#ifdef HAVE_LONG_DOUBLE
109
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
long
double
);
110
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
long
double
*);
111
#endif
112
#ifdef HAVE_LONG_LONG
113
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
long
long
);
114
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
long
long
*);
115
#endif
116
// do_vv_comp
117
SPEC_TBCI_TRAITS_ALWAYS_COPY
(
volatile
long
);
118
119
NAMESPACE_END
120
121
#endif
/* H_TBCI_TRAITS_H */
NOINST::refval_type
T & refval_type
Definition:
tbci_traits.h:47
NAMESPACE_TBCI
#define NAMESPACE_TBCI
Definition:
basics.h:317
SPEC_TBCI_TRAITS_ALWAYS_COPY
#define SPEC_TBCI_TRAITS_ALWAYS_COPY(TYPE)
Definition:
tbci_traits.h:56
NOINST::loop_refval_type
T & loop_refval_type
Definition:
tbci_traits.h:49
NOINST::const_refval_type
const T & const_refval_type
Definition:
tbci_traits.h:48
NOINST
Definition:
tbci_traits.h:44
NOINST::loop_const_refval_type
const T & loop_const_refval_type
Definition:
tbci_traits.h:50
NAMESPACE_END
#define NAMESPACE_END
Definition:
basics.h:323
T
#define T
Definition:
bdmatlib.cc:20
Generated by
1.8.5