diff --git a/psrdada_cpp/effelsberg/edd/detail/GatedSpectrometer.cu b/psrdada_cpp/effelsberg/edd/detail/GatedSpectrometer.cu index 96480e6b7f8f26b0a1ab949cc6b862deeab0025f..03cee1d7fd00d503f414aa7db572285f8b5f94fe 100644 --- a/psrdada_cpp/effelsberg/edd/detail/GatedSpectrometer.cu +++ b/psrdada_cpp/effelsberg/edd/detail/GatedSpectrometer.cu @@ -389,7 +389,7 @@ void GatedSpectrometer<HandlerType, InputType, OutputType>::process(SinglePolari const int heaps_per_output_spectra = inputDataStream->_sideChannelData_h.size() / _naccumulate / _nBlocks; for (int j = output_block_number * heaps_per_output_spectra ; j < (output_block_number+1) * heaps_per_output_spectra * _dadaBufferLayout.getNSideChannels(); j+=_dadaBufferLayout.getNSideChannels()) { - if (TEST_BIT(inputDataStream->_sideChannelData_h.a().data()[j], 42)) + if (TEST_BIT(inputDataStream->_sideChannelData_h.a().data()[j], 3)) { // heap was lost continue; } @@ -454,7 +454,7 @@ void GatedSpectrometer<HandlerType, InputType, OutputType>::process(DualPolariza const int heaps_per_output_spectra = inputDataStream->polarization0._sideChannelData_h.size() / _naccumulate / _nBlocks; for (int j = output_block_number * heaps_per_output_spectra ; j < (output_block_number+1) * heaps_per_output_spectra * _dadaBufferLayout.getNSideChannels(); j+=_dadaBufferLayout.getNSideChannels()) { - if (TEST_BIT(inputDataStream->polarization0._sideChannelData_h.a().data()[j], 42) || TEST_BIT(inputDataStream->polarization1._sideChannelData_h.a().data()[j], 42)) + if (TEST_BIT(inputDataStream->polarization0._sideChannelData_h.a().data()[j], 3) || TEST_BIT(inputDataStream->polarization1._sideChannelData_h.a().data()[j], 3)) { lostHeaps++; // thiss heap was lost, do not count diff --git a/psrdada_cpp/effelsberg/edd/src/GatedSpectrometer.cu b/psrdada_cpp/effelsberg/edd/src/GatedSpectrometer.cu index d593300669cc48419b2f1c5dbe05203876e10a71..52b770fd63de7b9cc03d2cf76e8c10366614e78c 100644 --- a/psrdada_cpp/effelsberg/edd/src/GatedSpectrometer.cu +++ b/psrdada_cpp/effelsberg/edd/src/GatedSpectrometer.cu @@ -49,7 +49,7 @@ __global__ void gating(float* __restrict__ G0, selectedSideChannel]; const unsigned int bit_set = TEST_BIT(sideChannelItem, bitpos); - const unsigned int heap_lost = TEST_BIT(sideChannelItem, 63); + const unsigned int heap_lost = TEST_BIT(sideChannelItem, 3); G1[i] = (v - baseLineG1) * bit_set * (!heap_lost) + baseLineG1; G0[i] = (v - baseLineG0) * (!bit_set) *(!heap_lost) + baseLineG0; diff --git a/psrdada_cpp/effelsberg/edd/test/src/GatedSpectrometerTest.cu b/psrdada_cpp/effelsberg/edd/test/src/GatedSpectrometerTest.cu index 9a42371adecfcd1b7fe1bcbf9b1dd373437f6184..78df9f86278436b5093d40d4ae50224615108447 100644 --- a/psrdada_cpp/effelsberg/edd/test/src/GatedSpectrometerTest.cu +++ b/psrdada_cpp/effelsberg/edd/test/src/GatedSpectrometerTest.cu @@ -383,12 +383,12 @@ class GatedTestSinkFullStokes{ for(int i =0; i <4; i++) { uint64_t *S = reinterpret_cast<uint64_t*>(buf.ptr() + 8 *nchans * 32 /8 + i * 2 *sizeof(size_t)); - EXPECT_EQ(S[0], nHeaps * 4096); // expect samples from two polarizations - EXPECT_EQ(S[2], nHeaps * 4096); + EXPECT_EQ(S[0], nHeaps * 4096) << "S" << i; // expect samples from two polarizations + EXPECT_EQ(S[2], nHeaps * 4096) << "S" << i; // Correct number of overflowed samples - EXPECT_EQ(S[1], 27 + 7); - EXPECT_EQ(S[3], 23 + 3); // First heap has 23 and bit set, thus G1 + EXPECT_EQ(S[1], 27 + 7) << "S" << i;; + EXPECT_EQ(S[3], 23 + 3) << "S" << i;; // First heap has 23 and bit set, thus G1 } call_count ++; @@ -435,10 +435,10 @@ TEST(GatedSpectrometer, processingFullStokes) uint64_t* sc_items = reinterpret_cast<uint64_t*>(raw_buffer + 2*nHeaps * 4096); for (int i = 0; i < 2 * nHeaps; i+=4) { - sc_items[i] = 0; - sc_items[i+1] = 0; - sc_items[i+2] = 0; - sc_items[i+3] = 0; + sc_items[i] = 0L; + sc_items[i+1] = 0L; + sc_items[i+2] = 0L; + sc_items[i+3] = 0L; SET_BIT(sc_items[i], 0); SET_BIT(sc_items[i + 1], 0); }