示例#1
0
 public IArrayMath toEltMultiply(IArray newArray) throws ShapeNotMatchException {
   getArray().getArrayUtils().checkShape(newArray);
   IArrayMath arrMath = newArray.getArrayMath();
   IArray result = getFactory().createArray(getArray().getElementType(), getArray().getShape());
   if (getArray().getRank() == newArray.getRank()) {
     eltMultiplyWithEqualSize(newArray, result);
   } else {
     ISliceIterator sourceSliceIterator = null;
     ISliceIterator resultSliceIterator = null;
     try {
       sourceSliceIterator = getArray().getSliceIterator(newArray.getRank());
       resultSliceIterator = result.getSliceIterator(newArray.getRank());
       while (sourceSliceIterator.hasNext() && resultSliceIterator.hasNext()) {
         IArray sourceSlice = sourceSliceIterator.getArrayNext();
         IArray resultSlice = resultSliceIterator.getArrayNext();
         arrMath.eltMultiplyWithEqualSize(sourceSlice, resultSlice);
       }
     } catch (InvalidRangeException e) {
       throw new ShapeNotMatchException("shape is invalid");
     }
   }
   return result.getArrayMath();
 }
示例#2
0
 public IArrayMath eltDivide(IArrayMath array) throws ShapeNotMatchException {
   return eltDivide(array.getArray());
 }
示例#3
0
 public IArrayMath eltRemainder(IArrayMath array) throws ShapeNotMatchException {
   return eltRemainder(array.getArray());
 }
示例#4
0
 public void eltDivideWithEqualSize(IArrayMath array, IArrayMath result)
     throws ShapeNotMatchException {
   eltDivideWithEqualSize(array.getArray(), result.getArray());
 }
示例#5
0
 public double vecDot(IArrayMath array) throws ShapeNotMatchException {
   return vecDot(array.getArray());
 }
示例#6
0
 public double powerSum(IArrayMath axis, int dimension, double power)
     throws ShapeNotMatchException {
   return powerSum(axis.getArray(), dimension, power);
 }
示例#7
0
 public IArrayMath add(IArrayMath array) throws ShapeNotMatchException {
   return add(array.getArray());
 }
示例#8
0
 public IArrayMath matMultiply(IArrayMath array) throws ShapeNotMatchException {
   return matMultiply(array.getArray());
 }