#include #include #include #include /*******************/ /* Allocate memory */ /*******************/ #if defined (FORTRAN_NO_) void *falloc (unsigned int *size) #else void *falloc_ (unsigned int *size) #endif { void *zone; if ((zone = (void *) malloc (*size)) == NULL) /* if ((zone = (void *) memalign (4,*size)) == NULL) */ { fprintf (stderr, "taille %ld \n", *size); fputs ("Error allocating memory.\n", stderr); perror ("Memory "); exit (-1); } return (void *) zone; } /*********************/ /* Reallocate memory */ /*********************/ #if defined (FORTRAN_NO_) void frealloc (void **zone, unsigned int *size) #else void frealloc_ (void **zone, unsigned int *size) #endif { if (((*zone) = (void *) realloc (*zone, *size)) == NULL) { fprintf (stderr, "taille %ld \n", *size); fputs ("Error re-allocating memory.\n", stderr); perror ("Memory "); exit (-1); } } /*******************/ /* Free memory */ /*******************/ #if defined (FORTRAN_NO_) void ffree (void **zone) #else void ffree_ (void **zone) #endif { free (*zone); (*zone)=0; } /************************************/ /* Return the address of a variable */ /************************************/ #if defined (FORTRAN_NO_) void *floc (void *elem) #else void *floc_ (void *elem) #endif { return (void *) elem; } /***************************/ /* Flush Stdout and Stderr */ /***************************/ #if defined (FORTRAN_NO_) void flush() #else void flush_() #endif { fflush((FILE *) 0); fflush(stderr); fflush(stdout); } /************************/ /* Provide Elapsed time */ /************************/ #if defined (FORTRAN_NO_) double elapsed(void) #else double elapsed_(void) #endif { struct timeval tp; gettimeofday(&tp, (struct timezone*)0); return ((double)((unsigned) tp.tv_sec) + (double) ((unsigned) tp.tv_usec) * 0.000001); }