private bool Compendifp(Moment[] par, Moment res, ISet <int> parnum) { if (par[0].Boolean) { if (parnum.Contains(1)) { res.CopyValueFrom(par[1]); res.Nd = par[0].Nd | par[1].Nd; } else { return(false); } } if (par[2].Boolean) { if (parnum.Contains(3)) { res.CopyValueFrom(par[3]); res.Nd = par[2].Nd | par[3].Nd; } else { return(false); } } if (!par[0].Boolean && !par[2].Boolean) { res.Nd |= 1; } return(true); }
private bool Compvalueatpoints(Moment[] par, Moment res, ISet <int> parnum) { if (parnum.Contains(1)) { res.CopyValueFrom(par[0]); } return(parnum.Contains(1)); }
public void makeerrorusb(Moment[] par, Moment res) { res.CopyValueFrom(par[0]); if (par[2].Boolean) { res.Error = null; } PutErr(par[1].String, res); }
private bool Compsettime(Moment[] par, Moment res, ISet <int> parnum) { if (parnum.Contains(0)) { res.CopyValueFrom(par[0]); res.Time = par[1].Date; } return(parnum.Contains(0)); }
private bool Compunion(Moment[] par, Moment res, ISet <int> parnum) { int n = parnum.Min(); res.CopyValueFrom(par[n]); res.Nd = par[n].Nd; res.Error = par[n].Error; return(true); }
private bool Compselectpoints(Moment[] par, Moment res, ISet <int> parnum) { bool e = parnum.Contains(0) && par[1].Boolean; if (e) { res.CopyValueFrom(par[0]); } return(e); }
//Оператор end со значениями, параметры - фильтр и значение по true, фильтр и значение по false public void endif(Moment[] par, Moment res) { if (par[0].Boolean) { res.CopyValueFrom(par[1]); res.Nd = par[0].Nd | par[1].Nd; res.Error = par[0].Error | par[1].Error; } if (par[2].Boolean) { res.CopyValueFrom(par[3]); res.Nd = par[2].Nd | par[3].Nd; res.Error = par[2].Error | par[3].Error; } if (!par[0].Boolean && !par[2].Boolean) { res.Nd |= 1; } }
public void makecertainuib(Moment[] par, Moment res) { res.CopyValueFrom(par[0]); if (par[2].Boolean) { res.Nd = par[1].Integer; } else { res.Nd |= par[1].Integer; } }
//Функции типа ComplicateDelegate private bool Compassignp(Moment[] par, Moment res, ISet <int> parnum) { bool e = parnum.Contains(0) | parnum.Contains(1); if (e) { res.CopyValueFrom(par[2].Boolean ? par[1] : par[0]); res.Nd = par[1].Nd | par[2].Nd; res.Error = par[1].Error | par[2].Error; } return(e); }
public void maxu(Moment[] par, Moment res) { Moment mv = par[0]; for (int i = 1; i < par.Length; ++i) { if (par[i] > mv) { mv = par[i]; } } res.CopyValueFrom(mv); }
//Присвоение: параметры - переменная, выражение и фильтр по if public void assign(Moment[] par, Moment res) { res.CopyValueFrom(par[2].Boolean ? par[1] : par[0]); res.Nd = par[1].Nd | par[2].Nd; res.Error = par[1].Error | par[2].Error; }