66 #define G4Log std::log
104 const G4double PX1log = 1.01875663804580931796E-4;
105 const G4double PX2log = 4.97494994976747001425E-1;
106 const G4double PX3log = 4.70579119878881725854E0;
107 const G4double PX4log = 1.44989225341610930846E1;
108 const G4double PX5log = 1.79368678507819816313E1;
109 const G4double PX6log = 7.70838733755885391666E0;
127 const G4double QX1log = 1.12873587189167450590E1;
128 const G4double QX2log = 4.52279145837532221105E1;
129 const G4double QX3log = 8.29875266912776603211E1;
130 const G4double QX4log = 7.11544750618563894466E1;
131 const G4double QX5log = 2.31251620126765340583E1;
194 uint64_t
le = (n >> 52);
201 n &=0x800FFFFFFFFFFFFFULL;
204 const uint64_t p05 = 0x3FE0000000000000ULL;
215 int32_t
e = (n >> 23)-127;
219 const uint32_t p05f = 0x3f000000;
253 res -= fe * 2.121944400546905827679e-4;
257 res += fe * 0.693359375;
260 res = std::numeric_limits<G4double>::infinity();
262 res = - std::numeric_limits<G4double>::quiet_NaN();
269 namespace G4LogConsts
325 res += -2.12194440e-4
f *
fe;
330 res += 0.693359375f *
fe;
333 res = std::numeric_limits<G4float>::infinity();
335 res = -std::numeric_limits<G4float>::quiet_NaN();
342 void logv(
const uint32_t size,
G4double const * __restrict__ iarray,
G4double* __restrict__ oarray);
344 void logfv(
const uint32_t size,
G4float const * __restrict__ iarray,
G4float* __restrict__ oarray);
345 void G4Logfv(
const uint32_t size,
G4float const * __restrict__ iarray,
G4float* __restrict__ oarray);