1 #include <stdio.h> 2 #include <stdlib.h> 3 /* 4 Fortran callable memory allocator 5 6 Called as : 7 ier = grgmem (size,pointer) 8 9 where : size is an integer size of memory to allocate 10 pointer is an integer (integer*8 on some systems) 11 to return the pointer into 12 13 */ 14 15 #ifdef PG_PPU 16 #define GRGMEM grgmem_ 17 #define GRFMEM grfmem_ 18 #else 19 #define GRGMEM grgmem 20 #define GRFMEM grfmem 21 #endif 22 GRGMEM(size,pointer)23int GRGMEM(size, pointer) 24 int *size; 25 void **pointer; 26 { 27 *pointer = malloc(*size); 28 /* printf("grgmem: %d %p\n", *size, *pointer); */ 29 if (*pointer == NULL) return 0; 30 return 1; 31 } 32 33 /* 34 Fortran callable memory deallocator 35 36 Called as : 37 ier = grfmem (size,pointer) 38 39 where : size is an integer size of memory to deallocate (not used) 40 pointer is an integer that contains the pointer 41 42 */ 43 GRFMEM(size,pointer)44int GRFMEM(size, pointer) 45 int *size; 46 void **pointer; 47 { 48 free(*pointer); 49 return 1; 50 } 51 52