4#include <learning/real.h>
7#define Serror printf("# ERROR (%s: %d) ", __FILE__, __LINE__); printf
8#define Swarning printf("# WARNING (%s: %d) ", __FILE__, __LINE__); printf
10#define Serror printf("# ERROR (%s - %s: %d) ", __FUNCTION__,__FILE__, __LINE__); printf
11#define Swarning printf("# WARNING (%s - %s: %d) ", __FUNCTION__,__FILE__, __LINE__); printf
17#define logmsg printf ("# "); printf
18#define dbgmsg printf ("# "); printf
20#define Smessage printf("# "); printf
26#define ReadFile(f,fs) ((fs=fopen(f,"rb"))!=NULL)
27#define WriteFile(f,fs) ((fs=fopen(f,"wb"))!=NULL)
28#define CloseFile(f) {assert(f); fclose(f); f = NULL;}
30#define AllocM(type,x) ((type *) malloc (sizeof(type)*(x)))
31#define FreeM(address) if (address) {free(address); address = NULL;} else fprintf(stderr,"ERROR: pointer already freed\n");
33#define ObjCopy(new_obj,cl_nam) (memcpy (new_obj, &cl_nam ## _class, sizeof(cl_nam)))
37#define DEC_MEM_ERROR 0x0001
38#define DEC_RES_INVALID 0x0002
39#define DEC_SANITY_ERROR 0x0004
40#define DEC_ARG_INVALID 0x1000
41#define DEC_ARG_CORRUPT 0x2000
44#define DEC_MASK 0xffff
long FileLength(char *fname)