=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/extern.h,v retrieving revision 1.5 retrieving revision 1.19 diff -u -p -r1.5 -r1.19 --- OpenXM/src/kan96xx/Kan/extern.h 2002/02/24 10:27:18 1.5 +++ OpenXM/src/kan96xx/Kan/extern.h 2004/08/22 12:52:34 1.19 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/extern.h,v 1.4 2000/07/17 02:58:45 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/extern.h,v 1.18 2004/07/30 11:21:55 takayama Exp $ */ /*********** global variables for module stackmachine***************/ extern int VerboseStack; extern int DebugStack; @@ -65,6 +65,7 @@ void printObjectArray(struct object ob,int nl,FILE *fp /* stackmachine.c misc*/ void scanner(void); void ctrlC(int sig); +void cancelAlarm(); int executeToken(struct tokens token); int executePrimitive(struct object ob); int isLiteral(char *str); @@ -135,6 +136,7 @@ struct object KaoMult(struct object aa,struct object b struct object KooDiv2(struct object ob1,struct object ob2); struct object KoNegate(struct object ob1); struct object KreduceRationalFunction(struct object ob); +struct object KooPower(struct object ob1,struct object ob2); /* for rational function object */ struct object KoInverse(struct object ob); @@ -162,6 +164,8 @@ struct object KpoArrayOfPOLY(struct arrayOfPOLY *ap); struct object KpoMatrixOfPOLY(struct matrixOfPOLY *mp); struct object KpoRingp(struct ring *ringp); struct object KpoDouble(double a); +struct object KpoUniversalNumber(struct coeff *u); +struct object KintToUniversalNumber(int n); #define KopInteger(o) ( (o).lc.ival ) #define KopString(o) ( (o).lc.str ) #define KopPOLY(o) ( (o).lc.poly ) @@ -187,6 +191,7 @@ int objArrayToOrderMatrix(struct object oA,int order[] int KsetOrderByObjArray(struct object oA); struct object oGetOrderMatrix(struct ring *ringp); /* order.c */ struct object KgetOrderMatrixOfCurrentRing(); +struct object oRingToOXringStructure(struct ring *ringp); /* order.c */ int KsetUpRing(struct object ob1,struct object ob2, struct object ob3,struct object ob4,struct object ob5); void KshowRing(struct ring *ringp); struct object KdefaultPolyRing(struct object num); @@ -210,6 +215,7 @@ struct object Keval(struct object obj); /** misc **/ struct object KtoRecords(struct object ob1); +struct object KstringToArgv(struct object ob1); void Kclose(void); int warningKan(char *s); int warningKanNoStrictMode(char *s); @@ -241,14 +247,20 @@ POLY arrayToPOLY(struct object ob); struct object POLYToArray(POLY f); struct object oPrincipalPart(struct object ob); struct object oInitW(struct object ob,struct object oWeight); +struct object KordWsAll(struct object ob,struct object oWeight); /* :misc */ struct object homogenizeObject(struct object ob,int *gradep); struct object homogenizeObject_vec(struct object ob,int *gradep); +struct object homogenizeObject_go(struct object ob,int *gradep); +void KresetDegreeShift(void); int oGrade(struct object ob); struct ring *oRingp(struct object ob); struct object KisOrdered(struct object of); struct object KvectorToSchreyer_es(struct object obarray); +POLY objArrayToPOLY(struct object ob); +struct object POLYtoObjArray(POLY f,int size); +struct object KgetExponents(struct object obPoly,struct object type); /* hilbert.c */ struct object hilberto(struct object obgb,struct object obvlist); @@ -263,3 +275,12 @@ char *KobjectToBinary(struct object ob,int *size); int mmLarger_tower3(POLY ff,POLY gg,struct object *gbList); /* order.c */ struct object KschreyerSkelton(struct object g); + +/* misc */ +struct object KregionMatches(struct object sobj, struct object keyArray); +int objToInteger(struct object ob); + +/* shell.c */ +struct object KoxWhich(struct object cmdo,struct object patho); +struct object KoxShell(struct object ob); +void KoxShellHelp(char *key,FILE *fp);