http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57110



             Bug #: 57110

           Summary: is the use of "uint_fast32_t" in <random> intentional?

    Classification: Unclassified

           Product: gcc

           Version: 4.9.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: libstdc++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: vincenzo.innoce...@cern.ch





Trying to understand differences for the mersenne_twister_engine between Linux

and MacOS (both x86_64) I discovered that on Linux uint_fast32_t is 64 bits

while on Mac is 32



this makes

typedef mersenne_twister_engine<

   uint_fast32_t,

   32, 624, 397, 31,

   0x9908b0dfUL, 11,

   0xffffffffUL, 7,

   0x9d2c5680UL, 15,

   0xefc60000UL, 18, 1812433253UL> mt19937;



different on the two systems.

in particular

_UIntType   _M_x[state_size];

is a vector of ULL on linux and of UI on Mac



is this really intentional?



btw bits/random.h is the only place where uint_fast32_t is actually used in the

whole libstdc++

Reply via email to