97    for(
int n=0; n < handle->frames-1; ++n)
 
   99       size_t n_stride0 = (handle->
frames - 2 - n) * npix*handle->
depth;
 
  100       size_t n_stride =  (handle->
frames - 1 - n) * npix*handle->
depth;
 
  102       for(
int kk=0; kk< handle->
depth; ++kk)
 
  104          size_t kk_stride = kk*npix;
 
  106          int16_t * rb0 = &rb[n_stride0 + kk_stride];
 
  107          int16_t * rb1 = &rb[n_stride + kk_stride];
 
  110          #pragma omp parallel if (handle->omp_parallel > 0) 
  118          for(
int qq=0; qq < npix; ++qq)
 
  120             rb1[qq] = (rb1[qq] - rb0[qq]);
 
  136    int32_t * rb = (int32_t *) handle->
raw_buffer;
 
  138    for(
int n=0; n < handle->frames-1; ++n)
 
  140       size_t n_stride0 = (handle->
frames - 2 - n) * npix*handle->
depth;
 
  141       size_t n_stride =  (handle->
frames - 1 - n) * npix*handle->
depth;
 
  143       for(
int kk=0; kk< handle->
depth; ++kk)
 
  145          size_t kk_stride = kk*npix;
 
  147          int32_t * rb0 = &rb[n_stride0 + kk_stride];
 
  148          int32_t * rb1 = &rb[n_stride + kk_stride];
 
  151          #pragma omp parallel if (handle->omp_parallel > 0) 
  159          for(
int qq=0; qq < npix; ++qq)
 
  161             rb1[qq] = (rb1[qq] - rb0[qq]);
 
  177    int64_t * rb = (int64_t *) handle->
raw_buffer;
 
  179    for(
int n=0; n < handle->frames-1; ++n)
 
  181       size_t n_stride0 = (handle->
frames - 2 - n) * npix*handle->
depth;
 
  182       size_t n_stride =  (handle->
frames - 1 - n) * npix*handle->
depth;
 
  184       for(
int kk=0; kk< handle->
depth; ++kk)
 
  186          size_t kk_stride = kk*npix;
 
  188          int64_t * rb0 = &rb[n_stride0 + kk_stride];
 
  189          int64_t * rb1 = &rb[n_stride + kk_stride];
 
  192          #pragma omp parallel if (handle->omp_parallel > 0) 
  200          for(
int qq=0; qq< npix;++qq)
 
  202             rb1[qq] = (rb1[qq] - rb0[qq]);
 
  232       XRIF_ERROR_PRINT(
"xrif_difference_previous", 
"raw buffer size not sufficient");
 
  238       return xrif_difference_previous_sint16(handle);
 
  242       return xrif_difference_previous_sint32(handle);
 
  246       return xrif_difference_previous_sint64(handle);
 
  250       XRIF_ERROR_PRINT(
"xrif_difference_previous", 
"previous differencing not implemented for type");
 
  263    int16_t * rb = (int16_t *) handle->
raw_buffer;
 
  265    for(
int n=1; n < handle->frames; ++n)
 
  267       size_t n_stride0 = (n-1) * npix*handle->
depth;
 
  268       size_t n_stride =  n * npix*handle->
depth;
 
  270       for(
int kk=0; kk<handle->depth; ++kk)
 
  272          size_t kk_stride = kk*npix;
 
  274          int16_t * rb0 = &rb[n_stride0 + kk_stride];
 
  275          int16_t * rb1 = &rb[n_stride + kk_stride];
 
  278          #pragma omp parallel if (handle->omp_parallel > 0) 
  286          for(
int qq=0; qq< handle->
width*handle->
height; ++qq)
 
  288             rb1[qq] = rb1[qq] + rb0[qq];
 
  304    int32_t * rb = (int32_t *) handle->
raw_buffer;
 
  306    for(
int n=1; n < handle->frames; ++n)
 
  308       size_t n_stride0 = (n-1) * npix*handle->
depth;
 
  309       size_t n_stride =  n * npix*handle->
depth;
 
  311       for(
int kk=0; kk<handle->depth; ++kk)
 
  313          size_t kk_stride = kk*npix;
 
  315          int32_t * rb0 = &rb[n_stride0 + kk_stride];
 
  316          int32_t * rb1 = &rb[n_stride + kk_stride];
 
  319          #pragma omp parallel if (handle->omp_parallel > 0) 
  327          for(
int qq=0; qq< handle->
width*handle->
height; ++qq)
 
  329             rb1[qq] = rb1[qq] + rb0[qq];
 
  345    int64_t * rb = (int64_t *) handle->
raw_buffer;
 
  347    for(
int n=1; n < handle->frames; ++n)
 
  349       size_t n_stride0 = (n-1) * npix*handle->
depth;
 
  350       size_t n_stride =  n * npix*handle->
depth;
 
  352       for(
int kk=0; kk<handle->depth; ++kk)
 
  354          size_t kk_stride = kk*npix;
 
  356          int64_t * rb0 = &rb[n_stride0 + kk_stride];
 
  357          int64_t * rb1 = &rb[n_stride + kk_stride];
 
  360          #pragma omp parallel if (handle->omp_parallel > 0) 
  368          for(
int qq=0; qq< npix; ++qq)
 
  370             rb1[qq] = rb1[qq] + rb0[qq];
 
  388       XRIF_ERROR_PRINT(
"xrif_undifference_previous", 
"can not use a null pointer");
 
  400       XRIF_ERROR_PRINT(
"xrif_undifference_previous", 
"raw buffer size not sufficient");
 
  406       return xrif_undifference_previous_sint16(handle);
 
  410       return xrif_undifference_previous_sint32(handle);
 
  414       return xrif_undifference_previous_sint64(handle);
 
  418       XRIF_ERROR_PRINT(
"xrif_difference_previous", 
"previous undifferencing not implemented for type");