Return to rat.c CVS log | Up to [local] / OpenXM / src / kan96xx / Kan |
File: [local] / OpenXM / src / kan96xx / Kan / rat.c (download)
Revision 1.3, Fri May 4 01:06:25 2001 UTC (23 years, 5 months ago) by takayama
indent-region and untabify. |
/* $OpenXM: OpenXM/src/kan96xx/Kan/rat.c,v 1.3 2001/05/04 01:06:25 takayama Exp $ */ /* rat.c: rational functions */ #include <stdio.h> #include "datatype.h" #include "stackm.h" #include "extern.h" #include "extern2.h" static void errorRationalFunction(char *str); static void warningRationalFunction(char *str); struct object KnewRationalFunction0(op1,op2) objectp op1; objectp op2; { struct object rob; rob.tag = SrationalFunction; Knumerator(rob) = op1; Kdenominator(rob) = op2; KisInvalidRational(&rob); return(rob); } int KisZeroObject(op) objectp op; { switch(op->tag) { case Spoly: if ((op->lc.poly) ISZERO) return(1); else return(0); break; case SuniversalNumber: if (isZero( op->lc.universalNumber)) return(1); else return(0); break; default: warningRationalFunction("KisZeroObject() does not support this object."); return(0); } } objectp copyObjectp(op) objectp op; { objectp rop; rop = newObject(); *rop = *op; return(rop); } void errorRationalFunction(str) char *str; { fprintf(stderr,"Error(rat.c): %s\n",str); exit(20); } void warningRationalFunction(str) char *str; { fprintf(stderr,"Warning(rat.c): %s\n",str); }