/** Function called by GAP after a workspace restore. This is also called by us in InitLibrary(); **/ static Int PostRestore(StructInitInfo* module) { Int i; Int gvar; Obj tmp; gvar = GVarName("LinBox"); tmp = (Obj)VAL_GVAR(gvar); if(!tmp) { tmp = (Obj)NEW_PREC(0); } /* Write the names of my functions into th LinBox record */ for(i = 0; GVarFuncs[i].name != 0; i++) { AssPRec( tmp, RNamName((Char*)GVarFuncs[i].name), NewFunctionC( GVarFuncs[i].name, GVarFuncs[i].nargs, GVarFuncs[i].args, GVarFuncs[i].handler) ); } MakeReadWriteGVar(gvar); AssGVar(gvar, tmp); MakeReadOnlyGVar(gvar); return 0; }
GAPRecord() { record = NEW_PREC(0); }
Obj GAP_NewPrecord(Int capacity) { return NEW_PREC(capacity); }