diff --git a/atintegrators/BeamLoadingCavityPass.c b/atintegrators/BeamLoadingCavityPass.c index 6549d4dc3..4c95aabae 100644 --- a/atintegrators/BeamLoadingCavityPass.c +++ b/atintegrators/BeamLoadingCavityPass.c @@ -43,7 +43,7 @@ struct elem void write_buffer(double *data, double *buffer, int datasize, int buffersize){ if(buffersize>1){ - memmove(buffer, buffer + datasize, datasize*buffersize*sizeof(double)); + memmove(buffer, buffer + datasize, datasize*(buffersize-1)*sizeof(double)); } memcpy(buffer + datasize*(buffersize-1), data, datasize*sizeof(double)); } diff --git a/atintegrators/atimplib.c b/atintegrators/atimplib.c index 224f2c0ec..4a28fa832 100644 --- a/atintegrators/atimplib.c +++ b/atintegrators/atimplib.c @@ -38,23 +38,35 @@ static double getTableWake(double *waketable,double *waketableT,double distance, }; static void rotate_table_history(long nturns,long nslice,double *turnhistory,double circumference){ - int i; - if(nturns > 1){ - memmove(turnhistory, turnhistory + nslice, 4*nslice*nturns*sizeof(double)); - double *z = turnhistory+nslice*nturns*2; - for(i=0; i