58 static G4Pow geant4pow;
67 : onethird(1.0/3.0), max2(5)
69 #ifdef G4MULTITHREADED
73 "Attempt to instantiate G4Pow in worker thread!");
77 const G4int maxZfact = 170;
78 const G4int numLowA = 17;
88 pz13.resize(maxZ,0.0);
89 lowa13.resize(numLowA,0.0);
91 fexp.resize(maxZfact,0.0);
92 fact.resize(maxZfact,0.0);
122 for (
G4int i=4; i<numLowA; ++i) {
138 const bool invert = (A<1.);
152 res =
pz13[i]*(1.+x-x*x*(1.-1.666667*
x));
156 res = invert ? 1./res : res;
164 const G4int i =
static_cast<G4int>(4.*(a+0.125));
167 res =
lowa13[i]*(1.+x-x*x*(1.-1.666667*
x));
168 res = invert ? 1./res : res;
176 if(0.0 == x) {
return 0.0; }
179 if(n >= 0) {
for(
G4int i=0; i<
n; ++i) { res *=
x; } }
184 for(
G4int i=0; i<
nn; ++i) { res *=
y; }