Ejemplo n.º 1
0
 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));
     }
 }
Ejemplo n.º 2
0
 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));
     }
 }
Ejemplo n.º 3
0
 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));
     }
 }
Ejemplo n.º 4
0
        public static ILArray <double> Min(ILArray <double> inArray, double parameter)
        {
            OpDouble_Double helper = new OpDouble_Double(parameter, null);

            return(DoubleUnaryDoubleOperator(inArray, helper.min));
        }
Ejemplo n.º 5
0
        public static ILArray <double> Pow(ILArray <double> inArray, double parameter)
        {
            OpDouble_Double helper = new OpDouble_Double(parameter, Math.Pow);

            return(DoubleUnaryDoubleOperator(inArray, helper.operate));
        }
Ejemplo n.º 6
0
 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);
     }
 }
Ejemplo n.º 7
0
 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);
     }
 }
Ejemplo n.º 8
0
 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);
     }
 }
Ejemplo n.º 9
0
 public static ILArray<double> Min(ILArray<double> inArray, double parameter) {
     OpDouble_Double helper = new OpDouble_Double(parameter, null);
     return DoubleUnaryDoubleOperator(inArray, helper.min);
 }
Ejemplo n.º 10
0
 public static ILArray<double> SubtractR(ILArray<double> inArray, double parameter) {
     OpDouble_Double helper = new OpDouble_Double(parameter, null);
     return DoubleUnaryDoubleOperator(inArray, helper.subtractR);
 }
Ejemplo n.º 11
0
		public static ILArray<double> Pow(ILArray<double> inArray, double parameter) {
			OpDouble_Double helper = new OpDouble_Double(parameter, Math.Pow);
			return DoubleUnaryDoubleOperator(inArray, helper.operate);
		}