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 52 53 54
|
/* memory.c - (c) rohan drape, 2005-2006 */
#include <stdlib.h>
#include <stdio.h>
#include "failure.h"
#include "memory.h"
void *xmalloc(size_t size)
{
void *p = malloc(size);
if(p == NULL) {
fprintf(stderr, "malloc() failed: %ld\n", (long)size);
FAILURE;
}
return p;
}
void *xcalloc(size_t count, size_t eltsize)
{
void *p = calloc(count, eltsize);
if(p == NULL) {
perror("calloc() failed");
FAILURE;
}
return p;
}
void *xrealloc(void *p, size_t size)
{
p = realloc(p, size);
if(p == NULL) {
perror("realloc() failed");
FAILURE;
}
return p;
}
float *fmalloc(size_t n)
{
float *d = xmalloc(n * sizeof(float));
size_t i;
for(i = 0; i < n; i++) {
d[i] = 0.0;
}
return d;
}
void fmemset(float *data, int n, float value)
{
int i;
for(i = 0; i < n; i++) {
data[i] = value;
}
}
|