public static IUnaryNumberOperation Apply(this IBinaryNumberOperation outer, IUnaryNumberOperation left, IUnaryNumberOperation right) { if (outer == null) { throw new ArgumentNullException(nameof(outer)); } return(new BinaryUnaryUnaryOperation(outer, left, right)); }
public static IBinaryNumberOperation Swap(this IBinaryNumberOperation operation) { if (operation == null) { throw new ArgumentNullException(nameof(operation)); } return(new SwapOperation(operation)); }
public static IUnaryNumberOperation AsUnary(this IBinaryNumberOperation operation) { if (operation == null) { throw new ArgumentNullException(nameof(operation)); } return(new BinaryAsUnaryOperation(operation)); }
public static BinaryAbstractNumber AsNumber(this IBinaryNumberOperation operation) { if (operation == null) { throw new ArgumentNullException(nameof(operation)); } return(new BinaryAbstractNumber(operation)); }
public static IBinaryNumberOperation Apply(this IUnaryNumberOperation outer, IBinaryNumberOperation inner) { if (outer == null) { throw new ArgumentNullException(nameof(outer)); } if (inner == null) { throw new ArgumentNullException(nameof(inner)); } return(new UnaryBinaryOperation(outer, inner)); }
public static INumberOperation Apply(this IBinaryNumberOperation outer, INumberOperation left, INumberOperation right) { if (outer == null) { throw new ArgumentNullException(nameof(outer)); } if (left == null) { throw new ArgumentNullException(nameof(left)); } if (right == null) { throw new ArgumentNullException(nameof(right)); } return(new BinaryNullaryStandardNumber(outer, left, right)); }