@Override public int iamax(INDArray x) { return level1().iamax(x); }
@Override public int iamax(IComplexNDArray x) { LinAlgExceptions.assertVector(x); return level1().iamax(x); }
/** * finds the element of a * vector that has the largest absolute value. * * @param arr * @return */ @Override public int iamax(INDArray arr) { if (arr.isSparse()) { return Nd4j.getSparseBlasWrapper().level1().iamax(arr); } if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL) OpProfiler.getInstance().processBlasCall(false, arr); if (arr.data().dataType() == DataBuffer.Type.DOUBLE) { DefaultOpExecutioner.validateDataType(DataBuffer.Type.DOUBLE, arr); return idamax(arr.length(), arr, BlasBufferUtil.getBlasStride(arr)); } else { DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, arr); return isamax(arr.length(), arr, BlasBufferUtil.getBlasStride(arr)); } }
@Override public int iamax(INDArray x) { return level1().iamax(x); }
@Override public int iamax(IComplexNDArray x) { LinAlgExceptions.assertVector(x); return level1().iamax(x); }
int infNormIdx = l1Blas.iamax(searchDirection); double infNorm = FastMath.max(Float.NEGATIVE_INFINITY, searchDirection.getDouble(infNormIdx)); log.trace("ENTERING BACKTRACK\n");