/// <summary> /// Initializes a new instance of the <see cref="QuantityOperations" /> class. /// </summary> /// <param name="unitFactory">The unit factory.</param> /// <param name="expressionReducer">The expression reducer.</param> /// <param name="valueFromBaseVisitor">From base visitor.</param> /// <param name="valueToBaseVisitor">To base visitor.</param> public QuantityOperations( IUnitFactory unitFactory, IExpressionReducer expressionReducer, ValueFromBaseVisitor valueFromBaseVisitor, ValueToBaseVisitor valueToBaseVisitor) { this.Addition = new AdditionOperation(valueFromBaseVisitor, valueToBaseVisitor); this.Subtraction = new SubtractionOperation(valueFromBaseVisitor, valueToBaseVisitor); this.Multiplication = new ReducingOperation( unitFactory, new UnitMultiplicationOperation(expressionReducer), new MultiplicationOperation()); this.Division = new ReducingOperation( unitFactory, new UnitDivisionOperation(expressionReducer), new DivisionOperation()); this.Exponentiation = new ExponentiationOperation(unitFactory, expressionReducer); this.NthRoot = new NthRootOperation(unitFactory, expressionReducer); this.ConvertToUnit = new ConvertToUnitOperation(); }
/// <summary> /// Initializes a new instance of the <see cref="QuantityOperations"/> class. /// </summary> /// <param name="unitFactory">The unit factory.</param> /// <param name="expressionReducer">The expression reducer.</param> /// <param name="valueFromBaseVisitor">From base visitor.</param> /// <param name="valueToBaseVisitor">To base visitor.</param> public QuantityOperations( IUnitFactory unitFactory, IExpressionReducer expressionReducer, ValueFromBaseVisitor valueFromBaseVisitor, ValueToBaseVisitor valueToBaseVisitor) { this.Addition = new AdditionOperation(valueFromBaseVisitor, valueToBaseVisitor); this.Subtraction = new SubtractionOperation(valueFromBaseVisitor, valueToBaseVisitor); this.Multiplication = new ReducingOperation( unitFactory, new UnitMultiplicationOperation(expressionReducer), new MultiplicationOperation()); this.Division = new ReducingOperation( unitFactory, new UnitDivisionOperation(expressionReducer), new DivisionOperation()); this.Exponentiation = new ExponentiationOperation(unitFactory, expressionReducer); this.NthRoot = new NthRootOperation(unitFactory, expressionReducer); this.ConvertToUnit = new ConvertToUnitOperation(); }
/// <summary> /// Initializes a new instance of the <see cref="UnitDivisionOperation"/> class. /// </summary> /// <param name="expressionReducer">The expression reducer.</param> public UnitDivisionOperation(IExpressionReducer expressionReducer) { this.expressionReducer = expressionReducer; }
/// <summary> /// Initializes a new instance of the <see cref="NthRootOperation" /> class. /// </summary> /// <param name="unitFactory">The unit factory.</param> /// <param name="expressionReducer">The expression reducer.</param> public NthRootOperation(IUnitFactory unitFactory, IExpressionReducer expressionReducer) { this.unitFactory = unitFactory; this.expressionReducer = expressionReducer; }
/// <summary> /// Initializes a new instance of the <see cref="UnitMultiplicationOperation"/> class. /// </summary> /// <param name="expressionReducer">The expression reducer.</param> public UnitMultiplicationOperation(IExpressionReducer expressionReducer) { this.expressionReducer = expressionReducer; }
/// <summary> /// Initializes a new instance of the <see cref="ExponentiationOperation" /> class. /// </summary> /// <param name="unitFactory">The unit factory.</param> /// <param name="expressionReducer">The expression reducer.</param> public ExponentiationOperation(IUnitFactory unitFactory, IExpressionReducer expressionReducer) { this.unitFactory = unitFactory; this.expressionReducer = expressionReducer; }