@Override protected DataBufferDouble createDataBuffer( final DoubleArray data ) { final double[] sourceArray = data.getCurrentStorageArray(); return new DataBufferDouble( sourceArray, sourceArray.length ); }
@Override public void mutate(final ArrayImg<DoubleType, DoubleArray> arg) { final double[] data = arg.update(null).getCurrentStorageArray(); for (int i = 0; i < data.length; i++) { data[i] *= value; } }
@Override protected DataBufferDouble createDataBuffer( final DoubleArray data ) { final double[] sourceArray = data.getCurrentStorageArray(); return new DataBufferDouble( sourceArray, sourceArray.length ); }
@Override public void mutate(final ArrayImg<DoubleType, DoubleArray> arg) { final double[] data = arg.update(null).getCurrentStorageArray(); for (int i = 0; i < data.length; i++) { data[i] += value; } }
@Override public void mutate(final ArrayImg<DoubleType, DoubleArray> arg) { final double[] data = arg.update(null).getCurrentStorageArray(); for (int i = 0; i < data.length; i++) { data[i] -= value; } }
@Override public void mutate(final ArrayImg<DoubleType, DoubleArray> arg) { final double[] data = arg.update(null).getCurrentStorageArray(); for (int i = 0; i < data.length; i++) { data[i] /= value; } }
@Override public void mutate(final PlanarImg<DoubleType, DoubleArray> arg) { long planeCount = 1; for (int d = 2; d < arg.numDimensions(); d++) { planeCount *= arg.dimension(d); } for (int p = 0; p < planeCount; p++) { final double[] plane = arg.getPlane(p).getCurrentStorageArray(); for (int i = 0; i < plane.length; i++) { plane[i] *= value; } } }
@Override public void mutate(final PlanarImg<DoubleType, DoubleArray> arg) { long planeCount = 1; for (int d = 2; d < arg.numDimensions(); d++) { planeCount *= arg.dimension(d); } for (int p = 0; p < planeCount; p++) { final double[] plane = arg.getPlane(p).getCurrentStorageArray(); for (int i = 0; i < plane.length; i++) { plane[i] += value; } } }
@Override public void mutate(final PlanarImg<DoubleType, DoubleArray> arg) { long planeCount = 1; for (int d = 2; d < arg.numDimensions(); d++) { planeCount *= arg.dimension(d); } for (int p = 0; p < planeCount; p++) { final double[] plane = arg.getPlane(p).getCurrentStorageArray(); for (int i = 0; i < plane.length; i++) { plane[i] -= value; } } }
@Override public void mutate(final PlanarImg<DoubleType, DoubleArray> arg) { long planeCount = 1; for (int d = 2; d < arg.numDimensions(); d++) { planeCount *= arg.dimension(d); } for (int p = 0; p < planeCount; p++) { final double[] plane = arg.getPlane(p).getCurrentStorageArray(); for (int i = 0; i < plane.length; i++) { plane[i] /= value; } } }
@Override public void mutate(final ArrayImg<DoubleType, DoubleArray> arg) { final double[] data = arg.update(null).getCurrentStorageArray(); ops().run(ChunkerOp.class, new Chunk() { @Override public void execute(final long startIndex, final long stepSize, final long numSteps) { final int startIndexSafe32 = (startIndex==0) ? 0 : ArrayUtils.safeMultiply32(startIndex); final int stepSizeSafe32 = (stepSize==0) ? 0 : ArrayUtils.safeMultiply32(stepSize); if (stepSizeSafe32 != 1) { for (int i = startIndexSafe32, j = 0; j < numSteps; i = i + stepSizeSafe32, j++) { data[i] -= value; } } else { for (int i = startIndexSafe32; i < startIndex + numSteps; i++) { data[i] -= value; } } } }, data.length); }
@Override public void mutate(final ArrayImg<DoubleType, DoubleArray> arg) { final double[] data = arg.update(null).getCurrentStorageArray(); ops().run(ChunkerOp.class, new Chunk() { @Override public void execute(final long startIndex, final long stepSize, final long numSteps) { final int startIndexSafe32 = (startIndex==0) ? 0 : ArrayUtils.safeMultiply32(startIndex); final int stepSizeSafe32 = (stepSize==0) ? 0 : ArrayUtils.safeMultiply32(stepSize); if (stepSizeSafe32 != 1) { for (int i = startIndexSafe32, j = 0; j < numSteps; i = i + stepSizeSafe32, j++) { data[i] += value; } } else { for (int i = startIndexSafe32; i < startIndex + numSteps; i++) { data[i] += value; } } } }, data.length); }
@Override public void mutate(final ArrayImg<DoubleType, DoubleArray> arg) { final double[] data = arg.update(null).getCurrentStorageArray(); ops().run(ChunkerOp.class, new Chunk() { @Override public void execute(final long startIndex, final long stepSize, final long numSteps) { final int startIndexSafe32 = (startIndex==0) ? 0 : ArrayUtils.safeMultiply32(startIndex); final int stepSizeSafe32 = (stepSize==0) ? 0 : ArrayUtils.safeMultiply32(stepSize); if (stepSizeSafe32 != 1) { for (int i = startIndexSafe32, j = 0; j < numSteps; i = i + stepSizeSafe32, j++) { data[i] *= value; } } else { for (int i = startIndexSafe32; i < startIndex + numSteps; i++) { data[i] *= value; } } } }, data.length); }
@Override public void mutate(final ArrayImg<DoubleType, DoubleArray> arg) { final double[] data = arg.update(null).getCurrentStorageArray(); ops().run(ChunkerOp.class, new Chunk() { @Override public void execute(final long startIndex, final long stepSize, final long numSteps) { final int startIndexSafe32 = (startIndex==0) ? 0 : ArrayUtils.safeMultiply32(startIndex); final int stepSizeSafe32 = (stepSize==0) ? 0 : ArrayUtils.safeMultiply32(stepSize); if (stepSizeSafe32 != 1) { for (int i = startIndexSafe32, j = 0; j < numSteps; i = i + stepSizeSafe32, j++) { data[i] /= value; } } else { for (int i = startIndexSafe32; i < startIndex + numSteps; i++) { data[i] /= value; } } } }, data.length); }
@Override public void convertBytes(final DoubleArray data, final byte[] bytes, final int planesRead) { final ImageMetadata iMeta = reader().getMetadata().get(0); if (isCompatible()) { final int bpp = getBitsPerElement() / 8; final int offset = planesRead * (bytes.length / bpp); final ByteBuffer bb = ByteBuffer.wrap(bytes); bb.order(iMeta.isLittleEndian() ? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN); bb.asDoubleBuffer().get(data.getCurrentStorageArray(), offset, bytes.length / bpp); } else { final int pixelType = iMeta.getPixelType(); final int bpp = FormatTools.getBytesPerPixel(pixelType); final int offset = planesRead * (bytes.length / bpp); for (int index = 0; index < bytes.length / bpp; index++) { final double value = utils().decodeWord(bytes, index * bpp, pixelType, iMeta.isLittleEndian()); data.setValue(offset + index, value); } } }
@Override public void convertBytes(final DoubleArray data, final byte[] bytes, final int planesRead) { final ImageMetadata iMeta = reader().getMetadata().get(0); if (isCompatible()) { final int bpp = getBitsPerElement() / 8; final int offset = planesRead * (bytes.length / bpp); final ByteBuffer bb = ByteBuffer.wrap(bytes); bb.order(iMeta.isLittleEndian() ? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN); bb.asDoubleBuffer().get(data.getCurrentStorageArray(), offset, bytes.length / bpp); } else { final int pixelType = iMeta.getPixelType(); final int bpp = FormatTools.getBytesPerPixel(pixelType); final int offset = planesRead * (bytes.length / bpp); for (int index = 0; index < bytes.length / bpp; index++) { final double value = utils().decodeWord(bytes, index * bpp, pixelType, iMeta.isLittleEndian()); data.setValue(offset + index, value); } } }
final double[] source = ((DoubleArray) store).getCurrentStorageArray(); final double[] doubles = new double[planeSize]; System
populateFloatToDouble2( ((FloatArray)a1).getCurrentStorageArray(), ((DoubleArray)a2).getCurrentStorageArray(), (int)w, (int)h);
final int kernelSizeHalfMinus1 = kernelSizeHalf - 1; final double[] v = ((DoubleArray)((NativeImg<?, ?>)input.getProcessLine()).update( null )).getCurrentStorageArray();
return dirty ? ( volatil ? ( RandomAccessibleCacheLoader< T, A, CA > ) new RandomAccessibleCacheLoader<>( grid, source, type, new DoubleArray( 0 ), a -> new DirtyVolatileDoubleArray( a.getCurrentStorageArray(), true ) ) : ( RandomAccessibleCacheLoader< T, A, CA > ) new RandomAccessibleCacheLoader<>( grid, source, type, new DoubleArray( 0 ), a -> new DirtyDoubleArray( a.getCurrentStorageArray() ) ) ) : ( volatil ? ( RandomAccessibleCacheLoader< T, A, CA > ) new RandomAccessibleCacheLoader<>( grid, source, type, new DoubleArray( 0 ), a -> new VolatileDoubleArray( a.getCurrentStorageArray(), true ) ) : ( RandomAccessibleCacheLoader< T, A, CA > ) new RandomAccessibleCacheLoader<>( grid, source, type, new DoubleArray( 0 ), a -> a ) ); case FLOAT: