[BACK]Return to rat.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Kan

File: [local] / OpenXM / src / kan96xx / Kan / rat.c (download)

Revision 1.5, Sun Jul 3 11:08:54 2005 UTC (18 years, 10 months ago) by ohara
Branch: MAIN
CVS Tags: R_1_3_1-2, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9
Changes since 1.4: +2 -1 lines

Fixed grammatical problem for gcc4.

/* $OpenXM: OpenXM/src/kan96xx/Kan/rat.c,v 1.5 2005/07/03 11:08:54 ohara Exp $ */

/* rat.c: rational functions */
#include <stdio.h>
#include <stdlib.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 = OINIT;
  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);
}