nakedmudv3.3/
nakedmudv3.3/lib/
nakedmudv3.3/lib/logs/
nakedmudv3.3/lib/misc/
nakedmudv3.3/lib/players/
nakedmudv3.3/lib/txt/
nakedmudv3.3/lib/world/
nakedmudv3.3/lib/world/examples/
nakedmudv3.3/lib/world/examples/mproto/
nakedmudv3.3/lib/world/examples/oproto/
nakedmudv3.3/lib/world/examples/reset/
nakedmudv3.3/lib/world/examples/rproto/
nakedmudv3.3/lib/world/examples/trigger/
nakedmudv3.3/lib/world/limbo/
nakedmudv3.3/lib/world/limbo/room/
nakedmudv3.3/lib/world/limbo/rproto/
nakedmudv3.3/src/alias/
nakedmudv3.3/src/char_vars/
nakedmudv3.3/src/editor/
nakedmudv3.3/src/example_module/
nakedmudv3.3/src/help/
nakedmudv3.3/src/set_val/
nakedmudv3.3/src/socials/
nakedmudv3.3/src/time/
#ifndef NUMBERS_H
#define NUMBERS_H
//*****************************************************************************
//
// numbers.h
//
// This provides a wrapper around integers, doubles, and longs so we can pass
// them around as pointers.
//
//*****************************************************************************

typedef struct int_struct      INTEGER;
typedef struct double_struct    DOUBLE;
typedef struct long_struct        LONG;
typedef struct boolean_struct  BOOLEAN;

INTEGER *newInteger(int val);
void  deleteInteger(INTEGER *integer);
int   integerGetVal(INTEGER *integer);
void  integerSetVal(INTEGER *integer, int val);
int      integerCmp(INTEGER *int1, INTEGER *int2);

DOUBLE   *newDouble(double val);
void   deleteDouble(DOUBLE *dbl);
double doubleGetVal(DOUBLE *dbl);
void   doubleSetVal(DOUBLE *dbl, double val);
int       doubleCmp(DOUBLE *dbl1, DOUBLE *dbl2);

LONG       *newLong(long val);
void     deleteLong(LONG *lng);
long     longGetVal(LONG *lng);
void     longSetVal(LONG *lng, long val);
int         longCmp(LONG *lng1, LONG *lng2);

BOOLEAN *newBoolean(bool val);
void  deleteBoolean(BOOLEAN *bl);
bool  booleanGetVal(BOOLEAN *bl);
void  booleanSetVal(BOOLEAN *bl, bool val);
int      booleanCmp(BOOLEAN *bl1, BOOLEAN *bl2);

#endif // NUMBERS_H