47 #ifdef G4MULTITHREADED
59 static G4Pow geant4pow;
68 : onethird(1.0/3.0), max2(5)
70 #ifdef G4MULTITHREADED
74 "Attempt to instantiate G4Pow in worker thread!");
77 const G4int maxZ = 512;
78 const G4int maxZfact = 170;
87 pz13.resize(maxZ,0.0);
89 fexp.resize(maxZfact,0.0);
90 fact.resize(maxZfact,0.0);
105 for(
G4int i=1; i<maxZ; ++i)
130 if(0.0 == x) {
return 0.0; }
131 if(std::abs(n) > 8) {
return std::pow(x,
G4double(n)); }
133 if(n >= 0) {
for(
G4int i=0; i<
n; ++i) { res *= x; } }
138 for(
G4int i=0; i<
nn; ++i) { res *= y; }
static G4Pow * GetInstance()
G4double powN(G4double x, G4int n) const
static G4Pow * fpInstance
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.