From 3a74fec62f84b206bfe7828b66ca7537ac0c7e92 Mon Sep 17 00:00:00 2001 From: Guido Cossu Date: Fri, 9 Dec 2016 02:29:12 +0000 Subject: [PATCH] Output reports max number of digits --- lib/Bitwise.h | 1 + lib/lattice/Lattice_reduction.h | 3 ++- lib/simd/Grid_vector_types.h | 7 +++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/Bitwise.h b/lib/Bitwise.h index 9dca2171..1b559b13 100644 --- a/lib/Bitwise.h +++ b/lib/Bitwise.h @@ -30,6 +30,7 @@ directory #define GRID_BITWISE_H #include +#include #include #include #include diff --git a/lib/lattice/Lattice_reduction.h b/lib/lattice/Lattice_reduction.h index 5afa985a..ae992623 100644 --- a/lib/lattice/Lattice_reduction.h +++ b/lib/lattice/Lattice_reduction.h @@ -120,13 +120,14 @@ class ReproducibilityState { bitwise_xor(sumarray[thread], repr.th_states[repr.n_call][thread],xors); // OR all words unsigned char res = 0; + xors[0]=1; for (int w = 0; w < words; w++) res = res | xors[w]; if ( res ) { std::cout << GridLogMessage << "Reproducibility failure report" << std::endl; grid->PrintRankInfo(); std::cout << "Call: "<< repr.n_call << " Thread: " << thread << std::endl; std::cout << "Size of states: " << repr.th_states.size() << std::endl; - std::cout << std::setprecision(15) << std::scientific; + std::cout << std::setprecision(GRID_REAL_DIGITS+1) << std::scientific; std::cout << "Saved partial sum : " << repr.th_states[repr.n_call][thread] << std::endl; std::cout << "Current partial sum: " << sumarray[thread] << std::endl; std::cout << "Saved state " << std::endl; show_binaryrep(repr.th_states[repr.n_call][thread]); diff --git a/lib/simd/Grid_vector_types.h b/lib/simd/Grid_vector_types.h index 3bbc7b18..3d57173c 100644 --- a/lib/simd/Grid_vector_types.h +++ b/lib/simd/Grid_vector_types.h @@ -60,6 +60,13 @@ directory #include "Grid_neon.h" #endif +#ifdef GRID_DEFAULT_PRECISION_SINGLE +#define GRID_REAL_DIGITS FLT_DIG +#endif +#ifdef GRID_DEFAULT_PRECISION_DOUBLE +#define GRID_REAL_DIGITS DBL_DIG +#endif + namespace Grid { //////////////////////////////////////