version 1.4, 2000/07/17 02:58:45 |
version 1.31, 2005/06/09 05:46:57 |
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/extern.h,v 1.3 2000/02/02 03:30:48 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/extern.h,v 1.30 2004/09/23 12:20:52 takayama Exp $ */ |
/*********** global variables for module stackmachine***************/ |
/*********** global variables for module stackmachine***************/ |
extern int VerboseStack; |
extern int VerboseStack; |
extern int DebugStack; |
extern int DebugStack; |
extern FILE *Fstack; |
extern FILE *Fstack; |
|
#if defined(__CYGWIN__) |
|
extern sigjmp_buf EnvOfStackMachine; |
|
#else |
extern jmp_buf EnvOfStackMachine; |
extern jmp_buf EnvOfStackMachine; |
|
#endif |
extern struct object NullObject; |
extern struct object NullObject; |
extern struct object NoObject; |
extern struct object NoObject; |
extern int Lookup[TYPES][TYPES]; |
extern int Lookup[TYPES][TYPES]; |
Line 61 void printObjectArray(struct object ob,int nl,FILE *fp |
|
Line 65 void printObjectArray(struct object ob,int nl,FILE *fp |
|
/* stackmachine.c misc*/ |
/* stackmachine.c misc*/ |
void scanner(void); |
void scanner(void); |
void ctrlC(int sig); |
void ctrlC(int sig); |
|
void cancelAlarm(); |
int executeToken(struct tokens token); |
int executeToken(struct tokens token); |
int executePrimitive(struct object ob); |
int executePrimitive(struct object ob); |
int isLiteral(char *str); |
int isLiteral(char *str); |
void lockCtrlCForOx(); |
void lockCtrlCForOx(); |
void unlockCtrlCForOx(); |
void unlockCtrlCForOx(); |
void restoreCtrlCForOx(); |
void restoreCtrlCForOx(); |
|
int executeExecutableArray(struct object ob,char *fname,int withGotoP); |
|
|
/* stackmachine.c export */ |
/* stackmachine.c export */ |
int KSdefineMacros(void); |
int KSdefineMacros(void); |
Line 85 void KsetContext(struct object contextobj); |
|
Line 91 void KsetContext(struct object contextobj); |
|
void contextControl(actionOfContextControl ctl); |
void contextControl(actionOfContextControl ctl); |
struct object getSuperContext(struct object contextObj) ; |
struct object getSuperContext(struct object contextObj) ; |
|
|
|
/* stackmachine.c back-trace */ |
|
void tracePushName(char *s); |
|
void traceClearStack(void); |
|
char *tracePopName(void); |
|
char *traceShowStack(void); |
|
|
/* kclass.c */ |
/* kclass.c */ |
int initClassDataBase(); |
int initClassDataBase(); |
void fprintClass(FILE *fp,struct object ob); |
void fprintClass(FILE *fp,struct object ob); |
Line 117 struct object *cdr(struct object *list); |
|
Line 129 struct object *cdr(struct object *list); |
|
void printObjectList(struct object *op); |
void printObjectList(struct object *op); |
int memberQ(struct object *list1,struct object list2); |
int memberQ(struct object *list1,struct object list2); |
|
|
|
struct object KvJoin(struct object listo1,struct object listo2); |
|
struct object Kcar(struct object listo); |
|
struct object Kcdr(struct object listo); |
|
struct object KlistToArray(struct object listo); |
|
struct object KarrayToList(struct object ob); |
|
|
/* list:conversion */ |
/* list:conversion */ |
struct object listToArray(struct object *op); |
struct object listToArray(struct object *op); |
struct object *arrayToList(struct object ob); |
struct object *arrayToList(struct object ob); |
|
struct object newByteArray(int size,struct object obj); |
|
struct object newByteArrayFromStr(char *s,int size); |
|
struct object byteArrayToArray(struct object obj); |
|
|
/* kanExport0.c */ |
/* kanExport0.c */ |
/** arithmetic **/ |
/** arithmetic **/ |
Line 131 struct object KaoMult(struct object aa,struct object b |
|
Line 152 struct object KaoMult(struct object aa,struct object b |
|
struct object KooDiv2(struct object ob1,struct object ob2); |
struct object KooDiv2(struct object ob1,struct object ob2); |
struct object KoNegate(struct object ob1); |
struct object KoNegate(struct object ob1); |
struct object KreduceRationalFunction(struct object ob); |
struct object KreduceRationalFunction(struct object ob); |
|
struct object KooPower(struct object ob1,struct object ob2); |
|
|
/* for rational function object */ |
/* for rational function object */ |
struct object KoInverse(struct object ob); |
struct object KoInverse(struct object ob); |
Line 151 struct object KooLess(struct object o1,struct object o |
|
Line 173 struct object KooLess(struct object o1,struct object o |
|
|
|
/** Conversion */ |
/** Conversion */ |
struct object KdataConversion(struct object ob1, char *key); |
struct object KdataConversion(struct object ob1, char *key); |
|
struct object Kto_int32(struct object ob); |
struct object KpoInteger(int i); |
struct object KpoInteger(int i); |
struct object KpoString(char *s); |
struct object KpoString(char *s); |
struct object KpoPOLY(POLY f); |
struct object KpoPOLY(POLY f); |
Line 158 struct object KpoArrayOfPOLY(struct arrayOfPOLY *ap); |
|
Line 181 struct object KpoArrayOfPOLY(struct arrayOfPOLY *ap); |
|
struct object KpoMatrixOfPOLY(struct matrixOfPOLY *mp); |
struct object KpoMatrixOfPOLY(struct matrixOfPOLY *mp); |
struct object KpoRingp(struct ring *ringp); |
struct object KpoRingp(struct ring *ringp); |
struct object KpoDouble(double a); |
struct object KpoDouble(double a); |
|
struct object KpoUniversalNumber(struct coeff *u); |
|
struct object KintToUniversalNumber(int n); |
#define KopInteger(o) ( (o).lc.ival ) |
#define KopInteger(o) ( (o).lc.ival ) |
#define KopString(o) ( (o).lc.str ) |
#define KopString(o) ( (o).lc.str ) |
#define KopPOLY(o) ( (o).lc.poly ) |
#define KopPOLY(o) ( (o).lc.poly ) |
Line 170 struct object KpoDouble(double a); |
|
Line 195 struct object KpoDouble(double a); |
|
#define Knumerator(o) ( (o).lc.op ) |
#define Knumerator(o) ( (o).lc.op ) |
#define Kdenominator(o) ( (o).rc.op ) |
#define Kdenominator(o) ( (o).rc.op ) |
#define KopDouble(ob) (*((ob).lc.dbl)) |
#define KopDouble(ob) (*((ob).lc.dbl)) |
|
#define KopByteArray(o) ( (o).lc.bytes ) |
|
#define getByteArraySize(o) ( (o).rc.ival ) |
char *KPOLYToString(POLY f); |
char *KPOLYToString(POLY f); |
/** conversion 2 **/ |
/** conversion 2 **/ |
struct object arrayOfPOLYToArray(struct arrayOfPOLY *aa); |
struct object arrayOfPOLYToArray(struct arrayOfPOLY *aa); |
Line 183 int objArrayToOrderMatrix(struct object oA,int order[] |
|
Line 210 int objArrayToOrderMatrix(struct object oA,int order[] |
|
int KsetOrderByObjArray(struct object oA); |
int KsetOrderByObjArray(struct object oA); |
struct object oGetOrderMatrix(struct ring *ringp); /* order.c */ |
struct object oGetOrderMatrix(struct ring *ringp); /* order.c */ |
struct object KgetOrderMatrixOfCurrentRing(); |
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); |
int KsetUpRing(struct object ob1,struct object ob2, struct object ob3,struct object ob4,struct object ob5); |
void KshowRing(struct ring *ringp); |
void KshowRing(struct ring *ringp); |
struct object KdefaultPolyRing(struct object num); |
struct object KdefaultPolyRing(struct object num); |
Line 199 struct object Khead(struct object ob); |
|
Line 227 struct object Khead(struct object ob); |
|
int KpolyLength(POLY f); |
int KpolyLength(POLY f); |
struct object KsetOutputOrder(struct object obj,struct ring *rp); |
struct object KsetOutputOrder(struct object obj,struct ring *rp); |
struct object KsetVariableNames(struct object obj,struct ring *rp); |
struct object KsetVariableNames(struct object obj,struct ring *rp); |
|
/* KgetRingInfo has not yet been implemented. */ |
|
struct object KgetRingInfo(struct object ringObj, struct object ofunc); |
|
|
|
|
/* :eval */ |
/* :eval */ |
struct object Keval(struct object obj); |
struct object Keval(struct object obj); |
|
|
/** misc **/ |
/** misc **/ |
struct object KtoRecords(struct object ob1); |
struct object KtoRecords(struct object ob1); |
|
struct object KstringToArgv(struct object ob1); |
void Kclose(void); |
void Kclose(void); |
int warningKan(char *s); |
int warningKan(char *s); |
int warningKanNoStrictMode(char *s); |
int warningKanNoStrictMode(char *s); |
Line 214 struct object test(struct object ob); |
|
Line 244 struct object test(struct object ob); |
|
struct object Kextension(struct object ob); |
struct object Kextension(struct object ob); |
struct object KgbExtension(struct object ob); |
struct object KgbExtension(struct object ob); |
struct object KmpzExtension(struct object ob); |
struct object KmpzExtension(struct object ob); |
|
struct object Krest(struct object ob); |
|
struct object Kjoin(struct object ob1, struct object ob2); |
|
struct object Kget(struct object ob1, struct object ob2); |
|
|
/** Utilities */ |
/** Utilities */ |
char *KremoveSpace(char *s); |
char *KremoveSpace(char *s); |
int KtoArgvbyCurryBrace(char *str,char *argv[],int limit); |
int KtoArgvbyCurryBrace(char *str,char *argv[],int limit); |
|
|
|
/** Attribute */ |
|
struct object KgetAttributeList(struct object ob); |
|
struct object KputAttributeList(struct object ob,struct object attr); |
|
struct object KgetAttribute(struct object ob,struct object key); |
|
struct object KputAttribute(struct object ob,struct object key,struct object value); |
|
/* ob (key) (value) putAttribute /ob set. They are not destructive. */ |
|
|
|
|
|
|
/** kanExport1.c */ |
/** kanExport1.c */ |
/* :ring :kan */ |
/* :ring :kan */ |
struct object Kreduction(struct object f,struct object set); |
struct object Kreduction(struct object f,struct object set); |
Line 237 POLY arrayToPOLY(struct object ob); |
|
Line 278 POLY arrayToPOLY(struct object ob); |
|
struct object POLYToArray(POLY f); |
struct object POLYToArray(POLY f); |
struct object oPrincipalPart(struct object ob); |
struct object oPrincipalPart(struct object ob); |
struct object oInitW(struct object ob,struct object oWeight); |
struct object oInitW(struct object ob,struct object oWeight); |
|
struct object KordWsAll(struct object ob,struct object oWeight); |
|
|
/* :misc */ |
/* :misc */ |
struct object homogenizeObject(struct object ob,int *gradep); |
struct object homogenizeObject(struct object ob,int *gradep); |
struct object homogenizeObject_vec(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); |
int oGrade(struct object ob); |
struct ring *oRingp(struct object ob); |
struct ring *oRingp(struct object ob); |
struct object KisOrdered(struct object of); |
struct object KisOrdered(struct object of); |
struct object KvectorToSchreyer_es(struct object obarray); |
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 */ |
/* hilbert.c */ |
struct object hilberto(struct object obgb,struct object obvlist); |
struct object hilberto(struct object obgb,struct object obvlist); |
Line 259 char *KobjectToBinary(struct object ob,int *size); |
|
Line 306 char *KobjectToBinary(struct object ob,int *size); |
|
|
|
int mmLarger_tower3(POLY ff,POLY gg,struct object *gbList); /* order.c */ |
int mmLarger_tower3(POLY ff,POLY gg,struct object *gbList); /* order.c */ |
struct object KschreyerSkelton(struct object g); |
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); |