public static ILArray <double> MultiplyElements(ILArray <double> Array1, ILArray <double> Array2) { if (Array1.IsScalar) { if (Array2.IsScalar) { return(new ILArray <double>(new double[1] { Array1[0, 0] * Array2[0, 0] }, 1, 1)); } else { OpDouble_Double helper = new OpDouble_Double(Array1[0, 0], null); return(DoubleUnaryDoubleOperator(Array2, helper.multiply)); } } else if (Array2.IsScalar) { OpDouble_Double helper = new OpDouble_Double(Array2[0, 0], null); return(DoubleUnaryDoubleOperator(Array1, helper.multiply)); } else { OpDouble_DoubleDouble helper = new OpDouble_DoubleDouble(); return(DoubleBinaryDoubleOperator(Array1, Array2, helper.multiply)); } }
public static ILArray <double> Subtract(ILArray <double> Array1, ILArray <double> Array2) { if (Array1.IsScalar) { if (Array2.IsScalar) { return(new ILArray <double>(new double[1] { Array1[0, 0] - Array2[0, 0] }, 1, 1)); } else { OpDouble_Double helper = new OpDouble_Double(Array1[0, 0], null); return(DoubleUnaryDoubleOperator(Array2, helper.subtractR)); } } else if (Array2.IsScalar) { OpDouble_Double helper = new OpDouble_Double(Array2[0, 0], null); return(DoubleUnaryDoubleOperator(Array1, helper.subtractL)); } else { OpDouble_DoubleDouble helper = new OpDouble_DoubleDouble(); return(DoubleBinaryDoubleOperator(Array1, Array2, helper.subtract)); } }
public static ILArray <double> Divide(ILArray <double> Array1, ILArray <double> Array2) { if (Array1.IsScalar) { if (Array2.IsScalar) { double tmp = Array2[0, 0]; if (tmp != 0) { return(new ILArray <double>(new double[1] { Array1[0, 0] / tmp }, 1, 1)); } else { return(new ILArray <double>(new double[1] { double.NaN }, 1, 1)); } } else { OpDouble_Double helper = new OpDouble_Double(Array1[0, 0], null); return(DoubleUnaryDoubleOperator(Array2, helper.divideR)); } } else if (Array2.IsScalar) { OpDouble_Double helper = new OpDouble_Double(Array2[0, 0], null); return(DoubleUnaryDoubleOperator(Array1, helper.divideL)); } else { OpDouble_DoubleDouble helper = new OpDouble_DoubleDouble(); return(DoubleBinaryDoubleOperator(Array1, Array2, helper.divide)); } }
public static ILArray <double> Min(ILArray <double> inArray, double parameter) { OpDouble_Double helper = new OpDouble_Double(parameter, null); return(DoubleUnaryDoubleOperator(inArray, helper.min)); }
public static ILArray <double> Pow(ILArray <double> inArray, double parameter) { OpDouble_Double helper = new OpDouble_Double(parameter, Math.Pow); return(DoubleUnaryDoubleOperator(inArray, helper.operate)); }
public static ILArray<double> Divide(ILArray<double> Array1, ILArray<double> Array2) { if (Array1.IsScalar) { if (Array2.IsScalar) { double tmp = Array2[0, 0]; if (tmp != 0) return new ILArray<double>(new double[1] { Array1[0, 0] / tmp }, 1, 1); else return new ILArray<double>(new double[1] { double.NaN }, 1, 1); } else { OpDouble_Double helper = new OpDouble_Double(Array1[0, 0], null); return DoubleUnaryDoubleOperator(Array2, helper.divideR); } } else if (Array2.IsScalar) { OpDouble_Double helper = new OpDouble_Double(Array2[0, 0], null); return DoubleUnaryDoubleOperator(Array1, helper.divideL); } else { OpDouble_DoubleDouble helper = new OpDouble_DoubleDouble(); return DoubleBinaryDoubleOperator(Array1, Array2, helper.divide); } }
public static ILArray<double> MultiplyElements(ILArray<double> Array1, ILArray<double> Array2) { if (Array1.IsScalar) { if (Array2.IsScalar) return new ILArray<double>(new double[1] { Array1[0, 0] * Array2[0, 0] }, 1, 1); else { OpDouble_Double helper = new OpDouble_Double(Array1[0, 0],null); return DoubleUnaryDoubleOperator(Array2, helper.multiply); } } else if (Array2.IsScalar) { OpDouble_Double helper = new OpDouble_Double(Array2[0, 0], null); return DoubleUnaryDoubleOperator(Array1, helper.multiply); } else { OpDouble_DoubleDouble helper = new OpDouble_DoubleDouble(); return DoubleBinaryDoubleOperator(Array1, Array2, helper.multiply); } }
public static ILArray<double> Subtract(ILArray<double> Array1, ILArray<double> Array2) { if (Array1.IsScalar) { if (Array2.IsScalar) return new ILArray<double>(new double[1] { Array1[0, 0] - Array2[0, 0] }, 1, 1); else { OpDouble_Double helper = new OpDouble_Double(Array1[0, 0], null); return DoubleUnaryDoubleOperator(Array2, helper.subtractR); } } else if (Array2.IsScalar) { OpDouble_Double helper = new OpDouble_Double(Array2[0, 0], null); return DoubleUnaryDoubleOperator(Array1, helper.subtractL); } else { OpDouble_DoubleDouble helper = new OpDouble_DoubleDouble(); return DoubleBinaryDoubleOperator(Array1, Array2, helper.subtract); } }
public static ILArray<double> Min(ILArray<double> inArray, double parameter) { OpDouble_Double helper = new OpDouble_Double(parameter, null); return DoubleUnaryDoubleOperator(inArray, helper.min); }
public static ILArray<double> SubtractR(ILArray<double> inArray, double parameter) { OpDouble_Double helper = new OpDouble_Double(parameter, null); return DoubleUnaryDoubleOperator(inArray, helper.subtractR); }
public static ILArray<double> Pow(ILArray<double> inArray, double parameter) { OpDouble_Double helper = new OpDouble_Double(parameter, Math.Pow); return DoubleUnaryDoubleOperator(inArray, helper.operate); }