Annotation of 43BSDTahoe/new/B/src/bsmall/B1num.h, revision 1.1

1.1     ! root        1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1984. */
        !             2: /* $Header: B1num.h,v 1.1 84/06/28 00:48:38 timo Exp $ */
        !             3: 
        !             4: /* Definitions for number internals */
        !             5: 
        !             6: typedef struct{double p, q;} number;
        !             7: typedef double integer;
        !             8: #define Zero ((integer) 0)
        !             9: #define One ((integer) 1)
        !            10: #define Two ((integer) 2)
        !            11: 
        !            12: #define Checknum(v) if ((v)->type != Num) error("value not a number")
        !            13: #define Numerator(v) ((integer) ((number *)Ats(v))->p)
        !            14: #define Denominator(v) ((integer) ((number *)Ats(v))->q)
        !            15: #define Exact(v) (((number *)Ats(v))->q != Zero)
        !            16: #define Integral(v) (Exact(v) && (Denominator(v)==One))
        !            17: #define Approxval(v) (((number *)Ats(v))->p)
        !            18: #define Numval(v) (Exact(v) ? Numerator(v)/Denominator(v) : Approxval(v))
        !            19: 
        !            20: value mk_int();
        !            21: value mk_approx();
        !            22: value mk_exact();
        !            23: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.