Changeset 37f0da8 for src/libcfa
- Timestamp:
- Apr 14, 2016, 3:23:53 PM (10 years ago)
- 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:
- 0f9e4403, 347c42f, 70a06f6
- Parents:
- 37218fc (diff), baba5d8 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- src/libcfa
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/iostream
r37218fc r37f0da8 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Apr 5 22:32:37201613 // Update Count : 9 012 // Last Modified On : Sun Apr 10 23:00:12 2016 13 // Update Count : 92 14 14 // 15 15 … … 20 20 21 21 trait ostream( dtype ostype ) { 22 _Bool sepPrt( ostype * ); 23 void sepOn( ostype * ); 24 void sepOff( ostype * ); 25 void sepReset( ostype * ); 26 void sepReset( ostype *, _Bool ); 27 void sepSet( ostype *, const char * ); 28 const char * sepGet( ostype * ); 29 _Bool sepDisable( ostype * ); 30 _Bool sepEnable( ostype * ); 22 _Bool sepPrt( ostype * ); // return separator state (on/off) 23 void sepOn( ostype * ); // turn separator state on 24 void sepOff( ostype * ); // turn separator state off 25 void sepReset( ostype * ); // set separator state to default state 26 void sepReset( ostype *, _Bool ); // set separator and default state 27 void sepSet( ostype *, const char * ); // set separator to string (15 character maximum) 28 const char * sepGet( ostype * ); // get separator string 29 _Bool sepDisable( ostype * ); // set default state to off, and return previous state 30 _Bool sepEnable( ostype * ); // set default state to on, and return previous state 31 31 32 int fail( ostype * ); 32 33 int flush( ostype * ); -
src/libcfa/rational.c
r37218fc r37f0da8 11 11 // Created On : Wed Apr 6 17:54:28 2016 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : Fri Apr 8 17:35:05201614 // Update Count : 1813 // Last Modified On : Tue Apr 12 21:26:42 2016 14 // Update Count : 21 15 15 // 16 16 … … 19 19 #include "stdlib" 20 20 21 extern "C" {22 #include <stdlib.h> // exit23 } // extern24 25 21 26 22 // constants … … 30 26 31 27 32 // helper 28 // helper routines 33 29 34 30 // Calculate greatest common denominator of two numbers, the first of which may be negative. Used to reduce rationals. 31 // alternative: https://en.wikipedia.org/wiki/Binary_GCD_algorithm 35 32 static long int gcd( long int a, long int b ) { 36 33 for ( ;; ) { // Euclid's algorithm -
src/libcfa/stdlib
r37218fc r37f0da8 10 10 // Created On : Thu Jan 28 17:12:35 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Apr 1 22:26:14201613 // Update Count : 7312 // Last Modified On : Wed Apr 13 14:45:53 2016 13 // Update Count : 85 14 14 // 15 15 … … 18 18 extern "C" { 19 19 #include <stddef.h> // size_t 20 #include <math.h> // floor21 20 } // extern "C" 22 21 22 //--------------------------------------- 23 24 extern "C" { 25 #ifndef EXIT_FAILURE 26 #define EXIT_FAILURE 1 // failing exit status 27 #define EXIT_SUCCESS 0 // successful exit status 28 #endif // ! EXIT_FAILURE 29 void exit( int rc ); 30 } // extern "C" 31 32 //--------------------------------------- 33 34 extern "C" { 35 void * malloc( size_t ); // use default C routine for void * 36 } // extern "C" 23 37 forall( otype T ) T * malloc( void ); 24 38 forall( otype T ) T * malloc( char fill ); 25 39 forall( otype T ) T * malloc( T * ptr, size_t size ); 26 40 forall( otype T ) T * malloc( T * ptr, size_t size, unsigned char fill ); 27 forall( otype T ) T * calloc( size_t size ); 41 extern "C" { 42 void * calloc( size_t nmemb, size_t size ); // use default C routine for void * 43 } // extern "C" 44 forall( otype T ) T * calloc( size_t nmemb ); 45 extern "C" { 46 void * realloc( void * ptr, size_t size ); // use default C routine for void * 47 } // extern "C" 28 48 forall( otype T ) T * realloc( T * ptr, size_t size ); 29 49 forall( otype T ) T * realloc( T * ptr, size_t size, unsigned char fill ); … … 81 101 char abs( char ); 82 102 extern "C" { 83 int abs( int ); // use default C routine for int103 int abs( int ); // use default C routine for int 84 104 } // extern "C" 85 105 long int abs( long int ); … … 96 116 float floor( float ); 97 117 extern "C" { 98 double floor( double ); // use C routine for double118 double floor( double ); // use C routine for double 99 119 } // extern "C" 100 120 long double floor( long double ); … … 102 122 float ceil( float ); 103 123 extern "C" { 104 double ceil( double ); // use C routine for double124 double ceil( double ); // use C routine for double 105 125 } // extern "C" 106 126 long double ceil( long double ); -
src/libcfa/stdlib.c
r37218fc r37f0da8 10 10 // Created On : Thu Jan 28 17:10:29 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Mar 30 10:48:41201613 // Update Count : 1 4912 // Last Modified On : Wed Apr 13 14:49:58 2016 13 // Update Count : 155 14 14 // 15 15 … … 28 28 29 29 forall( otype T ) T * malloc( void ) { 30 printf( "malloc1\n" );30 //printf( "malloc1\n" ); 31 31 return (T *)malloc( sizeof(T) ); 32 32 } // malloc 33 forall( otype T ) T * malloc( size_t size ) {34 printf( "malloc2\n" );35 return (T *)(void *)malloc( size );36 } // malloc37 33 forall( otype T ) T * malloc( char fill ) { 38 printf( "malloc3\n" );34 //printf( "malloc3\n" ); 39 35 T * ptr = (T *)malloc( sizeof(T) ); 40 36 return memset( ptr ); 41 37 } // malloc 42 38 43 forall( otype T ) T * calloc( size_t size) {44 printf( "calloc\n" );45 return (T *)calloc( size, sizeof(T) );39 forall( otype T ) T * calloc( size_t nmemb ) { 40 //printf( "calloc\n" ); 41 return (T *)calloc( nmemb, sizeof(T) ); 46 42 } // calloc 47 43 48 44 forall( otype T ) T * realloc( T * ptr, size_t size ) { 49 printf( "realloc1\n" );45 //printf( "realloc1\n" ); 50 46 return (T *)(void *)realloc( (void *)ptr, size ); 51 47 } // realloc 52 48 forall( otype T ) T * realloc( T * ptr, size_t size, unsigned char fill ) { 53 printf( "realloc2\n" );49 //printf( "realloc2\n" ); 54 50 char * nptr = (T *)(void *)realloc( (void *)ptr, size ); 55 51 size_t unused = malloc_usable_size( nptr ); … … 59 55 60 56 forall( otype T ) T * malloc( T * ptr, size_t size ) { 61 printf( "malloc4\n" );57 //printf( "malloc4\n" ); 62 58 return (T *)realloc( ptr, size ); 63 59 } // malloc 64 60 forall( otype T ) T * malloc( T * ptr, size_t size, unsigned char fill ) { 65 printf( "malloc5\n" );61 //printf( "malloc5\n" ); 66 62 return (T *)realloc( ptr, size, fill ); 67 63 } // malloc 68 64 69 65 forall( otype T ) T * aligned_alloc( size_t alignment ) { 70 printf( "aligned_alloc\n" );66 //printf( "aligned_alloc\n" ); 71 67 return (T *)memalign( alignment, sizeof(T) ); 72 68 } // aligned_alloc 73 69 74 70 forall( otype T ) T * memalign( size_t alignment ) { 75 printf( "memalign\n" );71 //printf( "memalign\n" ); 76 72 return (T *)memalign( alignment, sizeof(T) ); 77 73 } // memalign 78 74 79 75 forall( otype T ) int posix_memalign( T ** ptr, size_t alignment ) { 80 printf( "posix_memalign\n" );76 //printf( "posix_memalign\n" ); 81 77 return posix_memalign( (void **)ptr, alignment, sizeof(T) ); 82 78 } // posix_memalign 83 79 84 80 forall( otype T ) T * memset( T * ptr, unsigned char fill ) { // use default value '\0' for fill 85 printf( "memset1\n" );81 //printf( "memset1\n" ); 86 82 return (T *)memset( ptr, (int)fill, malloc_usable_size( ptr ) ); 87 83 } // memset 88 84 forall( otype T ) T * memset( T * ptr ) { // remove when default value available 89 printf( "memset2\n" );85 //printf( "memset2\n" ); 90 86 return (T *)memset( ptr, 0, malloc_usable_size( ptr ) ); 91 87 } // memset
Note:
See TracChangeset
for help on using the changeset viewer.