#ifndef _LargeReal_ #define _LargeReal_ #include class AbstractLargeReal : public AbstractProb { public: typedef enum {Pos = 1, Neg = 0} LargeRealSign; }; #define LRC LargeReal #define LRCPROBTYPE Prob #define OTHERREAL ShortLargeReal #include #undef LRC #undef LRCPROBTYPE #undef OTHERREAL // now do short large reals #define LRC ShortLargeReal #define LRCPROBTYPE ShortProb #define OTHERREAL LargeReal #include #undef LRC #undef LRCPROBTYPE #undef OTHERREAL inline LargeReal::LargeReal (const ShortLargeReal r) : nonneg (r.is_positive()), mag (r.ret_mag()) {;} inline ShortLargeReal::ShortLargeReal (const LargeReal r) : nonneg (r.is_positive()), mag (r.ret_mag()) {;} #endif