Go to the source code of this file.
Namespaces |
| namespace | cat |
Defines |
| #define | CAT_LEG_COMBA2(A, B, C0, C1, C2) |
| #define | CAT_LEG_COMBA3(A, B, C0, C1, C2) |
| #define | CAT_LEG_DIV(A_hi, A_lo, B, Q_hi, Q_lo) |
| #define | CAT_LEG_MUL(A, B, p_hi, p_lo) |
| #define | CAT_LEG_MULADD(A, B, C, p_hi, p_lo) |
| #define | CAT_LEG_MULADD2(A, B, C, D, p_hi, p_lo) |
Variables |
| const Leg | cat::CAT_LEG_LARGEST = ~(Leg)0 |
| const Leg | cat::CAT_LEG_MSB = (Leg)1 << (CAT_LEG_BITS - 1) |
Define Documentation
| #define CAT_LEG_COMBA2 |
( |
|
A, |
|
|
|
B, |
|
|
|
C0, |
|
|
|
C1, |
|
|
|
C2 |
|
) |
| |
Value:{ \
LegPair _cp = CAT_LEG_PAIRMUL(A, B) + (C0); \
(C0) = (Leg)_cp; \
_cp = (_cp >> CAT_LEG_BITS) + (C1); \
(C1) = (Leg)_cp; \
(C2) = (Leg)(_cp >> CAT_LEG_BITS); \
}
Definition at line 159 of file Legs.hpp.
| #define CAT_LEG_COMBA3 |
( |
|
A, |
|
|
|
B, |
|
|
|
C0, |
|
|
|
C1, |
|
|
|
C2 |
|
) |
| |
Value:{ \
LegPair _cp = CAT_LEG_PAIRMUL(A, B) + (C0); \
(C0) = (Leg)_cp; \
_cp = (_cp >> CAT_LEG_BITS) + (C1); \
(C1) = (Leg)_cp; \
(C2) += (Leg)(_cp >> CAT_LEG_BITS); \
}
Definition at line 169 of file Legs.hpp.
| #define CAT_LEG_DIV |
( |
|
A_hi, |
|
|
|
A_lo, |
|
|
|
B, |
|
|
|
Q_hi, |
|
|
|
Q_lo |
|
) |
| |
Value:{ \
LegPair _A = ((LegPair)(A_hi) << CAT_LEG_BITS) | (Leg)(A_lo); \
LegPair _qt = (LegPair)(_A / (B)); \
(Q_hi) = (Leg)(_qt >> CAT_LEG_BITS); \
(Q_lo) = (Leg)_qt; \
}
Definition at line 179 of file Legs.hpp.
| #define CAT_LEG_MUL |
( |
|
A, |
|
|
|
B, |
|
|
|
p_hi, |
|
|
|
p_lo |
|
) |
| |
Value:{ \
LegPair _mt = CAT_LEG_PAIRMUL(A, B); \
(p_lo) = (Leg)_mt; \
(p_hi) = (Leg)(_mt >> CAT_LEG_BITS); \
}
Definition at line 135 of file Legs.hpp.
| #define CAT_LEG_MULADD |
( |
|
A, |
|
|
|
B, |
|
|
|
C, |
|
|
|
p_hi, |
|
|
|
p_lo |
|
) |
| |
Value:{ \
LegPair _mt = CAT_LEG_PAIRMUL(A, B) + (Leg)(C); \
(p_lo) = (Leg)_mt; \
(p_hi) = (Leg)(_mt >> CAT_LEG_BITS); \
}
Definition at line 143 of file Legs.hpp.
| #define CAT_LEG_MULADD2 |
( |
|
A, |
|
|
|
B, |
|
|
|
C, |
|
|
|
D, |
|
|
|
p_hi, |
|
|
|
p_lo |
|
) |
| |
Value:{ \
LegPair _mt = CAT_LEG_PAIRMUL(A, B) + (Leg)(C) + (Leg)(D); \
(p_lo) = (Leg)_mt; \
(p_hi) = (Leg)(_mt >> CAT_LEG_BITS); \
}
Definition at line 151 of file Legs.hpp.