home *** CD-ROM | disk | FTP | other *** search
- /* mixed.h */
- /* Copyright 1992 by P.J. LaBrocca */
-
- #ifndef MIXED_H
- #define MIXED_H
-
- typedef long Integer;
-
- #define MAXFACTOR 40 /* maximum number of factors */
- #define NUMER 0 /* index for numerator */
- #define DENOM 1 /* index for denominator */
- #define POSITIVE 1
- #define NEGATIVE -1
-
- typedef struct {
- Integer whole;
- Integer num;
- Integer den;
- int sign;
- Integer factors[2][MAXFACTOR];
- } mixed_t;
-
- extern Integer Primes[]; /* space for prime numbers */
-
- mixed_t mix_error(char *s);
-
- void init_primes( void );
-
- mixed_t *mix_init( mixed_t *m, Integer w, Integer n, Integer d );
- mixed_t *mix_clear( mixed_t *m );
- mixed_t *mix_factor( mixed_t *m );
- mixed_t *mix_reduce( mixed_t *m );
- void mix_make_improper( mixed_t *m );
- void mix_print( mixed_t *m );
-
- mixed_t mix_sub(mixed_t *x, mixed_t *y);
- mixed_t mix_add(mixed_t *x, mixed_t *y);
- mixed_t mix_mul(mixed_t *x, mixed_t *y);
- mixed_t mix_recip(mixed_t f);
- mixed_t mix_divide(mixed_t *f, mixed_t *g);
- Integer lcd(mixed_t *f, mixed_t *g);
- void mix_neg(mixed_t *f);
-
- #endif
-
-