diff options
author | Mattias Andrée <maandree@kth.se> | 2022-07-21 12:45:26 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2022-07-21 12:45:26 +0200 |
commit | d2386fa0e3cc5e80fcfe51f07751d13676655d76 (patch) | |
tree | 5bb04bc188f3366fe2e50cca8e05020a8cf3cb6f /libgamma/Ramp.java | |
parent | missed to set JAVA_HOME (diff) | |
download | jlibgamma-d2386fa0e3cc5e80fcfe51f07751d13676655d76.tar.gz jlibgamma-d2386fa0e3cc5e80fcfe51f07751d13676655d76.tar.bz2 jlibgamma-d2386fa0e3cc5e80fcfe51f07751d13676655d76.tar.xz |
Improve makefile, change license to ISC, change code style, remove dist/
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'libgamma/Ramp.java')
-rw-r--r-- | libgamma/Ramp.java | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/libgamma/Ramp.java b/libgamma/Ramp.java new file mode 100644 index 0000000..6f66683 --- /dev/null +++ b/libgamma/Ramp.java @@ -0,0 +1,160 @@ +/* See LICENSE file for copyright and license details. */ +package libgamma; + + +/** + * A single gamma ramp + */ +public abstract class Ramp +{ + /** + * Type initialiser + */ + static + { + Libgamma.initialise(); + } + + + /** + * Constructor + * + * @param address The address of the native object + * @param size The size of the encoding axis of the gamma ramp + */ + Ramp(long address, int size) + { + this.size = size; + this.address = address; + } + + + /** + * The size of the encoding axis of the gamma ramp + */ + public final int size; + + /** + * The address of the native object + */ + protected final long address; + + + /** + * {@inheritDoc} + */ + public String toString() + { + return "<Ramp: size = " + Integer.toString(size) + ">"; + } + + + /** + * Read the value of a stop in an 8-bit ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @return The value of the stop + */ + protected static native short libgamma_gamma_ramps8_get(long address, int stop); + + /** + * Read the value of a stop in a 16-bit ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @return The value of the stop + */ + protected static native int libgamma_gamma_ramps16_get(long address, int stop); + + /** + * Read the value of a stop in a 32-bit ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @return The value of the stop + */ + protected static native long libgamma_gamma_ramps32_get(long address, int stop); + + /** + * Read the value of a stop in a 64-bit ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @return The value of the stop + */ + protected static native long libgamma_gamma_ramps64_get(long address, int stop); + + /** + * Read the value of a stop in a single precision floating point ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @return The value of the stop + */ + protected static native float libgamma_gamma_rampsf_get(long address, int stop); + + /** + * Read the value of a stop in a double precision floating point ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @return The value of the stop + */ + protected static native double libgamma_gamma_rampsd_get(long address, int stop); + + + /** + * Set the value of a stop in an 8-bit ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @param value The value of the stop + */ + protected static native void libgamma_gamma_ramps8_set(long address, int stop, short value); + + /** + * Set the value of a stop in a 16-bit ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @param value The value of the stop + */ + protected static native void libgamma_gamma_ramps16_set(long address, int stop, int value); + + /** + * Set the value of a stop in a 32-bit ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @param value The value of the stop + */ + protected static native void libgamma_gamma_ramps32_set(long address, int stop, long value); + + /** + * Set the value of a stop in a 64-bit ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @param value The value of the stop + */ + protected static native void libgamma_gamma_ramps64_set(long address, int stop, long value); + + /** + * Set the value of a stop in a single precision floating point ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @param value The value of the stop + */ + protected static native void libgamma_gamma_rampsf_set(long address, int stop, float value); + + /** + * Set the value of a stop in a double precision floating point ramp + * + * @param address The address of the ramp + * @param stop The index of the stop + * @param value The value of the stop + */ + protected static native void libgamma_gamma_rampsd_set(long address, int stop, double value); +} |