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