@@ -20,7 +20,7 @@ namespace paddle {
2020template <>
2121void CrossMapNormal<DEVICE_TYPE_CPU>(real* outputs,
2222 real* denoms,
23- real* inputs,
23+ const real* inputs,
2424 size_t numSamples,
2525 size_t channels,
2626 size_t height,
@@ -32,7 +32,7 @@ void CrossMapNormal<DEVICE_TYPE_CPU>(real* outputs,
3232 size_t oneSample = channels * oneImage;
3333
3434 CpuVector outputsV (numSamples * oneSample, outputs);
35- CpuVector inputsV (numSamples * oneSample, inputs);
35+ CpuVector inputsV (numSamples * oneSample, const_cast <real*>( inputs) );
3636 CpuVector denomsV (numSamples * oneSample, denoms);
3737
3838 // f(x) = x * ( 1 + scale * SUM((x)^2) )^(-pow)
@@ -44,7 +44,7 @@ void CrossMapNormal<DEVICE_TYPE_CPU>(real* outputs,
4444 const int end = (int )size + start;
4545 for (size_t i = 0 ; i < numSamples; i++) {
4646 real* oneDenom = denoms + i * oneSample;
47- real* oneInput = inputs + i * oneSample;
47+ real* oneInput = const_cast <real*>( inputs) + i * oneSample;
4848 for (int c = 0 ; c < (int )channels; c++) {
4949 CpuVector denom (oneImage, oneDenom + c * oneImage);
5050 for (int s = start; s < end; s++) {
@@ -61,10 +61,10 @@ void CrossMapNormal<DEVICE_TYPE_CPU>(real* outputs,
6161
6262template <>
6363void CrossMapNormalGrad<DEVICE_TYPE_CPU>(real* inputsGrad,
64- real* inputsValue,
65- real* outputsValue,
66- real* outputsGrad,
67- real* denoms,
64+ const real* inputsValue,
65+ const real* outputsValue,
66+ const real* outputsGrad,
67+ const real* denoms,
6868 size_t numSamples,
6969 size_t channels,
7070 size_t height,
@@ -84,10 +84,10 @@ void CrossMapNormalGrad<DEVICE_TYPE_CPU>(real* inputsGrad,
8484 for (size_t i = 0 ; i < numSamples; i++) {
8585 size_t sOffset = i * oneSample;
8686 real* oneInputGrad = inputsGrad + sOffset ;
87- real* oneInputValue = inputsValue + sOffset ;
88- real* oneDenom = denoms + sOffset ;
89- real* oneOutputGrad = outputsGrad + sOffset ;
90- real* oneOutputValue = outputsValue + sOffset ;
87+ real* oneInputValue = const_cast <real*>( inputsValue) + sOffset ;
88+ real* oneDenom = const_cast <real*>( denoms) + sOffset ;
89+ real* oneOutputGrad = const_cast <real*>( outputsGrad) + sOffset ;
90+ real* oneOutputValue = const_cast <real*>( outputsValue) + sOffset ;
9191
9292 for (int c = 0 ; c < (int )channels; c++) {
9393 size_t cOffset = c * height * width;
0 commit comments