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

Annotation of OpenXM/src/kan96xx/Kan/extern.h, Revision 1.1

1.1     ! maekawa     1: /*********** global variables for module stackmachine***************/
        !             2: extern int VerboseStack;
        !             3: extern int DebugStack;
        !             4: extern FILE *Fstack;
        !             5: extern jmp_buf EnvOfStackMachine;
        !             6: extern struct object NullObject;
        !             7: extern struct object NoObject;
        !             8: extern int Lookup[TYPES][TYPES];
        !             9:
        !            10:
        !            11: /* scanner.c */
        !            12: /*struct tokens getokenSM(actionType kind,char *str);
        !            13: struct tokens *decomposeToTokens(char *str,int *size);*/
        !            14: struct tokens getokenSM();
        !            15: struct tokens *decomposeToTokens();
        !            16: char *getLOAD_SM1_PATH();
        !            17:
        !            18:
        !            19: /* stackmachine.c  object */
        !            20: struct object *newObject(void);
        !            21: struct object newObjectArray(int size);
        !            22: int isNullObject(struct object obj);
        !            23:
        !            24: /* stackmachine.c  dictionary */
        !            25: int putSystemDictionary(char *str,struct object ob);
        !            26: int findSystemDictionary(char *str);
        !            27: int putUserDictionary(char *str,int h0,int h1,struct object ob,
        !            28:                      struct dictionary *dic);
        !            29: struct object KputUserDictionary(char *str,struct object ob);
        !            30: struct object findUserDictionary(char *str,int h0,int h1,
        !            31:                                 struct context *cp);
        !            32: struct object KfindUserDictionary(char *str);
        !            33: int putPrimitiveFuction(char *str,int number);
        !            34: int hash0(char *s);
        !            35: int hash1(char *s);
        !            36: void hashInitialize(struct dictionary *dic);
        !            37: struct tokens lookupTokens(struct tokens t);
        !            38: struct object lookupLiteralString(char *s);
        !            39: int putUserDictionary2(char *str,int h0,int h1,int attr,
        !            40:                       struct dictionary *dic);
        !            41: void KdefinePrimitiveFunctions(void);
        !            42: struct object showSystemDictionary(int f);
        !            43: int showUserDictionary(void) ;
        !            44:
        !            45:
        !            46: /* stackmachine.c  stack */
        !            47: struct object Kpop(void); /* Kpush and Kpop may be used only in stackmachine.c
        !            48:                             and primitive.c */
        !            49: int Kpush(struct object ob);
        !            50: struct object peek(int k);
        !            51: void printOperandStack(void);
        !            52: struct object newOperandStack(int size);
        !            53: void setOperandStack(struct object ob);
        !            54: void stdOperandStack(void);
        !            55:
        !            56: /* stackmachine.c  printing */
        !            57: void printObject(struct object ob,int nl,FILE *fp) ;
        !            58: void printObjectArray(struct object ob,int nl,FILE *fp);
        !            59:
        !            60: /* stackmachine.c  misc*/
        !            61: void scanner(void);
        !            62: void ctrlC(int sig);
        !            63: int executeToken(struct tokens token);
        !            64: int executePrimitive(struct object ob);
        !            65: int isLiteral(char *str);
        !            66: void lockCtrlCForOx();
        !            67: void unlockCtrlCForOx();
        !            68: void restoreCtrlCForOx();
        !            69:
        !            70: /* stackmachine.c  export */
        !            71: int KSdefineMacros(void);
        !            72: struct object KSpop(void);
        !            73: void KSpush(struct object ob);
        !            74: char * KSstringPop(void);
        !            75: int KSstackPointer(void);
        !            76: struct object KSdupErrors(void);
        !            77:
        !            78: /* stackmachine.c context */
        !            79: struct context *newContext0(struct context *super,char *name);
        !            80: struct object KnewContext(struct object superobj, char *name);
        !            81: void fprintContext(FILE *fp,struct context *c);
        !            82: void KsetContext(struct object contextobj);
        !            83: void contextControl(actionOfContextControl ctl);
        !            84: struct object getSuperContext(struct object contextObj) ;
        !            85:
        !            86: /* kclass.c */
        !            87: int initClassDataBase();
        !            88: void fprintClass(FILE *fp,struct object ob);
        !            89: int KclassEqualQ(struct object ob1,struct object ob2);
        !            90: struct object KcreateClassIncetance(struct object ob1,
        !            91:                                    struct object ob2,
        !            92:                                    struct object ob3);
        !            93: struct object KclassDataConversion(struct object ob1,struct object ob2);
        !            94: /* dataConversion is also used for creating new object. */
        !            95: /* Arithmetic functions. */
        !            96: struct object Kclass_ooAdd(struct object ob1,struct object ob2);
        !            97:
        !            98: /* ErrorStack */
        !            99: int pushErrorStack(struct object obj);
        !           100: struct object popErrorStack(void);
        !           101: int KScheckErrorStack(void);
        !           102: struct object KnewErrorPacket(int serial,int no,char *message);
        !           103: struct object KnewErrorPacketObj(struct object obj);
        !           104:
        !           105: /** usage.c */
        !           106: void Kusage(struct object ob);
        !           107: void Kusage2(FILE *fp,char *s);
        !           108:
        !           109: /*  list.c */
        !           110: struct object *newList(struct object *op);
        !           111: int klength(struct object *op);
        !           112: struct object *vJoin(struct object *list1,struct object *list2);
        !           113: struct object car(struct object *list);
        !           114: struct object *cdr(struct object *list);
        !           115: void printObjectList(struct object *op);
        !           116: int memberQ(struct object *list1,struct object list2);
        !           117:
        !           118: /* list:conversion */
        !           119: struct object listToArray(struct object *op);
        !           120: struct object *arrayToList(struct object ob);
        !           121:
        !           122: /* kanExport0.c */
        !           123: /** arithmetic **/
        !           124: struct object KooAdd(struct object ob1, struct object ob2);
        !           125: struct object KooSub(struct object ob1, struct object ob2);
        !           126: struct object KooMult(struct object ob1,struct object ob2);
        !           127: struct object KooDiv(struct object ob1,struct object ob2);
        !           128: struct object KaoMult(struct object aa,struct object bb);
        !           129: struct object KooDiv2(struct object ob1,struct object ob2);
        !           130: struct object KoNegate(struct object ob1);
        !           131: struct object KreduceRationalFunction(struct object ob);
        !           132:
        !           133: /* for rational function object */
        !           134: struct object KoInverse(struct object ob);
        !           135: int KisInvalidRational(objectp ob);
        !           136: objectp copyObjectp(objectp op);
        !           137: struct object KnewRationalFunction0(objectp op1, objectp op2);
        !           138: int KisZeroObject(objectp ob);
        !           139: int KisOneObject(objectp ob);
        !           140: int KisMinusOneObject(objectp ob);
        !           141:
        !           142:
        !           143: /** relation */
        !           144: struct object KoIsPositive(struct object ob);
        !           145: int KooEqualQ(struct object o1,struct object o2);
        !           146: struct object KooGreater(struct object o1,struct object o2);
        !           147: struct object KooLess(struct object o1,struct object o2);
        !           148:
        !           149:
        !           150: /** Conversion */
        !           151: struct object KdataConversion(struct object ob1, char *key);
        !           152: struct object KpoInteger(int i);
        !           153: struct object KpoString(char *s);
        !           154: struct object KpoPOLY(POLY f);
        !           155: struct object KpoArrayOfPOLY(struct arrayOfPOLY *ap);
        !           156: struct object KpoMatrixOfPOLY(struct matrixOfPOLY *mp);
        !           157: struct object KpoRingp(struct ring *ringp);
        !           158: struct object KpoDouble(double a);
        !           159: #define KopInteger(o) ( (o).lc.ival )
        !           160: #define KopString(o)  ( (o).lc.str )
        !           161: #define KopPOLY(o)    ( (o).lc.poly )
        !           162: #define KopArrayOfPOLY(o) ( *((o).lc.arrayp) )
        !           163: #define KopMatrixOfPOLY(o) ( *((o).lc.matrixp))
        !           164: #define KopArrayOfPOLYp(o) ( (o).lc.arrayp )
        !           165: #define KopMatrixOfPOLYp(o) ( (o).lc.matrixp)
        !           166: #define KopRingp(o)  ( (o).lc.ringp )
        !           167: #define KopUniversalNumber(o)  ( (o).lc.universalNumber )
        !           168: #define Knumerator(o)  ( (o).lc.op )
        !           169: #define Kdenominator(o) ( (o).rc.op )
        !           170: #define KopDouble(ob)  (*((ob).lc.dbl))
        !           171: char *KPOLYToString(POLY f);
        !           172: /** conversion 2 **/
        !           173: struct object arrayOfPOLYToArray(struct arrayOfPOLY *aa);
        !           174: struct object matrixOfPOLYToArray(struct matrixOfPOLY *pmat);
        !           175: struct arrayOfPOLY *arrayToArrayOfPOLY(struct object oa);
        !           176: struct matrixOfPOLY *arrayToMatrixOfPOLY(struct object oa);
        !           177: double toDouble0(struct object ob);
        !           178:
        !           179: /** :ring :kan **/
        !           180: int objArrayToOrderMatrix(struct object oA,int order[],int n,int oasize);
        !           181: int KsetOrderByObjArray(struct object oA);
        !           182: struct object oGetOrderMatrix(struct ring *ringp); /* order.c */
        !           183: struct object KgetOrderMatrixOfCurrentRing();
        !           184: int KsetUpRing(struct object ob1,struct object ob2, struct object ob3,struct object ob4,struct object ob5);
        !           185: void KshowRing(struct ring *ringp);
        !           186: struct object KdefaultPolyRing(struct object num);
        !           187: struct object KswitchFunction(struct object ob1,struct object ob2);
        !           188: void KprintSwitchStatus(void);
        !           189: struct object  KoReplace(struct object ob,struct object rule);
        !           190: struct object Kparts(struct object f,struct object v);
        !           191: struct object Kparts2(struct object f,struct object v);
        !           192: struct object parts2(POLY f,POLY g);
        !           193: struct object Kdegree(struct object f,struct object v);
        !           194: struct object KringMap(struct object ob);
        !           195: struct object Ksp(struct object ob1,struct object ob2);
        !           196: struct object Khead(struct object ob);
        !           197: int KpolyLength(POLY f);
        !           198: struct object KsetOutputOrder(struct object obj,struct ring *rp);
        !           199: struct object KsetVariableNames(struct object obj,struct ring *rp);
        !           200:
        !           201:
        !           202: /* :eval */
        !           203: struct object Keval(struct object obj);
        !           204:
        !           205: /** misc **/
        !           206: struct object KtoRecords(struct object ob1);
        !           207: void Kclose(void);
        !           208: int warningKan(char *s);
        !           209: int errorKan1(char *s,char *m);
        !           210: struct object test(struct object ob);
        !           211: struct object Kextension(struct object ob);
        !           212: struct object KgbExtension(struct object ob);
        !           213: struct object KmpzExtension(struct object ob);
        !           214:
        !           215: /** Utilities */
        !           216: char *KremoveSpace(char *s);
        !           217: int KtoArgvbyCurryBrace(char *str,char *argv[],int limit);
        !           218:
        !           219:
        !           220: /** kanExport1.c */
        !           221: /* :ring :kan */
        !           222: struct object Kreduction(struct object f,struct object set);
        !           223: struct object Kgroebner(struct object ob);
        !           224:
        !           225: /* :conversion */
        !           226: struct object gradedPolySetToGradedArray(struct gradedPolySet *gps,
        !           227:                                         int keepRedundant);
        !           228: struct object polySetToArray(struct polySet *ps,int keepRedundant);
        !           229: struct object gradedPolySetToArray(struct gradedPolySet *g,int keepRedundant);
        !           230: struct gradedPolySet *arrayToGradedPolySet(struct object ob);
        !           231: struct object syzPolyToArray(int size,POLY f,struct gradedPolySet *grG);
        !           232: struct object getBackwardArray(struct gradedPolySet *grG);
        !           233: POLY arrayToPOLY(struct object ob);
        !           234: struct object POLYToArray(POLY f);
        !           235: struct object oPrincipalPart(struct object ob);
        !           236: struct object oInitW(struct object ob,struct object oWeight);
        !           237:
        !           238: /* :misc  */
        !           239: struct object homogenizeObject(struct object ob,int *gradep);
        !           240: struct object homogenizeObject_vec(struct object ob,int *gradep);
        !           241: int oGrade(struct object ob);
        !           242: struct ring *oRingp(struct object ob);
        !           243: struct object KisOrdered(struct object of);
        !           244: struct object KvectorToSchreyer_es(struct object obarray);
        !           245:
        !           246: /* hilbert.c */
        !           247: struct object hilberto(struct object obgb,struct object obvlist);
        !           248:
        !           249: /* option.c */
        !           250: struct object KsystemVariable(struct object ob);
        !           251:
        !           252: void KasirKanExecute0(char *s);
        !           253:
        !           254: struct object KbinaryToObject(int size, char *data);
        !           255: char *KobjectToBinary(struct object ob,int *size);
        !           256:
        !           257: int mmLarger_tower3(POLY ff,POLY gg,struct object *gbList); /* order.c */
        !           258: struct object KschreyerSkelton(struct object g);

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>