@@ -121,9 +121,11 @@ GPUdii() void GPUTPCCompressionKernels::Thread<GPUTPCCompressionKernels::step0at
121121 uint8_t sigmapad = orgCl.sigmaPadPacked , sigmatime = orgCl.sigmaTimePacked ;
122122 if (param.rec .tpc .compressionTypeMask & GPUSettings::CompressionTruncate) {
123123 compressor.truncateSignificantBitsChargeMax (qmax, param);
124- compressor.truncateSignificantBitsCharge (qtot, param);
125124 compressor.truncateSignificantBitsWidth (sigmapad, param);
126- compressor.truncateSignificantBitsWidth (sigmatime, param);
125+ if (!orgCl.isSaturated ()) {
126+ compressor.truncateSignificantBitsCharge (qtot, param);
127+ compressor.truncateSignificantBitsWidth (sigmatime, param);
128+ }
127129 }
128130 c.qTotA [cidx] = qtot;
129131 c.qMaxA [cidx] = qmax;
@@ -298,9 +300,11 @@ GPUdii() void GPUTPCCompressionKernels::Thread<GPUTPCCompressionKernels::step1un
298300 uint8_t sigmapad = orgCl.sigmaPadPacked , sigmatime = orgCl.sigmaTimePacked ;
299301 if (param.rec .tpc .compressionTypeMask & GPUSettings::CompressionTruncate) {
300302 compressor.truncateSignificantBitsChargeMax (qmax, param);
301- compressor.truncateSignificantBitsCharge (qtot, param);
302303 compressor.truncateSignificantBitsWidth (sigmapad, param);
303- compressor.truncateSignificantBitsWidth (sigmatime, param);
304+ if (!orgCl.isSaturated ()) {
305+ compressor.truncateSignificantBitsCharge (qtot, param);
306+ compressor.truncateSignificantBitsWidth (sigmatime, param);
307+ }
304308 }
305309 c.qTotU [outidx] = qtot;
306310 c.qMaxU [outidx] = qmax;
0 commit comments