public virtual void loadFunctions(Rete engine) { StringCompareFunction compare = new StringCompareFunction(); engine.declareFunction(compare); funcs.Add(compare); StringIndexFunction indx = new StringIndexFunction(); engine.declareFunction(indx); funcs.Add(indx); StringLengthFunction strlen = new StringLengthFunction(); engine.declareFunction(strlen); funcs.Add(strlen); StringLowerFunction lower = new StringLowerFunction(); engine.declareFunction(lower); funcs.Add(lower); StringReplaceFunction strrepl = new StringReplaceFunction(); engine.declareFunction(strrepl); funcs.Add(strrepl); StringUpperFunction upper = new StringUpperFunction(); engine.declareFunction(upper); funcs.Add(upper); SubStringFunction sub = new SubStringFunction(); engine.declareFunction(sub); funcs.Add(sub); StringTrimFunction trim = new StringTrimFunction(); engine.declareFunction(trim); funcs.Add(trim); }
public virtual void loadFunctions(Rete engine) { BatchFunction b = new BatchFunction(); engine.declareFunction(b); funcs.Add(b); LoadFactsFunction load = new LoadFactsFunction(); engine.declareFunction(load); funcs.Add(load); PrintFunction pf = new PrintFunction(); engine.declareFunction(pf); funcs.Add(pf); }
public virtual IReturnVector executeFunction(Rete engine, IParameter[] params_Renamed) { DefaultReturnVector ret = new DefaultReturnVector(); bool add = false; if (engine.findFunction(name) == null) { // first we Get the actual function from the shell function IFunction[] functions = new IFunction[this.functions.Count]; IParameter[][] parameters = new IParameter[this.functions.Count][]; for (int i = 0; i < functions.Length; ++i) { ShellFunction sf = (ShellFunction)this.functions[i]; functions[i] = engine.findFunction(sf.Name); parameters[i] = sf.Parameters; } InterpretedFunction intrfunc = new InterpretedFunction(name, this.parameters, functions, parameters); intrfunc.configureFunction(engine); engine.declareFunction(intrfunc); add = true; } DefaultReturnValue rv = new DefaultReturnValue(Constants.BOOLEAN_OBJECT, add); ret.addReturnValue(rv); return(ret); }
public virtual IReturnVector executeFunction(Rete engine, IParameter[] params_Renamed) { bool load = false; if (params_Renamed != null && params_Renamed.Length > 0) { for (int idx = 0; idx < params_Renamed.Length; idx++) { String func = params_Renamed[idx].StringValue; try { engine.declareFunction(func); load = true; } catch (Exception e) { load = false; } } } DefaultReturnVector ret = new DefaultReturnVector(); DefaultReturnValue rv = new DefaultReturnValue(Constants.BOOLEAN_OBJECT, load); ret.addReturnValue(rv); return(ret); }
public virtual void loadFunctions(Rete engine) { NotFunction not = new NotFunction(); engine.declareFunction(not); funcs.Add(not); TrueFunction trueFunc = new TrueFunction(); engine.declareFunction(trueFunc); funcs.Add(trueFunc); FalseFunction falseFunc = new FalseFunction(); engine.declareFunction(falseFunc); funcs.Add(falseFunc); }
public virtual void loadFunctions(Rete engine) { ClassnameResolver classnameResolver = new ClassnameResolver(engine); LoadPackageFunction loadpkg = new LoadPackageFunction(classnameResolver); engine.declareFunction(loadpkg); funcs.Add(loadpkg); NewFunction nf = new NewFunction(classnameResolver); engine.declareFunction(nf); funcs.Add(nf); MemberFunction mf = new MemberFunction(classnameResolver); engine.declareFunction(mf); funcs.Add(mf); InstanceofFunction iof = new InstanceofFunction(classnameResolver); engine.declareFunction(iof); funcs.Add(iof); }
public virtual void loadFunctions(Rete engine) { AssertFunction assrt = new AssertFunction(); engine.declareFunction(assrt); funcs.Add(assrt); AnyEqFunction anyeq = new AnyEqFunction(); engine.declareFunction(anyeq); funcs.Add(anyeq); BindFunction bindf = new BindFunction(); engine.declareFunction(bindf); funcs.Add(bindf); ClearFunction clr = new ClearFunction(); engine.declareFunction(clr); funcs.Add(clr); DefclassFunction defcls = new DefclassFunction(); engine.declareFunction(defcls); funcs.Add(defcls); DefmoduleFunction dmod = new DefmoduleFunction(); engine.declareFunction(dmod); funcs.Add(dmod); DefruleFunction drule = new DefruleFunction(); engine.declareFunction(drule); funcs.Add(drule); DefinstanceFunction defins = new DefinstanceFunction(); engine.declareFunction(defins); funcs.Add(defins); DeftemplateFunction dtemp = new DeftemplateFunction(); engine.declareFunction(dtemp); funcs.Add(dtemp); EchoFunction efunc = new EchoFunction(); engine.declareFunction(efunc); funcs.Add(efunc); EqFunction eq = new EqFunction(); engine.declareFunction(eq); funcs.Add(eq); EvalFunction eval = new EvalFunction(); engine.declareFunction(eval); funcs.Add(eval); ExitFunction ext = new ExitFunction(); engine.declareFunction(ext); funcs.Add(ext); FactsFunction ffun = new FactsFunction(); engine.declareFunction(ffun); funcs.Add(ffun); FireFunction fire = new FireFunction(); engine.declareFunction(fire); funcs.Add(fire); FocusFunction focus = new FocusFunction(); engine.declareFunction(focus); funcs.Add(focus); ModulesFunction modules = new ModulesFunction(); engine.declareFunction(modules); funcs.Add(modules); GenerateFactsFunction genff = new GenerateFactsFunction(); engine.declareFunction(genff); funcs.Add(genff); GarbageCollectFunction gcf = new GarbageCollectFunction(); engine.declareFunction(gcf); funcs.Add(gcf); LazyAgendaFunction laf = new LazyAgendaFunction(); engine.declareFunction(laf); funcs.Add(laf); ListDirectoryFunction ldir = new ListDirectoryFunction(); engine.declareFunction(ldir); funcs.Add(ldir); ListFunctionsFunction lffnc = new ListFunctionsFunction(); engine.declareFunction(lffnc); engine.declareFunction("functions", lffnc); funcs.Add(lffnc); ListTemplatesFunction listTemp = new ListTemplatesFunction(); engine.declareFunction(listTemp); funcs.Add(listTemp); LoadFunctionsFunction loadfunc = new LoadFunctionsFunction(); engine.declareFunction(loadfunc); funcs.Add(loadfunc); LoadFunctionGroupFunction loadfg = new LoadFunctionGroupFunction(); engine.declareFunction(loadfg); funcs.Add(loadfg); UsageFunction usage = new UsageFunction(); engine.declareFunction(usage); funcs.Add(usage); MatchesFunction mf = new MatchesFunction(); engine.declareFunction(mf); funcs.Add(mf); MemberTestFunction mtestf = new MemberTestFunction(); engine.declareFunction(mtestf); funcs.Add(mtestf); MemoryFreeFunction mff = new MemoryFreeFunction(); engine.declareFunction(mff); funcs.Add(mff); MemoryTotalFunction mtf = new MemoryTotalFunction(); engine.declareFunction(mtf); funcs.Add(mtf); MemoryUsedFunction musd = new MemoryUsedFunction(); engine.declareFunction(musd); funcs.Add(musd); MillisecondTime mstime = new MillisecondTime(); engine.declareFunction(mstime); funcs.Add(mstime); ModifyFunction mod = new ModifyFunction(); engine.declareFunction(mod); funcs.Add(mod); PPrintRuleFunction pprule = new PPrintRuleFunction(); engine.declareFunction(pprule); funcs.Add(pprule); PPrintTemplateFunction pptemp = new PPrintTemplateFunction(); engine.declareFunction(pptemp); funcs.Add(pptemp); PrintProfileFunction pproff = new PrintProfileFunction(); engine.declareFunction(pproff); funcs.Add(pproff); ProfileFunction proff = new ProfileFunction(); engine.declareFunction(proff); funcs.Add(proff); ResetFunction resetf = new ResetFunction(); engine.declareFunction(resetf); funcs.Add(resetf); ResetFactsFunction resetff = new ResetFactsFunction(); engine.declareFunction(resetff); funcs.Add(resetff); ResetObjectsFunction resetof = new ResetObjectsFunction(); engine.declareFunction(resetof); funcs.Add(resetof); RetractFunction rtract = new RetractFunction(); engine.declareFunction(rtract); funcs.Add(rtract); RightMatchesFunction rmfunc = new RightMatchesFunction(); engine.declareFunction(rmfunc); funcs.Add(rmfunc); RulesFunction rf = new RulesFunction(); engine.declareFunction(rf); engine.declareFunction(RulesFunction.LISTRULES, rf); funcs.Add(rf); SaveFactsFunction savefacts = new SaveFactsFunction(); engine.declareFunction(savefacts); funcs.Add(savefacts); SetFocusFunction setfoc = new SetFocusFunction(); engine.declareFunction(setfoc); funcs.Add(setfoc); SpoolFunction spool = new SpoolFunction(); engine.declareFunction(spool); funcs.Add(spool); TemplatesFunction tempf = new TemplatesFunction(); engine.declareFunction(tempf); engine.declareFunction(TemplatesFunction.LISTTEMPLATES, tempf); funcs.Add(tempf); TestRuleFunction trfunc = new TestRuleFunction(); engine.declareFunction(trfunc); funcs.Add(trfunc); UnDefruleFunction udrule = new UnDefruleFunction(); engine.declareFunction(udrule); funcs.Add(udrule); UnDeftemplateFunction udt = new UnDeftemplateFunction(); engine.declareFunction(udt); funcs.Add(udt); UnWatchFunction uwatchf = new UnWatchFunction(); engine.declareFunction(uwatchf); funcs.Add(uwatchf); UnProfileFunction uproff = new UnProfileFunction(); engine.declareFunction(uproff); funcs.Add(uproff); ValidateRuleFunction vrf = new ValidateRuleFunction(); engine.declareFunction(vrf); funcs.Add(vrf); VersionFunction ver = new VersionFunction(); engine.declareFunction(ver); funcs.Add(ver); //ViewFunction view = new ViewFunction(); //engine.declareFunction(view); //funcs.Add(view); WatchFunction watchf = new WatchFunction(); engine.declareFunction(watchf); funcs.Add(watchf); }
public virtual void loadFunctions(Rete engine) { Abs abs = new Abs(); engine.declareFunction(abs); funcs.Add(abs); Acos acos = new Acos(); engine.declareFunction(acos); funcs.Add(acos); Add add = new Add(); engine.declareFunction(add); funcs.Add(add); Asin asin = new Asin(); engine.declareFunction(asin); funcs.Add(asin); Atan atan = new Atan(); engine.declareFunction(atan); funcs.Add(atan); Ceil ceil = new Ceil(); engine.declareFunction(ceil); funcs.Add(ceil); Const cnst = new Const(); engine.declareFunction(cnst); funcs.Add(cnst); Cos cos = new Cos(); engine.declareFunction(cos); funcs.Add(cos); Degrees degrees = new Degrees(); engine.declareFunction(degrees); funcs.Add(degrees); Divide div = new Divide(); engine.declareFunction(div); funcs.Add(div); EqFunction eqf = new EqFunction(); engine.declareFunction(eqf); funcs.Add(eqf); Evenp evenp = new Evenp(); engine.declareFunction(evenp); funcs.Add(evenp); Exp exp = new Exp(); engine.declareFunction(exp); funcs.Add(exp); Floor floor = new Floor(); engine.declareFunction(floor); funcs.Add(floor); Greater gr = new Greater(); engine.declareFunction(gr); funcs.Add(gr); GreaterOrEqual gre = new GreaterOrEqual(); engine.declareFunction(gre); funcs.Add(gre); Less le = new Less(); engine.declareFunction(le); funcs.Add(le); LessOrEqual leoe = new LessOrEqual(); engine.declareFunction(leoe); funcs.Add(leoe); Log log = new Log(); engine.declareFunction(log); funcs.Add(log); Max max = new Max(); engine.declareFunction(max); funcs.Add(max); Min min = new Min(); engine.declareFunction(min); funcs.Add(min); Multiply mul = new Multiply(); engine.declareFunction(mul); funcs.Add(mul); NeqFunction neq = new NeqFunction(); engine.declareFunction(neq); funcs.Add(neq); Oddp oddp = new Oddp(); engine.declareFunction(oddp); funcs.Add(oddp); Pow pow = new Pow(); engine.declareFunction(pow); funcs.Add(pow); Radians radians = new Radians(); engine.declareFunction(radians); funcs.Add(radians); Random random = new Random(); engine.declareFunction(random); funcs.Add(random); Rint rint = new Rint(); engine.declareFunction(rint); funcs.Add(rint); Round round = new Round(); engine.declareFunction(round); funcs.Add(round); Sin sin = new Sin(); engine.declareFunction(sin); funcs.Add(sin); Sqrt sqrt = new Sqrt(); engine.declareFunction(sqrt); funcs.Add(sqrt); Subtract sub = new Subtract(); engine.declareFunction(sub); funcs.Add(sub); Tan tan = new Tan(); engine.declareFunction(tan); funcs.Add(tan); // now we Add the functions under alias engine.declareFunction("+", add); engine.declareFunction("-", sub); engine.declareFunction("*", mul); engine.declareFunction("/", div); engine.declareFunction("**", pow); engine.declareFunction(">", gr); engine.declareFunction(">=", gre); engine.declareFunction("<", le); engine.declareFunction("<=", leoe); }