diff options
author | hawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2004-01-16 10:27:32 +0000 |
---|---|---|
committer | hawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2004-01-16 10:27:32 +0000 |
commit | 4619968ab7a6ffd58c400c50c1fac75429273f1b (patch) | |
tree | 8d948b6f9d78110cfa7decbaeeb754549c6486d5 /src | |
parent | 6171a8725fe79eb4935afbdcc66cef107878ff31 (diff) |
Nasty bugs in the save and restore variables.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@47 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
Diffstat (limited to 'src')
-rw-r--r-- | src/InitialCopy.c | 2 | ||||
-rw-r--r-- | src/SandR.c | 19 |
2 files changed, 13 insertions, 8 deletions
diff --git a/src/InitialCopy.c b/src/InitialCopy.c index dac38b4..89c67ae 100644 --- a/src/InitialCopy.c +++ b/src/InitialCopy.c @@ -232,7 +232,7 @@ void MoL_InitialCopy(CCTK_ARGUMENTS) ScratchVar = &SandRScratchSpace[var*totalsize]; */ ScratchVar = CCTK_VarDataPtrI(cctkGH, 0, - CCTK_FirstVarIndex("MOL::SCRATCHSPACE") + CCTK_FirstVarIndex("MOL::SANDRSCRATCHSPACE") + var); #ifdef MOLDEBUG printf("Pointers for the SandR vars are to %ld, %ld and %ld.\n", diff --git a/src/SandR.c b/src/SandR.c index 969bc8c..9761d3a 100644 --- a/src/SandR.c +++ b/src/SandR.c @@ -76,14 +76,15 @@ void MoL_RestoreSandR(CCTK_ARGUMENTS) CCTK_INT /* index, */ var; CCTK_INT totalsize; - CCTK_INT vectorstart; CCTK_REAL *SandRDataArray; + CCTK_REAL *ScratchVar; /* FIXME */ #ifdef MOLDOESCOMPLEX CCTK_COMPLEX *SandRComplexDataArray; + CCTK_COMPLEX *ComplexScratchVar; #endif @@ -94,16 +95,18 @@ void MoL_RestoreSandR(CCTK_ARGUMENTS) SandRDataArray = (CCTK_REAL *)CCTK_VarDataPtrI(cctkGH, 0, SandRVariableIndex[var]); - - vectorstart = var * totalsize; + + ScratchVar = CCTK_VarDataPtrI(cctkGH, 0, + CCTK_FirstVarIndex("MOL::SANDRSCRATCHSPACE") + + var); #ifdef MOLDEBUG printf("Restore:Variable %s, first entry %g, scratch %g\n", CCTK_VarName(SandRVariableIndex[var]), SandRDataArray[0], - SandRScratchSpace[vectorstart]); + ScratchVar[0]); #endif - memcpy(SandRDataArray, &SandRScratchSpace[vectorstart], + memcpy(SandRDataArray, ScratchVar, totalsize * sizeof(CCTK_REAL)); } @@ -117,9 +120,11 @@ void MoL_RestoreSandR(CCTK_ARGUMENTS) SandRComplexDataArray = (CCTK_COMPLEX *)CCTK_VarDataPtrI(cctkGH, 0, SandRComplexVariableIndex[var]); - vectorstart = var * totalsize; + ComplexScratchVar = CCTK_VarDataPtrI(cctkGH, 0, + CCTK_FirstVarIndex("MOL::COMPLEXSANDRSCRATCHSPACE") + + var); - memcpy(SandRComplexDataArray, &ComplexSandRScratchSpace[vectorstart], + memcpy(SandRComplexDataArray, ComplexScratchVar, totalsize * sizeof(CCTK_COMPLEX)); } |