/*
 * $Header: /smsa/bsd:include/mp.h:bsd  1.9  $
 * $Source: /smsa/bsd:include/mp.h: $
 *
 * Copyright (c) 1988 Acorn Computers Ltd., Cambridge, England
 */

/*
 * Copyright (c) 1980 Regents of the University of California.
 * All rights reserved.  The Berkeley software License Agreement
 * specifies the terms and conditions for redistribution.
 *
 *	@(#)mp.h	1.2 88/05/16 4.0NFSSRC SMI; from	5.1 (Berkeley) 5/30/85
 */

#ifndef __mp_h
#define __mp_h

#define MINT struct mint
MINT
{	int len;
	short *val;
};
#define FREE(x) {if(x.len!=0) {free((char *)x.val); x.len=0;}}
#ifndef DBG
#define shfree(u) free((char *)u)
#else
#ifndef __stdio_h
#include "stdio.h"
#endif
#define shfree(u) { if(dbg) fprintf(stderr, "free %o\n", u); free((char *)u);}
extern int dbg;
#endif
struct half
{	short low;
	short high;
};

/*
 * The following #defines are to stop clashes with the C and X libraries.
 */
#define pow mp_pow
#define mult mp_mult
#define xalloc mp_xalloc
#define xfree mp_xfree

extern MINT *itom(int);
extern MINT *xtom(char *);
extern char *mtox(MINT *);
extern short *xalloc(int, char *);
extern void mfree(MINT *);

#ifdef lint
extern xv_oid;
#define VOID xv_oid =
#else
#define VOID
#endif

#endif/*__mp_h*/

/* EOF mp.h */
