diff options
author | schnetter <schnetter@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2005-12-11 18:49:18 +0000 |
---|---|---|
committer | schnetter <schnetter@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2005-12-11 18:49:18 +0000 |
commit | d2581020e698490172cee2cdea2e2deb43bf9251 (patch) | |
tree | ab108f3656d349d0682026abbbd16ca4a6d3532b /src/RK3.c | |
parent | 7914bcb41d96ee8ab0213c91ebb763a6f3562fb0 (diff) |
Add const and restrict qualifiers to the pointers.
Simplify some complex arithmetic.
Initialise the error variable in the RK45 integrator only after the
last iteration.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@104 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
Diffstat (limited to 'src/RK3.c')
-rw-r--r-- | src/RK3.c | 42 |
1 files changed, 20 insertions, 22 deletions
@@ -73,23 +73,21 @@ void MoL_RK3Add(CCTK_ARGUMENTS) CCTK_INT index, var; CCTK_INT totalsize; - CCTK_REAL *OldVar; - CCTK_REAL *UpdateVar; - CCTK_REAL *RHSVar; + CCTK_REAL const * restrict OldVar; + CCTK_REAL * restrict UpdateVar; + CCTK_REAL const * restrict RHSVar; /* FIXME */ #ifdef MOLDOESCOMPLEX - CCTK_COMPLEX *OldComplexVar; - CCTK_COMPLEX *UpdateComplexVar; - CCTK_COMPLEX *RHSComplexVar; + CCTK_COMPLEX const * restrict OldComplexVar; + CCTK_COMPLEX * restrict UpdateComplexVar; + CCTK_COMPLEX const * restrict RHSComplexVar; CCTK_COMPLEX Complex_Delta_Time = CCTK_Cmplx(CCTK_DELTA_TIME, 0); CCTK_COMPLEX Complex_Half = CCTK_Cmplx(0.5, 0); - CCTK_COMPLEX Complex_Third = CCTK_CmplxDiv(CCTK_Cmplx(1.0, 0), - CCTK_Cmplx(3.0,0)); - CCTK_COMPLEX Complex_TwoThird = CCTK_CmplxDiv(CCTK_Cmplx(2.0, 0), - CCTK_Cmplx(3.0,0)); + CCTK_COMPLEX Complex_Third = CCTK_Cmplx(1.0/3.0, 0); + CCTK_COMPLEX Complex_TwoThird = CCTK_Cmplx(2.0/3.0, 0); CCTK_COMPLEX Complex_Quarter = CCTK_Cmplx(0.25, 0); CCTK_COMPLEX Complex_ThreeQuarter = CCTK_Cmplx(0.75, 0); @@ -185,11 +183,11 @@ void MoL_RK3Add(CCTK_ARGUMENTS) { for (var = 0; var < MoLNumEvolvedVariables; var++) { - OldVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 1, + OldVar = (CCTK_REAL const*)CCTK_VarDataPtrI(cctkGH, 1, EvolvedVariableIndex[var]); UpdateVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, EvolvedVariableIndex[var]); - RHSVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, + RHSVar = (CCTK_REAL const*)CCTK_VarDataPtrI(cctkGH, 0, RHSVariableIndex[var]); for (index = 0; index < totalsize; index++) @@ -202,11 +200,11 @@ void MoL_RK3Add(CCTK_ARGUMENTS) for (var = 0; var < MoLNumEvolvedArrayVariables; var++) { - OldVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 1, + OldVar = (CCTK_REAL const*)CCTK_VarDataPtrI(cctkGH, 1, EvolvedArrayVariableIndex[var]); UpdateVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, EvolvedArrayVariableIndex[var]); - RHSVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, + RHSVar = (CCTK_REAL const*)CCTK_VarDataPtrI(cctkGH, 0, RHSArrayVariableIndex[var]); groupindex = CCTK_GroupIndexFromVarI(EvolvedArrayVariableIndex[var]); ierr = CCTK_GroupDynamicData(cctkGH, groupindex, @@ -237,11 +235,11 @@ void MoL_RK3Add(CCTK_ARGUMENTS) for (var = 0; var < MoLNumEvolvedComplexVariables; var++) { - OldComplexVar = (CCTK_COMPLEX*)CCTK_VarDataPtrI(cctkGH, 1, + OldComplexVar = (CCTK_COMPLEX const*)CCTK_VarDataPtrI(cctkGH, 1, EvolvedComplexVariableIndex[var]); UpdateComplexVar = (CCTK_COMPLEX*)CCTK_VarDataPtrI(cctkGH, 0, EvolvedComplexVariableIndex[var]); - RHSComplexVar = (CCTK_COMPLEX*)CCTK_VarDataPtrI(cctkGH, 0, + RHSComplexVar = (CCTK_COMPLEX const*)CCTK_VarDataPtrI(cctkGH, 0, RHSComplexVariableIndex[var]); for (index = 0; index < totalsize; index++) @@ -266,11 +264,11 @@ void MoL_RK3Add(CCTK_ARGUMENTS) for (var = 0; var < MoLNumEvolvedVariables; var++) { - OldVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 1, + OldVar = (CCTK_REAL const*)CCTK_VarDataPtrI(cctkGH, 1, EvolvedVariableIndex[var]); UpdateVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, EvolvedVariableIndex[var]); - RHSVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, + RHSVar = (CCTK_REAL const*)CCTK_VarDataPtrI(cctkGH, 0, RHSVariableIndex[var]); for (index = 0; index < totalsize; index++) @@ -282,11 +280,11 @@ void MoL_RK3Add(CCTK_ARGUMENTS) for (var = 0; var < MoLNumEvolvedArrayVariables; var++) { - OldVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 1, + OldVar = (CCTK_REAL const*)CCTK_VarDataPtrI(cctkGH, 1, EvolvedArrayVariableIndex[var]); UpdateVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, EvolvedArrayVariableIndex[var]); - RHSVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, + RHSVar = (CCTK_REAL const*)CCTK_VarDataPtrI(cctkGH, 0, RHSArrayVariableIndex[var]); groupindex = CCTK_GroupIndexFromVarI(EvolvedArrayVariableIndex[var]); @@ -318,11 +316,11 @@ void MoL_RK3Add(CCTK_ARGUMENTS) for (var = 0; var < MoLNumEvolvedComplexVariables; var++) { - OldComplexVar = (CCTK_COMPLEX*)CCTK_VarDataPtrI(cctkGH, 1, + OldComplexVar = (CCTK_COMPLEX const*)CCTK_VarDataPtrI(cctkGH, 1, EvolvedComplexVariableIndex[var]); UpdateComplexVar = (CCTK_COMPLEX*)CCTK_VarDataPtrI(cctkGH, 0, EvolvedComplexVariableIndex[var]); - RHSComplexVar = (CCTK_COMPLEX*)CCTK_VarDataPtrI(cctkGH, 0, + RHSComplexVar = (CCTK_COMPLEX const*)CCTK_VarDataPtrI(cctkGH, 0, RHSComplexVariableIndex[var]); for (index = 0; index < totalsize; index++) |