aboutsummaryrefslogtreecommitdiff
path: root/src/nuc_eos_cxx/readtable.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/nuc_eos_cxx/readtable.cc')
-rw-r--r--src/nuc_eos_cxx/readtable.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/nuc_eos_cxx/readtable.cc b/src/nuc_eos_cxx/readtable.cc
index 9798fd3..9c21ea7 100644
--- a/src/nuc_eos_cxx/readtable.cc
+++ b/src/nuc_eos_cxx/readtable.cc
@@ -194,11 +194,15 @@ void nuc_eos_C_ReadTable(char* nuceos_table_name)
// pressure
energy_shift = energy_shift * EPSGF;
for(int i=0;i<nrho;i++) {
- logrho[i] = log(pow(10.0,logrho[i]) * RHOGF);
+ // rewrite:
+ //logrho[i] = log(pow(10.0,logrho[i]) * RHOGF);
+ // by using log(a^b*c) = b*log(a)+log(c)
+ logrho[i] = logrho[i] * log(10.) + log(RHOGF);
}
for(int i=0;i<ntemp;i++) {
- logtemp[i] = log(pow(10.0,logtemp[i]));
+ //logtemp[i] = log(pow(10.0,logtemp[i]));
+ logtemp[i] = logtemp[i]*log(10.0);
}
// allocate epstable; a linear-scale eps table
@@ -214,12 +218,12 @@ void nuc_eos_C_ReadTable(char* nuceos_table_name)
{ // pressure
int idx = 0 + NTABLES*i;
- alltables[idx] = log(pow(10.0,alltables[idx])*PRESSGF);
+ alltables[idx] = alltables[idx] * log(10.0) + log(PRESSGF);
}
{ // eps
int idx = 1 + NTABLES*i;
- alltables[idx] = log(pow(10.0,alltables[idx])*EPSGF);
+ alltables[idx] = alltables[idx] * log(10.0) + log(EPSGF);
epstable[i] = exp(alltables[idx]);
}