Changeset 6a823241


Ignore:
Timestamp:
Feb 11, 2022, 8:33:38 AM (2 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, enum, forall-pointer-decay, master, pthread-emulation, qualifiedEnum
Children:
5910fc0
Parents:
454b4e0
Message:

formatting, fix bug in set_seed so global_random_state is set

Location:
libcfa/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/stdlib.cfa

    r454b4e0 r6a823241  
    1010// Created On       : Thu Jan 28 17:10:29 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jan 15 14:33:21 2022
    13 // Update Count     : 595
     12// Last Modified On : Thu Feb 10 22:41:39 2022
     13// Update Count     : 602
    1414//
    1515
     
    230230void set_seed( PRNG & prng, uint32_t seed_ ) with( prng ) { state = seed = seed_; GENERATOR( state ); } // set seed
    231231
    232 void set_seed( uint32_t seed ) { __global_random_seed = seed; GENERATOR( __global_random_state ); }
     232void set_seed( uint32_t seed ) { __global_random_state = __global_random_seed = seed; GENERATOR( __global_random_state ); }
    233233uint32_t get_seed() { return __global_random_seed; }
    234234uint32_t prng( void ) { return GENERATOR( __global_random_state ); } // [0,UINT_MAX]
  • libcfa/src/stdlib.hfa

    r454b4e0 r6a823241  
    1010// Created On       : Thu Jan 28 17:12:35 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jan 15 09:57:28 2022
    13 // Update Count     : 640
     12// Last Modified On : Thu Feb 10 18:34:58 2022
     13// Update Count     : 641
    1414//
    1515
     
    412412void set_seed( PRNG & prng, uint32_t seed_ );
    413413static inline {
    414         uint32_t prng( PRNG & prng ) __attribute__(( warn_unused_result )) with( prng ) { callcnt += 1; return LCG( state ); } // [0,UINT_MAX]
    415414        void ?{}( PRNG & prng ) { set_seed( prng, rdtscl() ); } // random seed
    416415        void ?{}( PRNG & prng, uint32_t seed ) { set_seed( prng, seed ); } // fixed seed
    417416        uint32_t get_seed( PRNG & prng ) __attribute__(( warn_unused_result )) with( prng ) { return seed; } // get seed
     417        uint32_t prng( PRNG & prng ) __attribute__(( warn_unused_result )) with( prng ) { callcnt += 1; return LCG( state ); } // [0,UINT_MAX]
    418418        uint32_t prng( PRNG & prng, uint32_t u ) __attribute__(( warn_unused_result )) { return prng( prng ) % u; } // [0,u)
    419419        uint32_t prng( PRNG & prng, uint32_t l, uint32_t u ) __attribute__(( warn_unused_result )) { return prng( prng, u - l + 1 ) + l; } // [l,u]
Note: See TracChangeset for help on using the changeset viewer.