summaryrefslogtreecommitdiffstats
path: root/java/examples/datasets/H5Ex_D_Sofloat.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/examples/datasets/H5Ex_D_Sofloat.java')
-rw-r--r--java/examples/datasets/H5Ex_D_Sofloat.java114
1 files changed, 59 insertions, 55 deletions
diff --git a/java/examples/datasets/H5Ex_D_Sofloat.java b/java/examples/datasets/H5Ex_D_Sofloat.java
index 8edde09..a5f5cd8 100644
--- a/java/examples/datasets/H5Ex_D_Sofloat.java
+++ b/java/examples/datasets/H5Ex_D_Sofloat.java
@@ -23,9 +23,9 @@ package examples.datasets;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
-import java.util.Locale;
import java.util.EnumSet;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
import hdf.hdf5lib.H5;
@@ -33,45 +33,46 @@ import hdf.hdf5lib.HDF5Constants;
public class H5Ex_D_Sofloat {
- private static String FILENAME = "H5Ex_D_Sofloat.h5";
+ private static String FILENAME = "H5Ex_D_Sofloat.h5";
private static String DATASETNAME = "DS1";
- private static final int DIM_X = 32;
- private static final int DIM_Y = 64;
- private static final int CHUNK_X = 4;
- private static final int CHUNK_Y = 8;
- private static final int RANK = 2;
- private static final int NDIMS = 2;
+ private static final int DIM_X = 32;
+ private static final int DIM_Y = 64;
+ private static final int CHUNK_X = 4;
+ private static final int CHUNK_Y = 8;
+ private static final int RANK = 2;
+ private static final int NDIMS = 2;
// Values for the status of space allocation
enum H5Z_filter {
- H5Z_FILTER_ERROR(HDF5Constants.H5Z_FILTER_ERROR), H5Z_FILTER_NONE(HDF5Constants.H5Z_FILTER_NONE), H5Z_FILTER_DEFLATE(
- HDF5Constants.H5Z_FILTER_DEFLATE), H5Z_FILTER_SHUFFLE(HDF5Constants.H5Z_FILTER_SHUFFLE), H5Z_FILTER_FLETCHER32(
- HDF5Constants.H5Z_FILTER_FLETCHER32), H5Z_FILTER_SZIP(HDF5Constants.H5Z_FILTER_SZIP), H5Z_FILTER_NBIT(
- HDF5Constants.H5Z_FILTER_NBIT), H5Z_FILTER_SCALEOFFSET(HDF5Constants.H5Z_FILTER_SCALEOFFSET), H5Z_FILTER_RESERVED(
- HDF5Constants.H5Z_FILTER_RESERVED), H5Z_FILTER_MAX(HDF5Constants.H5Z_FILTER_MAX);
+ H5Z_FILTER_ERROR(HDF5Constants.H5Z_FILTER_ERROR),
+ H5Z_FILTER_NONE(HDF5Constants.H5Z_FILTER_NONE),
+ H5Z_FILTER_DEFLATE(HDF5Constants.H5Z_FILTER_DEFLATE),
+ H5Z_FILTER_SHUFFLE(HDF5Constants.H5Z_FILTER_SHUFFLE),
+ H5Z_FILTER_FLETCHER32(HDF5Constants.H5Z_FILTER_FLETCHER32),
+ H5Z_FILTER_SZIP(HDF5Constants.H5Z_FILTER_SZIP),
+ H5Z_FILTER_NBIT(HDF5Constants.H5Z_FILTER_NBIT),
+ H5Z_FILTER_SCALEOFFSET(HDF5Constants.H5Z_FILTER_SCALEOFFSET),
+ H5Z_FILTER_RESERVED(HDF5Constants.H5Z_FILTER_RESERVED),
+ H5Z_FILTER_MAX(HDF5Constants.H5Z_FILTER_MAX);
private static final Map<Integer, H5Z_filter> lookup = new HashMap<Integer, H5Z_filter>();
- static {
+ static
+ {
for (H5Z_filter s : EnumSet.allOf(H5Z_filter.class))
lookup.put(s.getCode(), s);
}
private int code;
- H5Z_filter(int layout_type) {
- this.code = layout_type;
- }
+ H5Z_filter(int layout_type) { this.code = layout_type; }
- public int getCode() {
- return this.code;
- }
+ public int getCode() { return this.code; }
- public static H5Z_filter get(int code) {
- return lookup.get(code);
- }
+ public static H5Z_filter get(int code) { return lookup.get(code); }
}
- private static boolean checkScaleoffsetFilter() {
+ private static boolean checkScaleoffsetFilter()
+ {
try {
int available = H5.H5Zfilter_avail(HDF5Constants.H5Z_FILTER_SCALEOFFSET);
if (available == 0) {
@@ -85,8 +86,8 @@ public class H5Ex_D_Sofloat {
try {
int filter_info = H5.H5Zget_filter_info(HDF5Constants.H5Z_FILTER_SCALEOFFSET);
- if (((filter_info & HDF5Constants.H5Z_FILTER_CONFIG_ENCODE_ENABLED) == 0)
- || ((filter_info & HDF5Constants.H5Z_FILTER_CONFIG_DECODE_ENABLED) == 0)) {
+ if (((filter_info & HDF5Constants.H5Z_FILTER_CONFIG_ENCODE_ENABLED) == 0) ||
+ ((filter_info & HDF5Constants.H5Z_FILTER_CONFIG_DECODE_ENABLED) == 0)) {
System.out.println("Scale-Offset filter not available for encoding and decoding.");
return false;
}
@@ -97,20 +98,21 @@ public class H5Ex_D_Sofloat {
return true;
}
- private static void writeData() {
- long file_id = HDF5Constants.H5I_INVALID_HID;
- long filespace_id = HDF5Constants.H5I_INVALID_HID;
- long dataset_id = HDF5Constants.H5I_INVALID_HID;
- long dcpl_id = HDF5Constants.H5I_INVALID_HID;
- long[] dims = { DIM_X, DIM_Y };
- long[] chunk_dims = { CHUNK_X, CHUNK_Y };
+ private static void writeData()
+ {
+ long file_id = HDF5Constants.H5I_INVALID_HID;
+ long filespace_id = HDF5Constants.H5I_INVALID_HID;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
+ long dcpl_id = HDF5Constants.H5I_INVALID_HID;
+ long[] dims = {DIM_X, DIM_Y};
+ long[] chunk_dims = {CHUNK_X, CHUNK_Y};
double[][] dset_data = new double[DIM_X][DIM_Y];
// Initialize data.
for (int indx = 0; indx < DIM_X; indx++)
for (int jndx = 0; jndx < DIM_Y; jndx++) {
- double x = indx;
- double y = jndx;
+ double x = indx;
+ double y = jndx;
dset_data[indx][jndx] = (x + 1) / (y + 0.3) + y;
}
@@ -133,7 +135,7 @@ public class H5Ex_D_Sofloat {
// Create a new file using the default properties.
try {
file_id = H5.H5Fcreate(FILENAME, HDF5Constants.H5F_ACC_TRUNC, HDF5Constants.H5P_DEFAULT,
- HDF5Constants.H5P_DEFAULT);
+ HDF5Constants.H5P_DEFAULT);
}
catch (Exception e) {
e.printStackTrace();
@@ -164,7 +166,7 @@ public class H5Ex_D_Sofloat {
try {
if ((file_id >= 0) && (filespace_id >= 0) && (dcpl_id >= 0))
dataset_id = H5.H5Dcreate(file_id, DATASETNAME, HDF5Constants.H5T_IEEE_F64LE, filespace_id,
- HDF5Constants.H5P_DEFAULT, dcpl_id, HDF5Constants.H5P_DEFAULT);
+ HDF5Constants.H5P_DEFAULT, dcpl_id, HDF5Constants.H5P_DEFAULT);
}
catch (Exception e) {
e.printStackTrace();
@@ -173,8 +175,8 @@ public class H5Ex_D_Sofloat {
// Write the data to the dataset.
try {
if (dataset_id >= 0)
- H5.H5Dwrite(dataset_id, HDF5Constants.H5T_NATIVE_DOUBLE, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
- HDF5Constants.H5P_DEFAULT, dset_data);
+ H5.H5Dwrite(dataset_id, HDF5Constants.H5T_NATIVE_DOUBLE, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, dset_data);
}
catch (Exception e) {
e.printStackTrace();
@@ -215,10 +217,11 @@ public class H5Ex_D_Sofloat {
}
}
- private static void readData() {
- long file_id = HDF5Constants.H5I_INVALID_HID;
- long dataset_id = HDF5Constants.H5I_INVALID_HID;
- long dcpl_id = HDF5Constants.H5I_INVALID_HID;
+ private static void readData()
+ {
+ long file_id = HDF5Constants.H5I_INVALID_HID;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
+ long dcpl_id = HDF5Constants.H5I_INVALID_HID;
double[][] dset_data = new double[DIM_X][DIM_Y];
// Open file using the default properties.
@@ -251,15 +254,15 @@ public class H5Ex_D_Sofloat {
try {
if (dcpl_id >= 0) {
// Java lib requires a valid filter_name object and cd_values
- int[] flags = { 0 };
- long[] cd_nelmts = { 1 };
- int[] cd_values = { 0 };
- String[] filter_name = { "" };
- int[] filter_config = { 0 };
- int filter_type = -1;
-
- filter_type = H5
- .H5Pget_filter(dcpl_id, 0, flags, cd_nelmts, cd_values, 120, filter_name, filter_config);
+ int[] flags = {0};
+ long[] cd_nelmts = {1};
+ int[] cd_values = {0};
+ String[] filter_name = {""};
+ int[] filter_config = {0};
+ int filter_type = -1;
+
+ filter_type = H5.H5Pget_filter(dcpl_id, 0, flags, cd_nelmts, cd_values, 120, filter_name,
+ filter_config);
System.out.print("Filter type is: ");
switch (H5Z_filter.get(filter_type)) {
case H5Z_FILTER_DEFLATE:
@@ -293,8 +296,8 @@ public class H5Ex_D_Sofloat {
// Read the data using the default properties.
try {
if (dataset_id >= 0)
- H5.H5Dread(dataset_id, HDF5Constants.H5T_NATIVE_DOUBLE, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
- HDF5Constants.H5P_DEFAULT, dset_data);
+ H5.H5Dread(dataset_id, HDF5Constants.H5T_NATIVE_DOUBLE, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, dset_data);
}
catch (Exception e) {
e.printStackTrace();
@@ -343,7 +346,8 @@ public class H5Ex_D_Sofloat {
}
}
- public static void main(String[] args) {
+ public static void main(String[] args)
+ {
// Check if Scale-Offset compression is available and can be used
// for both compression and decompression. Normally we do not