public Operand Solve(Operand p1, Operand p2) { p1 = p1.Simplify(); p2 = p2.Simplify(); return(Operand.Create(p1.Numerator * p2.Numerator, p1.Denominator * p2.Denominator)); }
protected override Operand GetParameter(string parameter) { var v = Json.JsonValue[parameter]; if (v != null) { if (v.IsString) { return(Operand.Create(v.StringValue)); } if (v.IsBoolean) { return(Operand.Create(v.BooleanValue)); } if (v.IsDouble) { return(Operand.Create(v.NumberValue)); } if (v.IsObject) { return(Operand.Create(v)); } if (v.IsArray) { return(Operand.Create(v)); } if (v.IsNull) { return(Operand.CreateNull()); } return(Operand.Create(v)); } return(base.GetParameter(parameter)); }
private static void GetOperand(CodeTerm[] arguments, out Operand operand) { Debug.Assert(arguments.Length == 1); CodeValue argValue = (CodeValue)arguments[0]; operand = Operand.Create(argValue.Object); }
private static void GetOperands(CodeTerm[] arguments, out Operand lhs, out Operand rhs) { Debug.Assert(arguments.Length == 2); CodeValue argValue0 = (CodeValue)arguments[0]; CodeValue argValue1 = (CodeValue)arguments[1]; lhs = Operand.Create(argValue0.Object); rhs = Operand.Create(argValue1.Object); }
public Operand Solve(Operand p1, Operand p2) { p1 = p1.Simplify(); p2 = p2.Simplify(); if (p1.Denominator == p2.Denominator) { return(Operand.Create(p1.Numerator + p2.Numerator, p1.Denominator)); } var denominator1 = p1.Denominator; var denominator2 = p2.Denominator; var newOperand1 = Operand.Create(denominator2 * p1.Numerator, denominator2 * p1.Denominator); var newOperand2 = Operand.Create(denominator1 * p2.Numerator, denominator1 * p2.Denominator); Debug.Assert(newOperand1.Denominator == newOperand2.Denominator); return(Operand.Create(newOperand1.Numerator + newOperand2.Numerator, newOperand1.Denominator)); }