Ignore:
Timestamp:
Mar 22, 2016, 10:39:34 PM (8 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
6a57da5
Parents:
94980502
Message:

modify stdlib random to not use C library routine

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/stdlib.c

    r94980502 r0438091  
    1010// Created On       : Thu Jan 28 17:10:29 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Mar  2 17:38:47 2016
    13 // Update Count     : 143
     12// Last Modified On : Tue Mar 22 22:34:26 2016
     13// Update Count     : 145
    1414//
    1515
     
    2626#include <complex.h>                                                                    // _Complex_I, cabsf, cabs, cabsl
    2727} // extern "C"
    28 
    29 forall( otype T ) T * memset( T * ptr, unsigned char fill ) { // use default value '\0' for fill
    30         printf( "memset1\n" );
    31     return (T *)memset( ptr, (int)fill, malloc_usable_size( ptr ) );
    32 } // memset
    33 forall( otype T ) T * memset( T * ptr ) {                               // remove when default value available
    34         printf( "memset2\n" );
    35     return (T *)memset( ptr, 0, malloc_usable_size( ptr ) );
    36 } // memset
    3728
    3829forall( otype T ) T * malloc( void ) {
     
    9182} // posix_memalign
    9283
     84forall( otype T ) T * memset( T * ptr, unsigned char fill ) { // use default value '\0' for fill
     85        printf( "memset1\n" );
     86    return (T *)memset( ptr, (int)fill, malloc_usable_size( ptr ) );
     87} // memset
     88forall( otype T ) T * memset( T * ptr ) {                               // remove when default value available
     89        printf( "memset2\n" );
     90    return (T *)memset( ptr, 0, malloc_usable_size( ptr ) );
     91} // memset
     92
    9393//---------------------------------------
    9494
     
    243243//---------------------------------------
    244244
    245 void randseed( long int s ) { srand48( s ); }
    246 char random() { return lrand48(); }
    247 int random() { return mrand48(); }
    248 unsigned int random() { return lrand48(); }
    249 long int random() { return mrand48(); }
    250 unsigned long int random() { return lrand48(); }
    251 float random() { return (float)drand48(); }                             // otherwise float uses lrand48
    252 double random() { return drand48(); }
    253 float _Complex random() { return (float)drand48() + (float _Complex)(drand48() * _Complex_I); }
    254 double _Complex random() { return drand48() + (double _Complex)(drand48() * _Complex_I); }
    255 long double _Complex random() { return (long double)drand48() + (long double _Complex)(drand48() * _Complex_I); }
     245void rand48seed( long int s ) { srand48( s ); }
     246char rand48() { return lrand48(); }
     247int rand48() { return mrand48(); }
     248unsigned int rand48() { return lrand48(); }
     249long int rand48() { return mrand48(); }
     250unsigned long int rand48() { return lrand48(); }
     251float rand48() { return (float)drand48(); }                             // otherwise float uses lrand48
     252double rand48() { return drand48(); }
     253float _Complex rand48() { return (float)drand48() + (float _Complex)(drand48() * _Complex_I); }
     254double _Complex rand48() { return drand48() + (double _Complex)(drand48() * _Complex_I); }
     255long double _Complex rand48() { return (long double)drand48() + (long double _Complex)(drand48() * _Complex_I); }
    256256
    257257//---------------------------------------
Note: See TracChangeset for help on using the changeset viewer.