/** * 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; }
/** * 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; }
/** * 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; }
/** * 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; }
/** * 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; }
/** * 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; }
/** * 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; }