示例#1
0
 /**
  * Update the array with element-wise logarithm (base 10) of its values.
  *
  * @return Array itself Created on 11/12/2008
  */
 public IArrayMath log10() {
   IArrayIterator oldIterator = getArray().getIterator();
   while (oldIterator.hasNext()) {
     double value = oldIterator.getDoubleNext();
     if (value == 0) {
       oldIterator.setDoubleCurrent(Double.NaN);
     } else {
       oldIterator.setDoubleCurrent(Math.log10(value));
     }
   }
   getArray().setDirty(true);
   return this;
 }
示例#2
0
 /**
  * Update the array with adding a constant to its values.
  *
  * @param value double type
  * @return Array itself Created on 14/07/2008
  */
 public IArrayMath add(double val) {
   IArrayIterator iter = getArray().getIterator();
   while (iter.hasNext()) {
     iter.setDoubleCurrent(iter.getDoubleNext() + val);
   }
   getArray().setDirty(true);
   return this;
 }
示例#3
0
 /**
  * Update the array with to a constant power of its values.
  *
  * @param power double value
  * @return Array itself Created on 11/12/2008
  */
 public IArrayMath power(double value) {
   IArrayIterator oldIterator = getArray().getIterator();
   while (oldIterator.hasNext()) {
     oldIterator.setDoubleCurrent(Math.pow(oldIterator.getDoubleNext(), value));
   }
   getArray().setDirty(true);
   return this;
 }
示例#4
0
 /**
  * Update the array with arc trigonometric of its values.
  *
  * @return Array itself Created on 11/12/2008
  */
 public IArrayMath atan() {
   IArrayIterator oldIterator = getArray().getIterator();
   while (oldIterator.hasNext()) {
     oldIterator.setDoubleCurrent(Math.atan(oldIterator.getDoubleNext()));
   }
   getArray().setDirty(true);
   return this;
 }
示例#5
0
 /**
  * Update the array with arc cosine of its values.
  *
  * @return Array itself Created on 11/12/2008
  */
 public IArrayMath acos() {
   IArrayIterator iterator = getArray().getIterator();
   while (iterator.hasNext()) {
     iterator.setDoubleCurrent(Math.acos(iterator.getDoubleNext()));
   }
   getArray().setDirty(true);
   return this;
 }
示例#6
0
 /**
  * Update the array with element-wise inverse of its values, skip zero values.
  *
  * @return Array itself Created on 11/12/2008
  */
 public IArrayMath eltInverseSkipZero() {
   IArrayIterator oldIterator = getArray().getIterator();
   while (oldIterator.hasNext()) {
     double det = oldIterator.getDoubleNext();
     oldIterator.setDoubleCurrent(det == 0 ? 0 : 1 / det);
   }
   getArray().setDirty(true);
   return this;
 }
示例#7
0
 /**
  * Update the array with element-wise inverse of its values.
  *
  * @return Array itself
  * @throws DivideByZeroException divided by zero Created on 11/12/2008
  */
 public IArrayMath eltInverse() throws DivideByZeroException {
   IArrayIterator oldIterator = getArray().getIterator();
   while (oldIterator.hasNext()) {
     try {
       oldIterator.setDoubleCurrent(1 / oldIterator.getDoubleNext());
     } catch (Exception e) {
       throw new DivideByZeroException(e);
     }
   }
   getArray().setDirty(true);
   return this;
 }