internal override void Emit(ILGenerator ilg, bool preserve) { Cond.Emit(ilg); var lbFalse = ilg.DefineLabel(); var lbTrue = ilg.DefineLabel(); ilg.Emit(OpCodes.Brfalse, lbFalse); True.Emit(ilg); ilg.Emit(OpCodes.Br, lbTrue); ilg.MarkLabel(lbFalse); False.Emit(ilg); ilg.MarkLabel(lbTrue); if (!preserve) { ilg.Emit(OpCodes.Pop); } }
internal override IEnumerable <String> ExtractNames() { foreach (var n in Condition.ExtractNames()) { yield return(n); } foreach (var n in True.ExtractNames()) { yield return(n); } if (False != null) { foreach (var n in False.ExtractNames()) { yield return(n); } } }
public override Object ConvertBack(Object value, Type targetType, Object parameter, CultureInfo culture) { if (value != null && value is T t) { if (True.Equals(t)) { return(true); } if (False.Equals(t)) { return(false); } if (Null.Equals(t)) { return(null); } } return(DependencyProperty.UnsetValue); }
public void IsClosed_ContradictionByNegatedTrue_ExpectedTrueReturned() { // Arrange Negation negatedTrue = new Negation(); Proposition proposition = new True(); negatedTrue.LeftSuccessor = proposition; HashSet <Proposition> propositionSet = new HashSet <Proposition>() { negatedTrue }; SemanticTableauxElement element = new SemanticTableauxElement(propositionSet); // Act bool isBranchClosed = element.IsClosed(); // Assert isBranchClosed.Should().BeTrue("Because the tableaux element has a negated true in its set, which DOES contradict as it is equivalent to False."); }
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value == null) { return(DependencyProperty.UnsetValue); } var s = value.ToString(); if (s == null) { return(DependencyProperty.UnsetValue); } if (s.ToUpper() == True.ToUpper()) { return(true); } if (s.ToUpper() == False.ToUpper()) { return(false); } return(DependencyProperty.UnsetValue); }
public void Test2() { ObjectVariableTerm x = new ObjectVariable('x'); IndividualConstantTerm <RationalNumber> half = (IndividualConstant <RationalNumber>)(new RationalNumber(1, 2)); IndividualConstantTerm <RationalNumber> one = (IndividualConstant <RationalNumber>) new RationalNumber(1, 1); var pr1 = new PredicateFormula(Predicates.More, x, half); var pr2 = new PredicateFormula(Predicates.Less, x, one); var f1 = new PropositionalConnectiveFormula(Conjunction.GetInstance(), pr1, pr2); var f2 = new QuantifierFormula(ExistentialQuantifier.GetInstance(), x, f1); var actual = SimpleTarskiAlgorithm.QuantifiersElimination(f2); var expected = new PredicateFormula(True.GetInstance()); Assert.AreEqual(expected, actual); }
public async override Task <bool> MatchAsync(RoutingContextBase routingContext, string sAddress, IDictionary <string, object> Context, Stream Body) { if (null == Predicate) { throw new ArgumentNullException("Predicate"); } if (false == await base.MatchAsync(routingContext, sAddress, Context, Body)) { return(false); } if (true == await Predicate.MatchAsync(routingContext, sAddress, Context, Body)) { if (null != True) { return(await True.MatchAsync(routingContext, sAddress, Context, Body)); } } else { if (null != False) { return(await False.MatchAsync(routingContext, sAddress, Context, Body)); } } return(true); }
public BuiltInFunctions() { // Text Functions["len"] = new Len(); Functions["lower"] = new Lower(); Functions["upper"] = new Upper(); Functions["left"] = new Left(); Functions["right"] = new Right(); Functions["mid"] = new Mid(); Functions["replace"] = new Replace(); Functions["rept"] = new Rept(); Functions["substitute"] = new Substitute(); Functions["concatenate"] = new Concatenate(); Functions["concat"] = new Concat(); Functions["textjoin"] = new Textjoin(); Functions["char"] = new CharFunction(); Functions["exact"] = new Exact(); Functions["find"] = new Find(); Functions["fixed"] = new Fixed(); Functions["proper"] = new Proper(); Functions["search"] = new Search(); Functions["text"] = new Text.Text(); Functions["t"] = new T(); Functions["hyperlink"] = new Hyperlink(); Functions["value"] = new Value(CultureInfo.CurrentCulture); Functions["trim"] = new Trim(); Functions["clean"] = new Clean(); Functions["unicode"] = new Unicode(); Functions["unichar"] = new Unichar(); Functions["numbervalue"] = new NumberValue(); Functions["dollar"] = new Dollar(); // Numbers Functions["int"] = new CInt(); // Math Functions["aggregate"] = new Aggregate(); Functions["abs"] = new Abs(); Functions["asin"] = new Asin(); Functions["asinh"] = new Asinh(); Functions["acot"] = new Acot(); Functions["acoth"] = new Acoth(); Functions["cos"] = new Cos(); Functions["cot"] = new Cot(); Functions["coth"] = new Coth(); Functions["cosh"] = new Cosh(); Functions["csc"] = new Csc(); Functions["csch"] = new Csch(); Functions["power"] = new Power(); Functions["gcd"] = new Gcd(); Functions["lcm"] = new Lcm(); Functions["sec"] = new Sec(); Functions["sech"] = new SecH(); Functions["sign"] = new Sign(); Functions["sqrt"] = new Sqrt(); Functions["sqrtpi"] = new SqrtPi(); Functions["pi"] = new Pi(); Functions["product"] = new Product(); Functions["ceiling"] = new Ceiling(); Functions["ceiling.precise"] = new CeilingPrecise(); Functions["ceiling.math"] = new CeilingMath(); Functions["iso.ceiling"] = new IsoCeiling(); Functions["combin"] = new Combin(); Functions["combina"] = new Combina(); Functions["permut"] = new Permut(); Functions["permutationa"] = new Permutationa(); Functions["count"] = new Count(); Functions["counta"] = new CountA(); Functions["countblank"] = new CountBlank(); Functions["countif"] = new CountIf(); Functions["countifs"] = new CountIfs(); Functions["fact"] = new Fact(); Functions["factdouble"] = new FactDouble(); Functions["floor"] = new Floor(); Functions["floor.precise"] = new FloorPrecise(); Functions["floor.math"] = new FloorMath(); Functions["radians"] = new Radians(); Functions["roman"] = new Roman(); Functions["sin"] = new Sin(); Functions["sinh"] = new Sinh(); Functions["sum"] = new Sum(); Functions["sumif"] = new SumIf(); Functions["sumifs"] = new SumIfs(); Functions["sumproduct"] = new SumProduct(); Functions["sumsq"] = new Sumsq(); Functions["sumxmy2"] = new Sumxmy2(); Functions["sumx2my2"] = new SumX2mY2(); Functions["sumx2py2"] = new SumX2pY2(); Functions["seriessum"] = new Seriessum(); Functions["stdev"] = new Stdev(); Functions["stdeva"] = new Stdeva(); Functions["stdevp"] = new StdevP(); Functions["stdevpa"] = new Stdevpa(); Functions["stdev.s"] = new StdevDotS(); Functions["stdev.p"] = new StdevDotP(); Functions["subtotal"] = new Subtotal(); Functions["exp"] = new Exp(); Functions["log"] = new Log(); Functions["log10"] = new Log10(); Functions["ln"] = new Ln(); Functions["max"] = new Max(); Functions["maxa"] = new Maxa(); Functions["median"] = new Median(); Functions["min"] = new Min(); Functions["mina"] = new Mina(); Functions["mod"] = new Mod(); Functions["mode"] = new Mode(); Functions["mode.sngl"] = new ModeSngl(); Functions["mround"] = new Mround(); Functions["multinomial"] = new Multinomial(); Functions["average"] = new Average(); Functions["averagea"] = new AverageA(); Functions["averageif"] = new AverageIf(); Functions["averageifs"] = new AverageIfs(); Functions["round"] = new Round(); Functions["rounddown"] = new Rounddown(); Functions["roundup"] = new Roundup(); Functions["rand"] = new Rand(); Functions["randbetween"] = new RandBetween(); Functions["rank"] = new Rank(); Functions["rank.eq"] = new RankEq(); Functions["rank.avg"] = new RankAvg(); Functions["percentile"] = new Percentile(); Functions["percentile.inc"] = new PercentileInc(); Functions["percentile.exc"] = new PercentileExc(); Functions["quartile"] = new Quartile(); Functions["quartile.inc"] = new QuartileInc(); Functions["quartile.exc"] = new QuartileExc(); Functions["percentrank"] = new Percentrank(); Functions["percentrank.inc"] = new PercentrankInc(); Functions["percentrank.exc"] = new PercentrankExc(); Functions["quotient"] = new Quotient(); Functions["trunc"] = new Trunc(); Functions["tan"] = new Tan(); Functions["tanh"] = new Tanh(); Functions["atan"] = new Atan(); Functions["atan2"] = new Atan2(); Functions["atanh"] = new Atanh(); Functions["acos"] = new Acos(); Functions["acosh"] = new Acosh(); Functions["covar"] = new Covar(); Functions["covariance.p"] = new CovarianceP(); Functions["covariance.s"] = new CovarianceS(); Functions["var"] = new Var(); Functions["vara"] = new Vara(); Functions["var.s"] = new VarDotS(); Functions["varp"] = new VarP(); Functions["varpa"] = new Varpa(); Functions["var.p"] = new VarDotP(); Functions["large"] = new Large(); Functions["small"] = new Small(); Functions["degrees"] = new Degrees(); Functions["odd"] = new Odd(); Functions["even"] = new Even(); // Information Functions["isblank"] = new IsBlank(); Functions["isnumber"] = new IsNumber(); Functions["istext"] = new IsText(); Functions["isnontext"] = new IsNonText(); Functions["iserror"] = new IsError(); Functions["iserr"] = new IsErr(); Functions["error.type"] = new ErrorType(); Functions["iseven"] = new IsEven(); Functions["isodd"] = new IsOdd(); Functions["islogical"] = new IsLogical(); Functions["isna"] = new IsNa(); Functions["na"] = new Na(); Functions["n"] = new N(); Functions["type"] = new TypeFunction(); // Logical Functions["if"] = new If(); Functions["ifs"] = new Ifs(); Functions["maxifs"] = new MaxIfs(); Functions["minifs"] = new MinIfs(); Functions["iferror"] = new IfError(); Functions["ifna"] = new IfNa(); Functions["not"] = new Not(); Functions["and"] = new And(); Functions["or"] = new Or(); Functions["true"] = new True(); Functions["false"] = new False(); Functions["switch"] = new Switch(); Functions["xor"] = new Xor(); // Reference and lookup Functions["address"] = new Address(); Functions["hlookup"] = new HLookup(); Functions["vlookup"] = new VLookup(); Functions["lookup"] = new Lookup(); Functions["match"] = new Match(); Functions["row"] = new Row(); Functions["rows"] = new Rows(); Functions["column"] = new Column(); Functions["columns"] = new Columns(); Functions["choose"] = new Choose(); Functions["index"] = new RefAndLookup.Index(); Functions["indirect"] = new Indirect(); Functions["offset"] = new Offset(); // Date Functions["date"] = new Date(); Functions["datedif"] = new DateDif(); Functions["today"] = new Today(); Functions["now"] = new Now(); Functions["day"] = new Day(); Functions["month"] = new Month(); Functions["year"] = new Year(); Functions["time"] = new Time(); Functions["hour"] = new Hour(); Functions["minute"] = new Minute(); Functions["second"] = new Second(); Functions["weeknum"] = new Weeknum(); Functions["weekday"] = new Weekday(); Functions["days"] = new Days(); Functions["days360"] = new Days360(); Functions["yearfrac"] = new Yearfrac(); Functions["edate"] = new Edate(); Functions["eomonth"] = new Eomonth(); Functions["isoweeknum"] = new IsoWeekNum(); Functions["workday"] = new Workday(); Functions["workday.intl"] = new WorkdayIntl(); Functions["networkdays"] = new Networkdays(); Functions["networkdays.intl"] = new NetworkdaysIntl(); Functions["datevalue"] = new DateValue(); Functions["timevalue"] = new TimeValue(); // Database Functions["dget"] = new Dget(); Functions["dcount"] = new Dcount(); Functions["dcounta"] = new DcountA(); Functions["dmax"] = new Dmax(); Functions["dmin"] = new Dmin(); Functions["dsum"] = new Dsum(); Functions["daverage"] = new Daverage(); Functions["dvar"] = new Dvar(); Functions["dvarp"] = new Dvarp(); //Finance Functions["cumipmt"] = new Cumipmt(); Functions["cumprinc"] = new Cumprinc(); Functions["dollarde"] = new DollarDe(); Functions["dollarfr"] = new DollarFr(); Functions["ddb"] = new Ddb(); Functions["effect"] = new Effect(); Functions["fvschedule"] = new FvSchedule(); Functions["pduration"] = new Pduration(); Functions["rri"] = new Rri(); Functions["pmt"] = new Pmt(); Functions["ppmt"] = new Ppmt(); Functions["ipmt"] = new Ipmt(); Functions["ispmt"] = new IsPmt(); Functions["pv"] = new Pv(); Functions["fv"] = new Fv(); Functions["npv"] = new Npv(); Functions["rate"] = new Rate(); Functions["nper"] = new Nper(); Functions["nominal"] = new Nominal(); Functions["irr"] = new Irr(); Functions["mirr"] = new Mirr(); Functions["xirr"] = new Xirr(); Functions["sln"] = new Sln(); Functions["syd"] = new Syd(); Functions["xnpv"] = new Xnpv(); Functions["coupdays"] = new Coupdays(); Functions["coupdaysnc"] = new Coupdaysnc(); Functions["coupdaybs"] = new Coupdaybs(); Functions["coupnum"] = new Coupnum(); Functions["coupncd"] = new Coupncd(); Functions["couppcd"] = new Couppcd(); Functions["price"] = new Price(); Functions["yield"] = new Yield(); Functions["yieldmat"] = new Yieldmat(); Functions["duration"] = new Duration(); Functions["disc"] = new Disc(); //Engineering Functions["bitand"] = new BitAnd(); Functions["bitor"] = new BitOr(); Functions["bitxor"] = new BitXor(); Functions["bitlshift"] = new BitLshift(); Functions["bitrshift"] = new BitRshift(); Functions["convert"] = new ConvertFunction(); Functions["bin2dec"] = new Bin2Dec(); Functions["bin2hex"] = new Bin2Hex(); Functions["bin2oct"] = new Bin2Oct(); Functions["dec2bin"] = new Dec2Bin(); Functions["dec2hex"] = new Dec2Hex(); Functions["dec2oct"] = new Dec2Oct(); Functions["hex2bin"] = new Hex2Bin(); Functions["hex2dec"] = new Hex2Dec(); Functions["hex2oct"] = new Hex2Oct(); Functions["oct2bin"] = new Oct2Bin(); Functions["oct2dec"] = new Oct2Dec(); Functions["oct2hex"] = new Oct2Hex(); Functions["delta"] = new Delta(); Functions["erf"] = new Erf(); Functions["erf.precise"] = new ErfPrecise(); Functions["erfc"] = new Erfc(); Functions["erfc.precise"] = new ErfcPrecise(); Functions["besseli"] = new BesselI(); Functions["besselj"] = new BesselJ(); Functions["besselk"] = new BesselK(); Functions["bessely"] = new BesselY(); }
protected virtual True VisitTrue(True node) { return(VisitSyntaxNode(node) as True); }
public void TestXorTrue() { TestBoolean(True.Xor().False(), true); }
static False Not(True a) => new False();
public void TestAndAllTrue() { TestBoolean(True.And().True2().And().True3(), true); }
public void TestOrAllTrue() { TestBoolean(True.Or().Group(True2.Or().True3()), true); }
protected override INotifyExpression <T> ApplyParametersCore(IDictionary <string, object> parameters, IDictionary <INotifiable, INotifiable> trace) { return(new ObservableConditionalExpression <T>(Test.ApplyParameters(parameters, trace), True.ApplyParameters(parameters, trace), False.ApplyParameters(parameters, trace))); }
public override object Interpret(SucoEnvironment env, int?[] grid) { var result = Condition.Interpret(env, grid); return(result == null ? null : (bool)result ? True.Interpret(env, grid) : False.Interpret(env, grid)); }
public void Visit(True node) { }
public override string ToString() { return(string.Format("({0} ? {1} : {2})", Test.ToString(), True.ToString(), False.ToString()) + "{" + (Value != null ? Value.ToString() : "(null)") + "}"); }
protected override True VisitTrue(True node) { visitedTrue = true; Assert.IsTrue(node.Value == "true"); return(base.VisitTrue(node)); }
public IFormula visit(True f) { return(f); }
// `Or` can only be called if one of its arguments is of type True. // I.e. `Or(new False(), new False())` won't be accepted by the type checker. static void Or(True a, object b) { }
private static Function[] ProduceFunctions() { Function[] retval = new Function[368]; retval[0] = new Count(); // COUNT retval[FunctionID.IF] = new If(); // IF retval[2] = LogicalFunction.ISNA; // IsNA retval[3] = LogicalFunction.ISERROR; // IsERROR retval[FunctionID.SUM] = AggregateFunction.SUM; // SUM retval[5] = AggregateFunction.AVERAGE; // AVERAGE retval[6] = AggregateFunction.MIN; // MIN retval[7] = AggregateFunction.MAX; // MAX retval[8] = new Row(); // ROW retval[9] = new Column(); // COLUMN retval[10] = new Na(); // NA retval[11] = new Npv(); // NPV retval[12] = AggregateFunction.STDEV; // STDEV retval[13] = NumericFunction.DOLLAR; // DOLLAR retval[14] = new NotImplementedFunction(); // FIXED retval[15] = NumericFunction.SIN; // SIN retval[16] = NumericFunction.COS; // COS retval[17] = NumericFunction.TAN; // TAN retval[18] = NumericFunction.ATAN; // ATAN retval[19] = new Pi(); // PI retval[20] = NumericFunction.SQRT; // SQRT retval[21] = NumericFunction.EXP; // EXP retval[22] = NumericFunction.LN; // LN retval[23] = NumericFunction.LOG10; // LOG10 retval[24] = NumericFunction.ABS; // ABS retval[25] = NumericFunction.INT; // INT retval[26] = NumericFunction.SIGN; // SIGN retval[27] = NumericFunction.ROUND; // ROUND retval[28] = new Lookup(); // LOOKUP retval[29] = new Index(); // INDEX retval[30] = new NotImplementedFunction(); // REPT retval[31] = TextFunction.MID; // MID retval[32] = TextFunction.LEN; // LEN retval[33] = new Value(); // VALUE retval[34] = new True(); // TRUE retval[35] = new False(); // FALSE retval[36] = new And(); // AND retval[37] = new Or(); // OR retval[38] = new Not(); // NOT retval[39] = NumericFunction.MOD; // MOD retval[40] = new NotImplementedFunction(); // DCOUNT retval[41] = new NotImplementedFunction(); // DSUM retval[42] = new NotImplementedFunction(); // DAVERAGE retval[43] = new NotImplementedFunction(); // DMIN retval[44] = new NotImplementedFunction(); // DMAX retval[45] = new NotImplementedFunction(); // DSTDEV retval[46] = new NotImplementedFunction(); // VAR retval[47] = new NotImplementedFunction(); // DVAR retval[48] = new NotImplementedFunction(); // TEXT retval[49] = new NotImplementedFunction(); // LINEST retval[50] = new NotImplementedFunction(); // TREND retval[51] = new NotImplementedFunction(); // LOGEST retval[52] = new NotImplementedFunction(); // GROWTH retval[53] = new NotImplementedFunction(); // GOTO retval[54] = new NotImplementedFunction(); // HALT retval[56] = new NotImplementedFunction(); // PV retval[57] = FinanceFunction.FV; // FV retval[58] = FinanceFunction.NPER; // NPER retval[59] = FinanceFunction.PMT; // PMT retval[60] = new NotImplementedFunction(); // RATE retval[61] = new NotImplementedFunction(); // MIRR retval[62] = new NotImplementedFunction(); // IRR retval[63] = new Rand(); // RAND retval[64] = new Match(); // MATCH retval[65] = DateFunc.instance; // DATE retval[66] = new NotImplementedFunction(); // TIME retval[67] = CalendarFieldFunction.DAY; // DAY retval[68] = CalendarFieldFunction.MONTH; // MONTH retval[69] = CalendarFieldFunction.YEAR; // YEAR retval[70] = new NotImplementedFunction(); // WEEKDAY retval[71] = new NotImplementedFunction(); // HOUR retval[72] = new NotImplementedFunction(); // MINUTE retval[73] = new NotImplementedFunction(); // SECOND retval[74] = new NotImplementedFunction(); // NOW retval[75] = new NotImplementedFunction(); // AREAS retval[76] = new Rows(); // ROWS retval[77] = new Columns(); // COLUMNS retval[FunctionID.OFFSET] = new Offset(); // Offset.Evaluate has a different signature retval[79] = new NotImplementedFunction(); // ABSREF retval[80] = new NotImplementedFunction(); // RELREF retval[81] = new NotImplementedFunction(); // ARGUMENT retval[82] = TextFunction.SEARCH; retval[83] = new NotImplementedFunction(); // TRANSPOSE retval[84] = new NotImplementedFunction(); // ERROR retval[85] = new NotImplementedFunction(); // STEP retval[86] = new NotImplementedFunction(); // TYPE retval[87] = new NotImplementedFunction(); // ECHO retval[88] = new NotImplementedFunction(); // SetNAME retval[89] = new NotImplementedFunction(); // CALLER retval[90] = new NotImplementedFunction(); // DEREF retval[91] = new NotImplementedFunction(); // WINDOWS retval[92] = new NotImplementedFunction(); // SERIES retval[93] = new NotImplementedFunction(); // DOCUMENTS retval[94] = new NotImplementedFunction(); // ACTIVECELL retval[95] = new NotImplementedFunction(); // SELECTION retval[96] = new NotImplementedFunction(); // RESULT retval[97] = NumericFunction.ATAN2; // ATAN2 retval[98] = NumericFunction.ASIN; // ASIN retval[99] = NumericFunction.ACOS; // ACOS retval[FunctionID.CHOOSE] = new Choose(); retval[101] = new Hlookup(); // HLOOKUP retval[102] = new Vlookup(); // VLOOKUP retval[103] = new NotImplementedFunction(); // LINKS retval[104] = new NotImplementedFunction(); // INPUT retval[105] = LogicalFunction.ISREF; // IsREF retval[106] = new NotImplementedFunction(); // GetFORMULA retval[107] = new NotImplementedFunction(); // GetNAME retval[108] = new NotImplementedFunction(); // SetVALUE retval[109] = NumericFunction.LOG; // LOG retval[110] = new NotImplementedFunction(); // EXEC retval[111] = new NotImplementedFunction(); // CHAR retval[112] = TextFunction.LOWER; // LOWER retval[113] = TextFunction.UPPER; // UPPER retval[114] = new NotImplementedFunction(); // PROPER retval[115] = TextFunction.LEFT; // LEFT retval[116] = TextFunction.RIGHT; // RIGHT retval[117] = TextFunction.EXACT; // EXACT retval[118] = TextFunction.TRIM; // TRIM retval[119] = new Replace(); // Replace retval[120] = new Substitute(); // SUBSTITUTE retval[121] = new NotImplementedFunction(); // CODE retval[122] = new NotImplementedFunction(); // NAMES retval[123] = new NotImplementedFunction(); // DIRECTORY retval[124] = TextFunction.FIND; // Find retval[125] = new NotImplementedFunction(); // CELL retval[126] = new NotImplementedFunction(); // IsERR retval[127] = LogicalFunction.ISTEXT; // IsTEXT retval[128] = LogicalFunction.ISNUMBER; // IsNUMBER retval[129] = LogicalFunction.ISBLANK; // IsBLANK retval[130] = new T(); // T retval[131] = new NotImplementedFunction(); // N retval[132] = new NotImplementedFunction(); // FOPEN retval[133] = new NotImplementedFunction(); // FCLOSE retval[134] = new NotImplementedFunction(); // FSIZE retval[135] = new NotImplementedFunction(); // FReadLN retval[136] = new NotImplementedFunction(); // FRead retval[137] = new NotImplementedFunction(); // FWriteLN retval[138] = new NotImplementedFunction(); // FWrite retval[139] = new NotImplementedFunction(); // FPOS retval[140] = new NotImplementedFunction(); // DATEVALUE retval[141] = new NotImplementedFunction(); // TIMEVALUE retval[142] = new NotImplementedFunction(); // SLN retval[143] = new NotImplementedFunction(); // SYD retval[144] = new NotImplementedFunction(); // DDB retval[145] = new NotImplementedFunction(); // GetDEF retval[146] = new NotImplementedFunction(); // REFTEXT retval[147] = new NotImplementedFunction(); // TEXTREF retval[FunctionID.INDIRECT] = null; // Indirect.Evaluate has different signature retval[149] = new NotImplementedFunction(); // REGISTER retval[150] = new NotImplementedFunction(); // CALL retval[151] = new NotImplementedFunction(); // AddBAR retval[152] = new NotImplementedFunction(); // AddMENU retval[153] = new NotImplementedFunction(); // AddCOMMAND retval[154] = new NotImplementedFunction(); // ENABLECOMMAND retval[155] = new NotImplementedFunction(); // CHECKCOMMAND retval[156] = new NotImplementedFunction(); // RenameCOMMAND retval[157] = new NotImplementedFunction(); // SHOWBAR retval[158] = new NotImplementedFunction(); // DELETEMENU retval[159] = new NotImplementedFunction(); // DELETECOMMAND retval[160] = new NotImplementedFunction(); // GetCHARTITEM retval[161] = new NotImplementedFunction(); // DIALOGBOX retval[162] = new NotImplementedFunction(); // CLEAN retval[163] = new NotImplementedFunction(); // MDETERM retval[164] = new NotImplementedFunction(); // MINVERSE retval[165] = new NotImplementedFunction(); // MMULT retval[166] = new NotImplementedFunction(); // FILES retval[167] = new NotImplementedFunction(); // IPMT retval[168] = new NotImplementedFunction(); // PPMT retval[169] = new Counta(); // COUNTA retval[170] = new NotImplementedFunction(); // CANCELKEY retval[175] = new NotImplementedFunction(); // INITIATE retval[176] = new NotImplementedFunction(); // REQUEST retval[177] = new NotImplementedFunction(); // POKE retval[178] = new NotImplementedFunction(); // EXECUTE retval[179] = new NotImplementedFunction(); // TERMINATE retval[180] = new NotImplementedFunction(); // RESTART retval[181] = new NotImplementedFunction(); // HELP retval[182] = new NotImplementedFunction(); // GetBAR retval[183] = AggregateFunction.PRODUCT; // PRODUCT retval[184] = NumericFunction.FACT; // FACT retval[185] = new NotImplementedFunction(); // GetCELL retval[186] = new NotImplementedFunction(); // GetWORKSPACE retval[187] = new NotImplementedFunction(); // GetWINDOW retval[188] = new NotImplementedFunction(); // GetDOCUMENT retval[189] = new NotImplementedFunction(); // DPRODUCT retval[190] = LogicalFunction.ISNONTEXT; // IsNONTEXT retval[191] = new NotImplementedFunction(); // GetNOTE retval[192] = new NotImplementedFunction(); // NOTE retval[193] = new NotImplementedFunction(); // STDEVP retval[194] = new NotImplementedFunction(); // VARP retval[195] = new NotImplementedFunction(); // DSTDEVP retval[196] = new NotImplementedFunction(); // DVARP retval[197] = new NotImplementedFunction(); // TRUNC retval[198] = LogicalFunction.ISLOGICAL; // IsLOGICAL retval[199] = new NotImplementedFunction(); // DCOUNTA retval[200] = new NotImplementedFunction(); // DELETEBAR retval[201] = new NotImplementedFunction(); // UNREGISTER retval[204] = new NotImplementedFunction(); // USDOLLAR retval[205] = new NotImplementedFunction(); // FindB retval[206] = new NotImplementedFunction(); // SEARCHB retval[207] = new NotImplementedFunction(); // ReplaceB retval[208] = new NotImplementedFunction(); // LEFTB retval[209] = new NotImplementedFunction(); // RIGHTB retval[210] = new NotImplementedFunction(); // MIDB retval[211] = new NotImplementedFunction(); // LENB retval[212] = NumericFunction.ROUNDUP; // ROUNDUP retval[213] = NumericFunction.ROUNDDOWN; // ROUNDDOWN retval[214] = new NotImplementedFunction(); // ASC retval[215] = new NotImplementedFunction(); // DBCS retval[216] = new NotImplementedFunction(); // RANK retval[219] = new NotImplementedFunction(); // AddRESS retval[220] = new NotImplementedFunction(); // DAYS360 retval[221] = new NotImplementedFunction(); // TODAY retval[222] = new NotImplementedFunction(); // VDB retval[227] = AggregateFunction.MEDIAN; // MEDIAN retval[228] = new Sumproduct(); // SUMPRODUCT retval[229] = NumericFunction.SINH; // SINH retval[230] = NumericFunction.COSH; // COSH retval[231] = NumericFunction.TANH; // TANH retval[232] = NumericFunction.ASINH; // ASINH retval[233] = NumericFunction.ACOSH; // ACOSH retval[234] = NumericFunction.ATANH; // ATANH retval[235] = new NotImplementedFunction(); // DGet retval[236] = new NotImplementedFunction(); // CreateOBJECT retval[237] = new NotImplementedFunction(); // VOLATILE retval[238] = new NotImplementedFunction(); // LASTERROR retval[239] = new NotImplementedFunction(); // CUSTOMUNDO retval[240] = new NotImplementedFunction(); // CUSTOMREPEAT retval[241] = new NotImplementedFunction(); // FORMULAConvert retval[242] = new NotImplementedFunction(); // GetLINKINFO retval[243] = new NotImplementedFunction(); // TEXTBOX retval[244] = new NotImplementedFunction(); // INFO retval[245] = new NotImplementedFunction(); // GROUP retval[246] = new NotImplementedFunction(); // GetOBJECT retval[247] = new NotImplementedFunction(); // DB retval[248] = new NotImplementedFunction(); // PAUSE retval[250] = new NotImplementedFunction(); // RESUME retval[252] = new NotImplementedFunction(); // FREQUENCY retval[253] = new NotImplementedFunction(); // AddTOOLBAR retval[254] = new NotImplementedFunction(); // DELETETOOLBAR retval[FunctionID.EXTERNAL_FUNC] = null; // ExternalFunction is a FreeREfFunction retval[256] = new NotImplementedFunction(); // RESetTOOLBAR retval[257] = new NotImplementedFunction(); // EVALUATE retval[258] = new NotImplementedFunction(); // GetTOOLBAR retval[259] = new NotImplementedFunction(); // GetTOOL retval[260] = new NotImplementedFunction(); // SPELLINGCHECK retval[261] = new NotImplementedFunction(); // ERRORTYPE retval[262] = new NotImplementedFunction(); // APPTITLE retval[263] = new NotImplementedFunction(); // WINDOWTITLE retval[264] = new NotImplementedFunction(); // SAVETOOLBAR retval[265] = new NotImplementedFunction(); // ENABLETOOL retval[266] = new NotImplementedFunction(); // PRESSTOOL retval[267] = new NotImplementedFunction(); // REGISTERID retval[268] = new NotImplementedFunction(); // GetWORKBOOK retval[269] = AggregateFunction.AVEDEV; // AVEDEV retval[270] = new NotImplementedFunction(); // BETADIST retval[271] = new NotImplementedFunction(); // GAMMALN retval[272] = new NotImplementedFunction(); // BETAINV retval[273] = new NotImplementedFunction(); // BINOMDIST retval[274] = new NotImplementedFunction(); // CHIDIST retval[275] = new NotImplementedFunction(); // CHIINV retval[276] = NumericFunction.COMBIN; // COMBIN retval[277] = new NotImplementedFunction(); // CONFIDENCE retval[278] = new NotImplementedFunction(); // CRITBINOM retval[279] = new Even(); // EVEN retval[280] = new NotImplementedFunction(); // EXPONDIST retval[281] = new NotImplementedFunction(); // FDIST retval[282] = new NotImplementedFunction(); // FINV retval[283] = new NotImplementedFunction(); // FISHER retval[284] = new NotImplementedFunction(); // FISHERINV retval[285] = NumericFunction.FLOOR; // FLOOR retval[286] = new NotImplementedFunction(); // GAMMADIST retval[287] = new NotImplementedFunction(); // GAMMAINV retval[288] = NumericFunction.CEILING; // CEILING retval[289] = new NotImplementedFunction(); // HYPGEOMDIST retval[290] = new NotImplementedFunction(); // LOGNORMDIST retval[291] = new NotImplementedFunction(); // LOGINV retval[292] = new NotImplementedFunction(); // NEGBINOMDIST retval[293] = new NotImplementedFunction(); // NORMDIST retval[294] = new NotImplementedFunction(); // NORMSDIST retval[295] = new NotImplementedFunction(); // NORMINV retval[296] = new NotImplementedFunction(); // NORMSINV retval[297] = new NotImplementedFunction(); // STANDARDIZE retval[298] = new Odd(); // ODD retval[299] = new NotImplementedFunction(); // PERMUT retval[300] = new NotImplementedFunction(); // POISSON retval[301] = new NotImplementedFunction(); // TDIST retval[302] = new NotImplementedFunction(); // WEIBULL retval[303] = new Sumxmy2(); // SUMXMY2 retval[304] = new Sumx2my2(); // SUMX2MY2 retval[305] = new Sumx2py2(); // SUMX2PY2 retval[306] = new NotImplementedFunction(); // CHITEST retval[307] = new NotImplementedFunction(); // CORREL retval[308] = new NotImplementedFunction(); // COVAR retval[309] = new NotImplementedFunction(); // FORECAST retval[310] = new NotImplementedFunction(); // FTEST retval[311] = new NotImplementedFunction(); // INTERCEPT retval[312] = new NotImplementedFunction(); // PEARSON retval[313] = new NotImplementedFunction(); // RSQ retval[314] = new NotImplementedFunction(); // STEYX retval[315] = new NotImplementedFunction(); // SLOPE retval[316] = new NotImplementedFunction(); // TTEST retval[317] = new NotImplementedFunction(); // PROB retval[318] = AggregateFunction.DEVSQ; // DEVSQ retval[319] = new NotImplementedFunction(); // GEOMEAN retval[320] = new NotImplementedFunction(); // HARMEAN retval[321] = AggregateFunction.SUMSQ; // SUMSQ retval[322] = new NotImplementedFunction(); // KURT retval[323] = new NotImplementedFunction(); // SKEW retval[324] = new NotImplementedFunction(); // ZTEST retval[325] = AggregateFunction.LARGE; // LARGE retval[326] = AggregateFunction.SMALL; // SMALL retval[327] = new NotImplementedFunction(); // QUARTILE retval[328] = new NotImplementedFunction(); // PERCENTILE retval[329] = new NotImplementedFunction(); // PERCENTRANK retval[330] = new Mode(); // MODE retval[331] = new NotImplementedFunction(); // TRIMMEAN retval[332] = new NotImplementedFunction(); // TINV retval[334] = new NotImplementedFunction(); // MOVIECOMMAND retval[335] = new NotImplementedFunction(); // GetMOVIE retval[336] = TextFunction.CONCATENATE; // CONCATENATE retval[337] = NumericFunction.POWER; // POWER retval[338] = new NotImplementedFunction(); // PIVOTAddDATA retval[339] = new NotImplementedFunction(); // GetPIVOTTABLE retval[340] = new NotImplementedFunction(); // GetPIVOTFIELD retval[341] = new NotImplementedFunction(); // GetPIVOTITEM retval[342] = NumericFunction.RADIANS;; // RADIANS retval[343] = NumericFunction.DEGREES; // DEGREES retval[344] = new NotImplementedFunction(); // SUBTOTAL retval[345] = new NotImplementedFunction(); // SUMIF retval[346] = new Countif(); // COUNTIF retval[347] = new NotImplementedFunction(); // COUNTBLANK retval[348] = new NotImplementedFunction(); // SCENARIOGet retval[349] = new NotImplementedFunction(); // OPTIONSLISTSGet retval[350] = new NotImplementedFunction(); // IsPMT retval[351] = new NotImplementedFunction(); // DATEDIF retval[352] = new NotImplementedFunction(); // DATESTRING retval[353] = new NotImplementedFunction(); // NUMBERSTRING retval[354] = new NotImplementedFunction(); // ROMAN retval[355] = new NotImplementedFunction(); // OPENDIALOG retval[356] = new NotImplementedFunction(); // SAVEDIALOG retval[357] = new NotImplementedFunction(); // VIEWGet retval[358] = new NotImplementedFunction(); // GetPIVOTDATA retval[359] = new NotImplementedFunction(); // HYPERLINK retval[360] = new NotImplementedFunction(); // PHONETIC retval[361] = new NotImplementedFunction(); // AVERAGEA retval[362] = new Maxa(); // MAXA retval[363] = new Mina(); // MINA retval[364] = new NotImplementedFunction(); // STDEVPA retval[365] = new NotImplementedFunction(); // VARPA retval[366] = new NotImplementedFunction(); // STDEVA retval[367] = new NotImplementedFunction(); // VARA return(retval); }
public IFormula visit(True f) { return(new False()); }
/// <summary> /// Метод для преобразования в строку. /// </summary> /// <returns>Строка.</returns> public override string ToString() { return($"[{True.NilOrString()} - {False.NilOrString()}]"); }
public string Visit(True node) { return(" i32.const 1\n"); }
public void TestFalseAndMixedFirstTrue() { TestBoolean(True.And().True2().And().False3(), false); }
//----------------------------------------------------------- public Type Visit(True node) { return(Type.BOOL); }
public void TestOrFirstTrue() { TestBoolean(True.Or().False2().Or().False3(), true); }
public BuiltInFunctions() { // Text Functions["len"] = new Len(); Functions["lower"] = new Lower(); Functions["upper"] = new Upper(); Functions["left"] = new Left(); Functions["right"] = new Right(); Functions["mid"] = new Mid(); Functions["replace"] = new Replace(); Functions["rept"] = new Rept(); Functions["substitute"] = new Substitute(); Functions["concatenate"] = new Concatenate(); Functions["char"] = new CharFunction(); Functions["exact"] = new Exact(); Functions["find"] = new Find(); Functions["fixed"] = new Fixed(); Functions["proper"] = new Proper(); Functions["search"] = new Search(); Functions["text"] = new Text.Text(); Functions["t"] = new T(); Functions["hyperlink"] = new Hyperlink(); Functions["value"] = new Value(); // Numbers Functions["int"] = new CInt(); // Math Functions["abs"] = new Abs(); Functions["asin"] = new Asin(); Functions["asinh"] = new Asinh(); Functions["cos"] = new Cos(); Functions["cosh"] = new Cosh(); Functions["power"] = new Power(); Functions["sign"] = new Sign(); Functions["sqrt"] = new Sqrt(); Functions["sqrtpi"] = new SqrtPi(); Functions["pi"] = new Pi(); Functions["product"] = new Product(); Functions["ceiling"] = new Ceiling(); Functions["count"] = new Count(); Functions["counta"] = new CountA(); Functions["countblank"] = new CountBlank(); Functions["countif"] = new CountIf(); Functions["countifs"] = new CountIfs(); Functions["fact"] = new Fact(); Functions["floor"] = new Floor(); Functions["sin"] = new Sin(); Functions["sinh"] = new Sinh(); Functions["sum"] = new Sum(); Functions["sumif"] = new SumIf(); Functions["sumifs"] = new SumIfs(); Functions["sumproduct"] = new SumProduct(); Functions["sumsq"] = new Sumsq(); Functions["stdev"] = new Stdev(); Functions["stdevp"] = new StdevP(); Functions["stdev.s"] = new Stdev(); Functions["stdev.p"] = new StdevP(); Functions["subtotal"] = new Subtotal(); Functions["exp"] = new Exp(); Functions["log"] = new Log(); Functions["log10"] = new Log10(); Functions["ln"] = new Ln(); Functions["max"] = new Max(); Functions["maxa"] = new Maxa(); Functions["median"] = new Median(); Functions["min"] = new Min(); Functions["mina"] = new Mina(); Functions["mod"] = new Mod(); Functions["average"] = new Average(); Functions["averagea"] = new AverageA(); Functions["averageif"] = new AverageIf(); Functions["averageifs"] = new AverageIfs(); Functions["round"] = new Round(); Functions["rounddown"] = new Rounddown(); Functions["roundup"] = new Roundup(); Functions["rand"] = new Rand(); Functions["randbetween"] = new RandBetween(); Functions["rank"] = new Rank(); Functions["rank.eq"] = new Rank(); Functions["rank.avg"] = new Rank(true); Functions["quotient"] = new Quotient(); Functions["trunc"] = new Trunc(); Functions["tan"] = new Tan(); Functions["tanh"] = new Tanh(); Functions["atan"] = new Atan(); Functions["atan2"] = new Atan2(); Functions["atanh"] = new Atanh(); Functions["acos"] = new Acos(); Functions["acosh"] = new Acosh(); Functions["var"] = new Var(); Functions["varp"] = new VarP(); Functions["large"] = new Large(); Functions["small"] = new Small(); Functions["degrees"] = new Degrees(); // Information Functions["isblank"] = new IsBlank(); Functions["isnumber"] = new IsNumber(); Functions["istext"] = new IsText(); Functions["isnontext"] = new IsNonText(); Functions["iserror"] = new IsError(); Functions["iserr"] = new IsErr(); Functions["error.type"] = new ErrorType(); Functions["iseven"] = new IsEven(); Functions["isodd"] = new IsOdd(); Functions["islogical"] = new IsLogical(); Functions["isna"] = new IsNa(); Functions["na"] = new Na(); Functions["n"] = new N(); // Logical Functions["if"] = new If(); Functions["iferror"] = new IfError(); Functions["ifna"] = new IfNa(); Functions["not"] = new Not(); Functions["and"] = new And(); Functions["or"] = new Or(); Functions["true"] = new True(); Functions["false"] = new False(); // Reference and lookup Functions["address"] = new Address(); Functions["hlookup"] = new HLookup(); Functions["vlookup"] = new VLookup(); Functions["lookup"] = new Lookup(); Functions["match"] = new Match(); Functions["row"] = new Row(); Functions["rows"] = new Rows(); Functions["column"] = new Column(); Functions["columns"] = new Columns(); Functions["choose"] = new Choose(); Functions["index"] = new RefAndLookup.Index(); Functions["indirect"] = new Indirect(); Functions["offset"] = new Offset(); // Date Functions["date"] = new Date(); Functions["today"] = new Today(); Functions["now"] = new Now(); Functions["day"] = new Day(); Functions["month"] = new Month(); Functions["year"] = new Year(); Functions["time"] = new Time(); Functions["hour"] = new Hour(); Functions["minute"] = new Minute(); Functions["second"] = new Second(); Functions["weeknum"] = new Weeknum(); Functions["weekday"] = new Weekday(); Functions["days360"] = new Days360(); Functions["yearfrac"] = new Yearfrac(); Functions["edate"] = new Edate(); Functions["eomonth"] = new Eomonth(); Functions["isoweeknum"] = new IsoWeekNum(); Functions["workday"] = new Workday(); Functions["networkdays"] = new Networkdays(); Functions["networkdays.intl"] = new NetworkdaysIntl(); Functions["datevalue"] = new DateValue(); Functions["timevalue"] = new TimeValue(); // Database Functions["dget"] = new Dget(); Functions["dcount"] = new Dcount(); Functions["dcounta"] = new DcountA(); Functions["dmax"] = new Dmax(); Functions["dmin"] = new Dmin(); Functions["dsum"] = new Dsum(); Functions["daverage"] = new Daverage(); Functions["dvar"] = new Dvar(); Functions["dvarp"] = new Dvarp(); //Finance Functions["pmt"] = new Pmt(); }
public void TestXorFalse() { TestBoolean(True.Xor().True(), false); }
static void Or(False a, True b) { }