public ArithmeticVariable(ArithmeticContext context)
        {
            Context = context;

            Index = Context.Variables.Count;

            Context.Variables.Add(true);
        }
 public ArithmeticTerm(ArithmeticContext context, int variableIndex, float coefficient)
 {
     Context       = context;
     VariableIndex = variableIndex;
     Coefficient   = coefficient;
 }
 public ArithmeticExpression(ArithmeticContext context, float constant, float[] coefficients)
 {
     Context      = context;
     Constant     = constant;
     Coefficients = coefficients;
 }
 public static ArithmeticConstraint operator >=(ArithmeticExpression left, ArithmeticExpression right)
 {
     return(ArithmeticContext.CreateConstraint(left, ArithmeticInequality.GreaterThanOrEqual, right));
 }
 public ArithmeticExpression(ArithmeticContext context, float constant)
 {
     Context      = context;
     Constant     = constant;
     Coefficients = null;
 }