version 1.7, 2002/11/04 10:53:55 |
version 1.35, 2006/02/01 00:30:05 |
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/extern.h,v 1.6 2002/10/24 05:19:50 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/extern.h,v 1.34 2005/09/27 06:10:43 takayama Exp $ */ |
/*********** global variables for module stackmachine***************/ |
/*********** global variables for module stackmachine***************/ |
extern int VerboseStack; |
extern int VerboseStack; |
extern int DebugStack; |
extern int DebugStack; |
Line 19 struct tokens *decomposeToTokens(char *str,int *size); |
|
Line 19 struct tokens *decomposeToTokens(char *str,int *size); |
|
struct tokens getokenSM(); |
struct tokens getokenSM(); |
struct tokens *decomposeToTokens(); |
struct tokens *decomposeToTokens(); |
char *getLOAD_SM1_PATH(); |
char *getLOAD_SM1_PATH(); |
|
char *traceShowScannerBuf(); |
|
|
|
|
/* stackmachine.c object */ |
/* stackmachine.c object */ |
struct object *newObject(void); |
struct object *newObject(void); |
struct object newObjectArray(int size); |
struct object newObjectArray(int size); |
Line 72 int isLiteral(char *str); |
|
Line 72 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 81 char * KSstringPop(void); |
|
Line 82 char * KSstringPop(void); |
|
int KSstackPointer(void); |
int KSstackPointer(void); |
struct object KSdupErrors(void); |
struct object KSdupErrors(void); |
struct object KSpeek(int k); |
struct object KSpeek(int k); |
|
struct object KSnewObjectArray(int k); |
|
|
/* stackmachine.c context */ |
/* stackmachine.c context */ |
struct context *newContext0(struct context *super,char *name); |
struct context *newContext0(struct context *super,char *name); |
Line 90 void KsetContext(struct object contextobj); |
|
Line 92 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); |
|
struct object *traceNameStackToArrayp(void); |
|
|
/* kclass.c */ |
/* kclass.c */ |
int initClassDataBase(); |
int initClassDataBase(); |
void fprintClass(FILE *fp,struct object ob); |
void fprintClass(FILE *fp,struct object ob); |
Line 122 struct object *cdr(struct object *list); |
|
Line 131 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 136 struct object KaoMult(struct object aa,struct object b |
|
Line 154 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 156 struct object KooLess(struct object o1,struct object o |
|
Line 175 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 163 struct object KpoArrayOfPOLY(struct arrayOfPOLY *ap); |
|
Line 183 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 175 struct object KpoDouble(double a); |
|
Line 197 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 188 int objArrayToOrderMatrix(struct object oA,int order[] |
|
Line 212 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 204 struct object Khead(struct object ob); |
|
Line 229 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); |
|
struct object KstringToArgv2(struct object ob1,struct object ob2); |
void Kclose(void); |
void Kclose(void); |
int warningKan(char *s); |
int warningKan(char *s); |
int warningKanNoStrictMode(char *s); |
int warningKanNoStrictMode(char *s); |
Line 219 struct object test(struct object ob); |
|
Line 247 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 KsetAttributeList(struct object ob,struct object attr); |
|
struct object KgetAttribute(struct object ob,struct object key); |
|
struct object KsetAttribute(struct object ob,struct object key,struct object value); |
|
/* ob (key) (value) setAttribute /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 242 POLY arrayToPOLY(struct object ob); |
|
Line 281 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 267 struct object KschreyerSkelton(struct object g); |
|
Line 312 struct object KschreyerSkelton(struct object g); |
|
|
|
/* misc */ |
/* misc */ |
struct object KregionMatches(struct object sobj, struct object keyArray); |
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); |