summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2001-01-18 23:30:23 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2001-01-18 23:30:23 (GMT)
commit7921315a33816b58c7d055d4744df691c943eaa8 (patch)
treee654371403bcbf96fdee2458bf288dfc9cc531f9
parent0059525322df98fb6c6beaec2b89df93cc9657a8 (diff)
downloadhdf5-7921315a33816b58c7d055d4744df691c943eaa8.zip
hdf5-7921315a33816b58c7d055d4744df691c943eaa8.tar.gz
hdf5-7921315a33816b58c7d055d4744df691c943eaa8.tar.bz2
[svn-r3304] Purpose:
Code update Description: Remove ragged array code & tests from library before release. Platforms tested: FreeBSD 4.2 (hawkwind)
-rw-r--r--MANIFEST4
-rw-r--r--RELEASE3
-rw-r--r--examples/Dependencies10
-rw-r--r--pablo/Makefile.in2
-rw-r--r--pablo/ProcTrace.inc28
-rw-r--r--src/Dependencies47
-rw-r--r--src/H5.c10
-rw-r--r--src/H5E.c1
-rw-r--r--src/H5Epublic.h1
-rw-r--r--src/H5G.c14
-rw-r--r--src/H5Gpublic.h2
-rw-r--r--src/H5Iprivate.h1
-rw-r--r--src/H5Ipublic.h1
-rw-r--r--src/H5RA.c1290
-rw-r--r--src/H5RAprivate.h29
-rw-r--r--src/H5RApublic.h29
-rw-r--r--src/H5private.h1
-rw-r--r--src/Makefile.in6
-rw-r--r--src/hdf5.h1
-rw-r--r--test/Dependencies82
-rw-r--r--test/Makefile.in9
-rw-r--r--test/ragged.c700
-rw-r--r--testpar/Dependencies5
-rw-r--r--testpar/Makefile.in2
-rw-r--r--tools/Dependencies8
-rw-r--r--tools/h5ls.c30
26 files changed, 13 insertions, 2303 deletions
diff --git a/MANIFEST b/MANIFEST
index 2bd5ebc..6baa988 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -770,9 +770,6 @@
./src/H5R.c
./src/H5Rprivate.h
./src/H5Rpublic.h
-./src/H5RA.c
-./src/H5RAprivate.h
-./src/H5RApublic.h
./src/H5S.c
./src/H5Sall.c
./src/H5Shyper.c
@@ -839,7 +836,6 @@
./test/mtime.c
./test/ohdr.c
./test/overhead.c
-./test/ragged.c
./test/space_overflow.c _DO_NOT_DISTRIBUTE_
./test/gen_old_array.c _DO_NOT_DISTRIBUTE_
./test/gen_new_array.c _DO_NOT_DISTRIBUTE_
diff --git a/RELEASE b/RELEASE
index b252bc5..b91d1ca 100644
--- a/RELEASE
+++ b/RELEASE
@@ -336,6 +336,9 @@ Bug Fixes since HDF5-1.4.0-beta2
the switches.
* Changed parameters for H5Tconvert, H5Pset_bufer and H5Pget_buffer from
size_t to hsize_t
+ * Fixed fairly obscure bug in hyperslab I/O which could (in rare cases)
+ not copy all the data during a transfer.
+ * Removed ragged array code from library.
Platforms Tested
================
diff --git a/examples/Dependencies b/examples/Dependencies
index 259844a..218e6ab 100644
--- a/examples/Dependencies
+++ b/examples/Dependencies
@@ -23,7 +23,6 @@ h5_chunk_read.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -59,7 +58,6 @@ h5_compound.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -95,7 +93,6 @@ h5_extend_write.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -131,7 +128,6 @@ h5_group.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -167,7 +163,6 @@ h5_read.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -203,7 +198,6 @@ h5_write.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -239,7 +233,6 @@ h5_select.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -275,7 +268,6 @@ h5_attribute.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -311,7 +303,6 @@ h5_mount.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -347,7 +338,6 @@ h5_reference.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
diff --git a/pablo/Makefile.in b/pablo/Makefile.in
index 4c5fc74..d5941ad 100644
--- a/pablo/Makefile.in
+++ b/pablo/Makefile.in
@@ -35,7 +35,7 @@ LIB_SRC= \
H5FDstream.c H5FL.c H5G.c H5Gent.c H5Gnode.c H5Gstab.c H5HG.c H5HL.c H5I.c \
H5MF.c H5MM.c H5O.c H5Oattr.c H5Ocomp.c H5Ocont.c H5Odtype.c H5Oefl.c \
H5Ofill.c H5Olayout.c H5Omtime.c H5Oname.c H5Onull.c H5Osdspace.c \
- H5Oshared.c H5Ostab.c H5P.c H5R.c H5RA.c H5S.c H5Sall.c H5Shyper.c \
+ H5Oshared.c H5Ostab.c H5P.c H5R.c H5S.c H5Sall.c H5Shyper.c \
H5Smpio.c H5Snone.c H5Spoint.c H5Sselect.c H5T.c H5Tbit.c H5Tconv.c \
H5Tinit.c H5Tvlen.c H5TB.c H5TS.c H5V.c H5Z.c H5Zdeflate.c
diff --git a/pablo/ProcTrace.inc b/pablo/ProcTrace.inc
index a7137ef..14471f3 100644
--- a/pablo/ProcTrace.inc
+++ b/pablo/ProcTrace.inc
@@ -1150,32 +1150,6 @@
parameter ( IDH5Psetvlenmemmanager = 575 )
integer IDH5Punregister
parameter ( IDH5Punregister = 576 )
- integer IDH5RAclose
- parameter ( IDH5RAclose = 577 )
- integer IDH5RAcreate
- parameter ( IDH5RAcreate = 578 )
- integer IDH5RAfixoverflow
- parameter ( IDH5RAfixoverflow = 579 )
- integer IDH5RAinitinterface
- parameter ( IDH5RAinitinterface = 580 )
- integer IDH5RAisa
- parameter ( IDH5RAisa = 581 )
- integer IDH5RAopen
- parameter ( IDH5RAopen = 582 )
- integer IDH5RAread
- parameter ( IDH5RAread = 583 )
- integer IDH5RAwrite
- parameter ( IDH5RAwrite = 584 )
- integer IDH5RAclose
- parameter ( IDH5RAclose = 585 )
- integer IDH5RAcreate
- parameter ( IDH5RAcreate = 586 )
- integer IDH5RAopen
- parameter ( IDH5RAopen = 587 )
- integer IDH5RAread
- parameter ( IDH5RAread = 588 )
- integer IDH5RAwrite
- parameter ( IDH5RAwrite = 589 )
integer IDH5Rcreate
parameter ( IDH5Rcreate = 590 )
integer IDH5Rdereference
@@ -2050,8 +2024,6 @@
parameter ( IDH5Ostabc = 1025 )
integer IDH5Pc
parameter ( IDH5Pc = 1026 )
- integer IDH5RAc
- parameter ( IDH5RAc = 1027 )
integer IDH5Rc
parameter ( IDH5Rc = 1028 )
integer IDH5Sc
diff --git a/src/Dependencies b/src/Dependencies
index 8858cee..0983b0f 100644
--- a/src/Dependencies
+++ b/src/Dependencies
@@ -547,7 +547,6 @@ H5FDdpss.lo: \
$(srcdir)/H5Ppublic.h \
$(srcdir)/H5Zpublic.h \
$(srcdir)/H5Rpublic.h \
- $(srcdir)/H5RApublic.h \
$(srcdir)/H5Spublic.h \
$(srcdir)/H5Tpublic.h \
$(srcdir)/H5FDcore.h \
@@ -587,7 +586,6 @@ H5FDmulti.lo: \
$(srcdir)/H5Ppublic.h \
$(srcdir)/H5Zpublic.h \
$(srcdir)/H5Rpublic.h \
- $(srcdir)/H5RApublic.h \
$(srcdir)/H5Spublic.h \
$(srcdir)/H5Tpublic.h \
$(srcdir)/H5FDcore.h \
@@ -738,7 +736,6 @@ H5FDstdio.lo: \
$(srcdir)/H5Ppublic.h \
$(srcdir)/H5Zpublic.h \
$(srcdir)/H5Rpublic.h \
- $(srcdir)/H5RApublic.h \
$(srcdir)/H5Spublic.h \
$(srcdir)/H5Tpublic.h \
$(srcdir)/H5FDcore.h \
@@ -824,9 +821,7 @@ H5G.lo: \
$(srcdir)/H5HLprivate.h \
$(srcdir)/H5HLpublic.h \
$(srcdir)/H5Iprivate.h \
- $(srcdir)/H5MMprivate.h \
- $(srcdir)/H5RAprivate.h \
- $(srcdir)/H5RApublic.h
+ $(srcdir)/H5MMprivate.h
H5Gent.lo: \
$(srcdir)/H5Gent.c \
$(srcdir)/H5private.h \
@@ -1629,46 +1624,6 @@ H5R.lo: \
$(srcdir)/H5Eprivate.h \
$(srcdir)/H5Epublic.h \
$(srcdir)/H5MMprivate.h
-H5RA.lo: \
- $(srcdir)/H5RA.c \
- $(srcdir)/H5RAprivate.h \
- $(srcdir)/H5RApublic.h \
- $(srcdir)/H5Ipublic.h \
- $(srcdir)/H5public.h \
- H5pubconf.h \
- $(srcdir)/H5api_adpt.h \
- $(srcdir)/H5Dprivate.h \
- $(srcdir)/H5Dpublic.h \
- $(srcdir)/H5private.h \
- H5config.h \
- $(srcdir)/H5Fprivate.h \
- $(srcdir)/H5Fpublic.h \
- $(srcdir)/H5FDpublic.h \
- $(srcdir)/H5MMpublic.h \
- $(srcdir)/H5Gprivate.h \
- $(srcdir)/H5Gpublic.h \
- $(srcdir)/H5Bprivate.h \
- $(srcdir)/H5Bpublic.h \
- $(srcdir)/H5ACprivate.h \
- $(srcdir)/H5ACpublic.h \
- $(srcdir)/H5Oprivate.h \
- $(srcdir)/H5Opublic.h \
- $(srcdir)/H5HGprivate.h \
- $(srcdir)/H5HGpublic.h \
- $(srcdir)/H5Tprivate.h \
- $(srcdir)/H5Tpublic.h \
- $(srcdir)/H5Rprivate.h \
- $(srcdir)/H5Rpublic.h \
- $(srcdir)/H5Sprivate.h \
- $(srcdir)/H5Spublic.h \
- $(srcdir)/H5Zprivate.h \
- $(srcdir)/H5Zpublic.h \
- $(srcdir)/H5Eprivate.h \
- $(srcdir)/H5Epublic.h \
- $(srcdir)/H5Iprivate.h \
- $(srcdir)/H5MMprivate.h \
- $(srcdir)/H5Pprivate.h \
- $(srcdir)/H5Ppublic.h
H5S.lo: \
$(srcdir)/H5S.c \
$(srcdir)/H5private.h \
diff --git a/src/H5.c b/src/H5.c
index c92415f..cd9c6b9 100644
--- a/src/H5.c
+++ b/src/H5.c
@@ -202,7 +202,6 @@ H5_term_library(void)
pending += DOWN(FD);
pending += DOWN(D);
pending += DOWN(Z);
- pending += DOWN(RA);
pending += DOWN(G);
pending += DOWN(FL);
pending += DOWN(R);
@@ -1848,12 +1847,6 @@ H5_trace (hbool_t returning, const char *func, const char *type, ...)
fprintf(out, " (tbuf");
}
break;
- case H5I_RAGGED:
- fprintf(out, "%ld", (long)obj);
- if (HDstrcmp(argname, "array")) {
- fprintf(out, " (array)");
- }
- break;
case H5I_REFERENCE:
fprintf(out, "%ld (reference)", (long)obj);
break;
@@ -1979,9 +1972,6 @@ H5_trace (hbool_t returning, const char *func, const char *type, ...)
case H5I_TEMPBUF:
fprintf (out, "H5I_TEMPBUF");
break;
- case H5I_RAGGED:
- fprintf (out, "H5I_RAGGED");
- break;
case H5I_REFERENCE:
fprintf (out, "H5I_REFERENCE");
break;
diff --git a/src/H5E.c b/src/H5E.c
index b4928ff..11fb11b 100644
--- a/src/H5E.c
+++ b/src/H5E.c
@@ -57,7 +57,6 @@ static const H5E_major_mesg_t H5E_major_mesg_g[] = {
{H5E_ATTR, "Attribute layer"},
{H5E_PLINE, "Data filters layer"},
{H5E_EFL, "External file list"},
- {H5E_RAGGED, "Ragged array layer"},
{H5E_REFERENCE, "References layer"},
{H5E_VFL, "Virtual File Layer"},
{H5E_TBBT, "Threaded, Balanced, Binary Trees"},
diff --git a/src/H5Epublic.h b/src/H5Epublic.h
index 02cc9c6..2335600 100644
--- a/src/H5Epublic.h
+++ b/src/H5Epublic.h
@@ -96,7 +96,6 @@ typedef enum H5E_major_t {
H5E_ATTR, /*Attribute */
H5E_PLINE, /*Data filters */
H5E_EFL, /*External file list */
- H5E_RAGGED, /*Ragged arrays */
H5E_REFERENCE, /*References */
H5E_VFL, /*Virtual File Layer */
H5E_TBBT /*Threaded, Balanced, Binary Trees */
diff --git a/src/H5G.c b/src/H5G.c
index 9f3d8c8..4b5efe4 100644
--- a/src/H5G.c
+++ b/src/H5G.c
@@ -89,7 +89,6 @@
#include <H5Iprivate.h>
#include <H5MMprivate.h>
#include <H5Oprivate.h>
-#include <H5RAprivate.h>
#define H5G_INIT_HEAP 8192
#define H5G_RESERVED_ATOMS 0
@@ -709,7 +708,6 @@ H5G_init_interface(void)
H5G_register_type(H5G_TYPE, H5T_isa, "data type");
H5G_register_type(H5G_GROUP, H5G_isa, "group");
H5G_register_type(H5G_DATASET, H5D_isa, "dataset");
- H5G_register_type(H5G_RAGGED, H5RA_isa, "ragged array");
FUNC_LEAVE(SUCCEED);
}
@@ -1753,7 +1751,6 @@ H5G_loc (hid_t loc_id)
H5T_t *dt=NULL;
H5D_t *dset=NULL;
H5A_t *attr=NULL;
- H5RA_t *ra=NULL;
FUNC_ENTER (H5G_loc, NULL);
@@ -1831,17 +1828,6 @@ H5G_loc (hid_t loc_id)
HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, NULL,
"unable to get symbol table entry of buffer");
- case H5I_RAGGED:
- if (NULL==(ra=H5I_object(loc_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, NULL,
- "invalid ragged array ID");
- }
- if (NULL==(ret_value=H5RA_entof(ra))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, NULL,
- "unable to get symbol table entry of ragged array");
- }
- break;
-
case H5I_NGROUPS:
case H5I_BADID:
case H5I_FILE_CLOSING:
diff --git a/src/H5Gpublic.h b/src/H5Gpublic.h
index 29272e5..378ef2c 100644
--- a/src/H5Gpublic.h
+++ b/src/H5Gpublic.h
@@ -46,7 +46,7 @@ typedef enum H5G_link_t {
#define H5G_GROUP 1 /* Object is a group */
#define H5G_DATASET 2 /* Object is a dataset */
#define H5G_TYPE 3 /* Object is a named data type */
-#define H5G_RAGGED 4 /* Object is a ragged array */
+#define H5G_RESERVED_4 4 /* Reserved for future use */
#define H5G_RESERVED_5 5 /* Reserved for future use */
#define H5G_RESERVED_6 6 /* Reserved for future use */
#define H5G_RESERVED_7 7 /* Reserved for future use */
diff --git a/src/H5Iprivate.h b/src/H5Iprivate.h
index 3c33fa2..d18108b 100644
--- a/src/H5Iprivate.h
+++ b/src/H5Iprivate.h
@@ -35,7 +35,6 @@
#define H5I_GROUPID_HASHSIZE 64
#define H5I_ATTRID_HASHSIZE 64
#define H5I_TEMPBUFID_HASHSIZE 64
-#define H5I_RAGGED_HASHSIZE 64
#define H5I_REFID_HASHSIZE 64
#define H5I_VFL_HASHSIZE 64
#define H5I_GENPROPCLS_HASHSIZE 64
diff --git a/src/H5Ipublic.h b/src/H5Ipublic.h
index 20e991a..0157521 100644
--- a/src/H5Ipublic.h
+++ b/src/H5Ipublic.h
@@ -45,7 +45,6 @@ typedef enum {
H5I_DATASET, /*group ID for Dataset objects */
H5I_ATTR, /*group ID for Attribute objects */
H5I_TEMPBUF, /*group ID for Temporary buffer objects */
- H5I_RAGGED, /*group ID for Ragged array objects */
H5I_REFERENCE, /*group ID for Reference objects */
H5I_VFL, /*group ID for virtual file layer */
H5I_GENPROP_CLS, /*group ID for generic property list classes */
diff --git a/src/H5RA.c b/src/H5RA.c
deleted file mode 100644
index 71b7eb5..0000000
--- a/src/H5RA.c
+++ /dev/null
@@ -1,1290 +0,0 @@
-/*
- * Copyright © 1998 NCSA
- * All rights reserved.
- *
- * Programmer: Robb Matzke <matzke@llnl.gov>
- * Tuesday, August 25, 1998
- *
- * Purpose: A ragged array package layered on top of other HDF5 objects.
- * This was originally implemented on the HDF5 API but has been
- * moved under the API so it meshes better with other objects,
- * is somewhat faster, and has better debugging support.
- *
- * Note: This file implementes a two dimensional array where each row
- * of the array is a different length (a.k.a., ragged array). It
- * is intended for applications where the distribution of row
- * lengths is such that most rows near an average length with
- * only a few rows that are significantly shorter or longer. The
- * raw data is split among two datasets `raw' and `over': the
- * `raw' dataset is a 2d chunked dataset whose width is large
- * enough to hold most of the rows and the `over' dataset is a
- * heap that stores the end of rows that overflow the first
- * dataset. A third dataset called `meta' contains one record
- * for each row and describes what elements (if any) overflow
- * the `raw' dataset and where they are stored in the `over'
- * dataset. All three datasets are contained in a single group
- * whose name is the name of the ragged array.
- */
-#include <H5RAprivate.h>
-
-#include <H5private.h>
-#include <H5Eprivate.h>
-#include <H5Iprivate.h>
-#include <H5MMprivate.h>
-#include <H5Pprivate.h>
-
-typedef struct H5RA_meta_t {
- hsize_t nelmts; /*num elements in row */
- hssize_t offset; /*offset into overflow array */
- hsize_t nover; /*allocated size in overflow array */
-} H5RA_meta_t;
-
-struct H5RA_t {
- H5G_t *group; /*the group containing everything */
- H5D_t *meta; /*ragged meta data array */
- H5D_t *raw; /*fixed-width raw data */
- H5D_t *over; /*overflow data */
-};
-
-#define PABLO_MASK H5RA_mask
-static intn interface_initialize_g = 0;
-#define INTERFACE_INIT H5RA_init_interface
-static herr_t H5RA_init_interface(void);
-static H5T_t *H5RA_meta_type_g = NULL;
-
-static herr_t H5RA_fix_overflow(H5RA_t *ra, H5T_t *type, H5RA_meta_t *meta,
- hsize_t nelmts, void *buf);
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RA_init_interface
- *
- * Purpose: Initialize the interface.
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5RA_init_interface(void)
-{
- H5T_t *type = NULL;
-
- FUNC_ENTER(H5RA_init_interface, FAIL);
-
- /* The atom group */
- if (H5I_init_group(H5I_RAGGED, H5I_RAGGED_HASHSIZE, 0,
- (H5I_free_t)H5RA_close)<0) {
- HRETURN_ERROR (H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to initialize interface");
- }
-
- /* The meta dataset type */
- if (NULL==(type=H5T_create(H5T_COMPOUND, sizeof(H5RA_meta_t))) ||
- H5T_insert(type, "nelmts", HOFFSET(H5RA_meta_t, nelmts), H5I_object(H5T_NATIVE_HSIZE_g))<0 ||
- H5T_insert(type, "offset", HOFFSET(H5RA_meta_t, offset), H5I_object(H5T_NATIVE_HSSIZE_g))<0 ||
- H5T_insert(type, "nover", HOFFSET(H5RA_meta_t, nover), H5I_object(H5T_NATIVE_HSIZE_g))) {
- HRETURN_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to define ragged array meta type");
- }
- H5RA_meta_type_g = type;
-
- FUNC_LEAVE(SUCCEED);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RA_term_interface
- *
- * Purpose: Terminate the ragged array interface.
- *
- * Return: Success: Positive if anything was done that might
- * affect some other interface. Zero otherwise.
- *
- * Failure: Negaitive
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-intn
-H5RA_term_interface(void)
-{
- intn n=0;
-
- if (interface_initialize_g) {
- if ((n=H5I_nmembers(H5I_RAGGED))) {
- H5I_clear_group(H5I_RAGGED, FALSE);
- } else {
- H5T_close(H5RA_meta_type_g);
- H5RA_meta_type_g = NULL;
- H5I_destroy_group(H5I_RAGGED);
- interface_initialize_g = 0;
- n = 1; /*H5T,H5I*/
- }
- }
- return n;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RAcreate
- *
- * Purpose: Create a new ragged array with the specified name. A ragged
- * array is implemented as a group containing three datasets.
- * The dataset `raw' is a fixed width dataset which will hold
- * the majority of the data. The dataset `over' is a one
- * dimensional heap which will hold the end of rows which are
- * too long to fit in `raw'. Finally, the `meta' dataset
- * contains information about the `over' array. All elements of
- * the ragged array are stored with the same data type.
- *
- * The property list PLIST_ID should contain information about
- * chunking. The chunk width will determine the width of the
- * `raw' dataset while the chunk length should be such that the
- * total chunk size is reasonably large (I/O will be performed
- * in units of chunks). If the PLIST_ID doesn't have a chunk
- * size defined (e.g., H5P_DEFAULT) then this function will fail.
- *
- * Return: Success: A ragged array ID.
- *
- * Failure: Negative
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-hid_t
-H5RAcreate(hid_t loc_id, const char *name, hid_t type_id, hid_t plist_id)
-{
- H5RA_t *ra=NULL;
- H5G_entry_t *loc=NULL;
- H5T_t *type=NULL;
- const H5D_create_t *plist=NULL;
- hid_t ret_value=FAIL;
-
- FUNC_ENTER(H5RAcreate, FAIL);
- H5TRACE4("i","isii",loc_id,name,type_id,plist_id);
-
- /* Check args */
- if (NULL==(loc=H5G_loc(loc_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
- }
- if (!name || !*name) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name given");
- }
- if (H5I_DATATYPE!=H5I_get_type(type_id) ||
- NULL==(type=H5I_object(type_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a data type");
- }
- if (H5P_DEFAULT==plist_id) {
- plist = &H5D_create_dflt;
- } else if (H5P_DATASET_CREATE!=H5P_get_class(plist_id) ||
- NULL==(plist=H5I_object(plist_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a dataset creation property list");
- }
- if (H5D_CHUNKED!=plist->layout) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
- "property list must define a chunked storage layout");
- }
- if (2!=plist->layout) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
- "chunked storage is not two dimensional");
- }
-
- /* Do the real work */
- if (NULL==(ra=H5RA_create(loc, name, type, plist))) {
- HRETURN_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to create ragged array");
- }
-
- /* Register the new dataset to get an ID for it */
- if ((ret_value=H5I_register(H5I_RAGGED, ra))<0) {
- H5RA_close(ra);
- HRETURN_ERROR(H5E_RAGGED, H5E_CANTREGISTER, FAIL,
- "unable to register ragged array");
- }
-
- FUNC_LEAVE(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RA_create
- *
- * Purpose: Create a new ragged array implemented as a group.
- *
- * Return: Success: Pointer to the new ragged array.
- *
- * Failure: NULL
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-H5RA_t *
-H5RA_create(H5G_entry_t *loc, const char *name, H5T_t *type,
- const H5D_create_t *dcpl)
-{
- H5RA_t *ra = NULL;
- H5S_t *space = NULL;
- hsize_t cur_dims[2];
- hsize_t max_dims[2];
- H5RA_t *ret_value=NULL;
- H5D_create_t d1_dcpl;
-
- FUNC_ENTER(H5RA_create, NULL);
-
- /* Check args */
- assert(loc);
- assert(name && *name);
- assert(type);
- assert(dcpl);
- assert(H5D_CHUNKED==dcpl->layout);
-
- /* Create the data struct */
- if (NULL==(ra=H5MM_calloc(sizeof(H5RA_t)))) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL,
- "memory allocation failed for ragged array struct");
- }
-
- /* Create the group to contain the arrays */
- if (NULL==(ra->group=H5G_create(loc, name, 0))) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, NULL,
- "unable to create container group");
- }
-
- /* The raw data array */
- cur_dims[0] = 0;
- max_dims[0] = H5S_UNLIMITED;
- cur_dims[1] = max_dims[1] = dcpl->chunk_size[1];
- if (NULL==(space=H5S_create(H5S_SIMPLE)) ||
- H5S_set_extent_simple(space, 2, cur_dims, max_dims)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, NULL,
- "unable to define raw dataset extents");
- }
- if (NULL==(ra->raw=H5D_create(H5G_entof(ra->group), "raw", type, space,
- dcpl))) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, NULL,
- "unable to create raw dataset");
- }
- if (H5S_close(space)<0) {
- space = NULL;
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, NULL,
- "unable to close raw dataset extents");
- }
- space = NULL;
-
- /* The overflow data array */
- cur_dims[0] = 0;
- max_dims[0] = H5S_UNLIMITED;
- if (NULL==(space=H5S_create(H5S_SIMPLE)) ||
- H5S_set_extent_simple(space, 1, cur_dims, max_dims)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, NULL,
- "unable to define overflow dataset extents");
- }
- d1_dcpl = *dcpl;
- d1_dcpl.chunk_ndims = 1;
- d1_dcpl.chunk_size[0] = dcpl->chunk_size[0]*dcpl->chunk_size[1];
- if (NULL==(ra->over=H5D_create(H5G_entof(ra->group), "over", type, space,
- &d1_dcpl))) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, NULL,
- "unable to create overflow dataset");
- }
- if (H5S_close(space)<0) {
- space = NULL;
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, NULL,
- "unable to close overflow dataset extents");
- }
- space = NULL;
-
- /* The meta data array */
- cur_dims[0] = 0;
- max_dims[0] = H5S_UNLIMITED;
- if (NULL==(space=H5S_create(H5S_SIMPLE)) ||
- H5S_set_extent_simple(space, 1, cur_dims, max_dims)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, NULL,
- "unable to define meta dataset extents");
- }
- d1_dcpl.chunk_size[0] = MAX(1,
- (dcpl->chunk_size[0]*dcpl->chunk_size[1]*
- H5T_get_size(type))/
- H5T_get_size(H5RA_meta_type_g));
- if (NULL==(ra->meta=H5D_create(H5G_entof(ra->group), "meta",
- H5RA_meta_type_g, space, &d1_dcpl))) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, NULL,
- "unable to create meta dataset");
- }
- if (H5S_close(space)<0) {
- space = NULL;
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, NULL,
- "unable to close meta dataset extents");
- }
- space = NULL;
-
- ret_value = ra;
-
- done:
- if (!ret_value) {
- if (space) H5S_close(space);
- if (ra) {
- if (ra->group) H5G_close(ra->group);
- if (ra->raw) H5D_close(ra->raw);
- if (ra->over) H5D_close(ra->over);
- if (ra->meta) H5D_close(ra->meta);
- H5MM_xfree(ra);
- }
- }
- FUNC_LEAVE(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RAopen
- *
- * Purpose: Opens an existing ragged array. The name of the array should
- * be the same that was used when the array was created; that is,
- * the name of the group which implements the array.
- *
- * Return: Success: An array ID
- *
- * Failure: Negative
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-hid_t
-H5RAopen(hid_t loc_id, const char *name)
-{
- H5G_entry_t *loc=NULL;
- H5RA_t *ra=NULL;
- hid_t ret_value=FAIL;
-
- FUNC_ENTER(H5RAopen, FAIL);
- H5TRACE2("i","is",loc_id,name);
-
- /* Check args */
- if (NULL==(loc=H5G_loc(loc_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
- }
- if (!name || !*name) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name given");
- }
-
- /* The real work */
- if (NULL==(ra=H5RA_open(loc, name))) {
- HRETURN_ERROR(H5E_RAGGED, H5E_CANTOPENOBJ, FAIL,
- "unable to open ragged array");
- }
-
- /* Turn it into an atom */
- if ((ret_value=H5I_register(H5I_RAGGED, ra))<0) {
- H5RA_close(ra);
- HRETURN_ERROR(H5E_RAGGED, H5E_CANTREGISTER, FAIL,
- "unable to register ragged array");
- }
-
- FUNC_LEAVE(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RA_isa
- *
- * Purpose: Determines if an object is a ragged array.
- *
- * Return: Success: TRUE if the object is a ragged array; FALSE
- * otherwise.
- *
- * Failure: Negative
- *
- * Programmer: Robb Matzke
- * Wednesday, November 4, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-htri_t
-H5RA_isa(H5G_entry_t *ent)
-{
- htri_t exists;
- H5G_entry_t d_ent;
-
- FUNC_ENTER(H5RA_isa, FAIL);
-
- /* Open the container group */
- if ((exists=H5G_isa(ent))<0) {
- HRETURN_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to read object header");
- } else if (!exists) {
- HRETURN(FALSE);
- }
-
- /* Is `raw' a dataset? */
- if (H5G_find(ent, "raw", NULL, &d_ent)<0) HRETURN(FALSE);
- if ((exists=H5D_isa(&d_ent))<0) {
- HRETURN_ERROR(H5E_DATASET, H5E_NOTFOUND, FAIL, "not found");
- } else if (!exists) {
- HRETURN(FALSE);
- }
-
- /* Is `over' a dataset? */
- if (H5G_find(ent, "over", NULL, &d_ent)<0 ||
- (exists=H5D_isa(&d_ent))<0) {
- HRETURN_ERROR(H5E_DATASET, H5E_NOTFOUND, FAIL, "not found");
- } else if (!exists) {
- HRETURN(FALSE);
- }
-
- /* Is `meta' a dataset? */
- if (H5G_find(ent, "meta", NULL, &d_ent)<0 ||
- (exists=H5D_isa(&d_ent))<0) {
- HRETURN_ERROR(H5E_DATASET, H5E_NOTFOUND, FAIL, "not found");
- } else if (!exists) {
- HRETURN(FALSE);
- }
-
- FUNC_LEAVE(TRUE);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RA_open
- *
- * Purpose: Open a ragged array. The name of the array is the same as
- * the group that implements the array.
- *
- * Return: Success: Ptr to a new ragged array object.
- *
- * Failure: NULL
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-H5RA_t *
-H5RA_open(H5G_entry_t *loc, const char *name)
-{
- H5RA_t *ra = NULL;
- H5RA_t *ret_value = NULL;
-
- FUNC_ENTER(H5RA_open, NULL);
-
- /* Check arguments */
- assert(loc);
- assert(name && *name);
-
- /* Create the struct */
- if (NULL==(ra=H5MM_calloc(sizeof(H5RA_t)))) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL,
- "memory allocation failed for ragged array struct");
- }
-
- /* Open the containing group */
- if (NULL==(ra->group=H5G_open(loc, name))) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTOPENOBJ, NULL,
- "unable to open container group");
- }
-
- /* Open the datasets */
- if (NULL==(ra->raw=H5D_open(H5G_entof(ra->group), "raw")) ||
- NULL==(ra->over=H5D_open(H5G_entof(ra->group), "over")) ||
- NULL==(ra->meta=H5D_open(H5G_entof(ra->group), "meta"))) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTOPENOBJ, NULL,
- "unable to open one or more component datasets");
- }
-
- ret_value = ra;
-
- done:
- if (!ret_value) {
- if (ra) {
- if (ra->group) H5G_close(ra->group);
- if (ra->raw) H5D_close(ra->raw);
- if (ra->over) H5D_close(ra->over);
- if (ra->meta) H5D_close(ra->meta);
- H5MM_xfree(ra);
- }
- }
- FUNC_LEAVE(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RAclose
- *
- * Purpose: Close a ragged array.
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5RAclose(hid_t array_id)
-{
- FUNC_ENTER(H5RAclose, FAIL);
- H5TRACE1("e","i",array_id);
-
- /* Check args */
- if (H5I_RAGGED!=H5I_get_type(array_id) ||
- NULL==H5I_object(array_id)) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a ragged array");
- }
-
- /*
- * Decrement the counter on the array. It will be freed if the count
- * reaches zero.
- */
- if (H5I_dec_ref(array_id) < 0) {
- HRETURN_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to free");
- }
-
- FUNC_LEAVE(SUCCEED);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RA_close
- *
- * Purpose: Close a ragged array
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5RA_close(H5RA_t *ra)
-{
- FUNC_ENTER(H5RA_close, FAIL);
-
- assert(ra);
- if ((ra->group && H5G_close(ra->group)<0) ||
- (ra->raw && H5D_close(ra->raw)<0) ||
- (ra->over && H5D_close(ra->over)<0) ||
- (ra->meta && H5D_close(ra->meta)<0)) {
- HRETURN_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to close one or more component datasets");
- }
- HDmemset(ra, 0, sizeof(H5RA_t));
- H5MM_xfree(ra);
-
- FUNC_LEAVE(SUCCEED);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RAwrite
- *
- * Purpose: Write a contiguous set of rows to a ragged array beginning at
- * row number START_ROW and continuing for NROWS rows. Each row
- * of the ragged array contains SIZE[] elements of type TYPE_ID
- * and each row is stored in a buffer pointed to by BUF[].
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5RAwrite(hid_t array_id, hssize_t start_row, hsize_t nrows,
- hid_t type_id, hsize_t size[/*nrows*/], void *buf[/*nrows*/])
-{
- H5RA_t *ra=NULL;
- H5T_t *type=NULL;
- hsize_t i;
-
- FUNC_ENTER(H5RAwrite, FAIL);
- H5TRACE6("e","iHshi*[a2]h*[a2]x",array_id,start_row,nrows,type_id,size,
- buf);
-
- /* Check args */
- if (H5I_RAGGED!=H5I_get_type(array_id) ||
- NULL==(ra=H5I_object(array_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a ragged array");
- }
- if (H5I_DATATYPE!=H5I_get_type(type_id) ||
- NULL==(type=H5I_object(type_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a data type");
- }
- if (nrows>0 && !size) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no size array");
- }
- if (nrows>0 && !buf) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no output buffer array");
- }
- for (i=0; i<nrows; i++) {
- if (size[i]>0 && !buf[i]) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
- "one or more buffer points are null");
- }
- }
-
- /* Do the work */
- if (H5RA_write(ra, start_row, nrows, type, size, buf)<0) {
- HRETURN_ERROR(H5E_RAGGED, H5E_WRITEERROR, FAIL,
- "unable to write to ragged array");
- }
-
- FUNC_LEAVE(SUCCEED);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RA_write
- *
- * Purpose: Write a contiguous set of rows to a ragged array beginning at
- * row number START_ROW and continuing for NROWS rows. Each row
- * of the ragged array contains SIZE[] elements of type TYPE_ID
- * and each row is stored in a buffer pointed to by BUF[].
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5RA_write(H5RA_t *ra, hssize_t start_row, hsize_t nrows, H5T_t *type,
- hsize_t size[], void *buf[])
-{
- herr_t ret_value=FAIL;
- H5RA_meta_t *meta = NULL;
- H5S_t *mf_space=NULL; /*meta file data space */
- H5S_t *mm_space=NULL; /*meta memory data space */
- H5S_t *rf_space=NULL; /*raw data file space */
- H5S_t *rm_space=NULL; /*raw data memory space */
- hsize_t meta_cur_size; /*current meta data nelmts */
- hsize_t meta_read_size; /*amount to read */
- hsize_t raw_cur_size[2]; /*raw data current size */
- hssize_t hs_offset[2]; /*hyperslab offset */
- hsize_t hs_size[2]; /*hyperslab size */
- uint8_t *raw_buf=NULL; /*raw buffer */
- size_t type_size; /*size of the TYPE argument */
- hsize_t i;
-
- FUNC_ENTER(H5RA_write, FAIL);
-
- /* Check args */
- assert(ra);
- assert(type);
- assert(0==nrows || size);
- assert(0==nrows || buf);
- if (0==nrows) HRETURN(SUCCEED);
- type_size = H5T_get_size(type);
-
- /* Get the meta data */
- if (NULL==(mf_space=H5D_get_space(ra->meta)) ||
- H5S_get_simple_extent_dims(mf_space, &meta_cur_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to get current meta data extents");
- }
- if ((hsize_t)start_row>=meta_cur_size) {
- meta_read_size = 0;
- } else {
- meta_read_size = MIN(nrows, meta_cur_size-(hsize_t)start_row);
- }
- if (NULL==(mm_space=H5S_create(H5S_SIMPLE)) ||
- H5S_set_extent_simple(mm_space, 1, &meta_read_size, NULL)<0 ||
- H5S_select_hyperslab(mf_space, H5S_SELECT_SET, &start_row, NULL,
- &meta_read_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to set meta data selection");
- }
- assert((nrows*sizeof(H5RA_meta_t))==(hsize_t)((size_t)(nrows*sizeof(H5RA_meta_t)))); /*check for overflow*/
- if (NULL==(meta=H5MM_malloc((size_t)(nrows*sizeof(H5RA_meta_t))))) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
- "memory allocation failed for meta data");
- }
- if (H5D_read(ra->meta, H5RA_meta_type_g, mm_space, mf_space,
- H5P_DEFAULT, meta)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_READERROR, FAIL,
- "unable to read meta data");
- }
- assert(((nrows-meta_read_size)*sizeof(H5RA_meta_t))==(hsize_t)((size_t)((nrows-meta_read_size)*sizeof(H5RA_meta_t)))); /*check for overflow*/
- HDmemset(meta+meta_read_size, 0,
- (size_t)((nrows-meta_read_size)*sizeof(H5RA_meta_t)));
-
- /* Write the part of the data that will fit in the raw dataset */
- if (NULL==(rf_space=H5D_get_space(ra->raw)) ||
- H5S_get_simple_extent_dims(rf_space, raw_cur_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to determine current raw data extents");
- }
- assert((nrows*raw_cur_size[1]*type_size)==(hsize_t)((size_t)(nrows*raw_cur_size[1]*type_size))); /*check for overflow*/
- if (NULL==(raw_buf=H5MM_malloc((size_t)(nrows*raw_cur_size[1]*type_size)))) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
- "unable to allocate buffer for raw data");
- }
- for (i=0; i<nrows; i++) {
- size_t nbytes = MIN(size[i], raw_cur_size[1])*type_size;
- HDmemcpy(raw_buf+i*raw_cur_size[1]*type_size, buf[i], nbytes);
- assert((raw_cur_size[1]*type_size-nbytes)==(hsize_t)((size_t)(raw_cur_size[1]*type_size-nbytes))); /*check for overflow*/
- HDmemset(raw_buf+i*raw_cur_size[1]*type_size+nbytes, 0,
- (size_t)(raw_cur_size[1]*type_size-nbytes));
- }
- if ((hsize_t)start_row+nrows>raw_cur_size[0]) {
- raw_cur_size[0] = (hsize_t)start_row + nrows;
- if (H5D_extend(ra->raw, raw_cur_size)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to extend raw dataset");
- }
- /* Throw away previous raw file dataspace */
- H5S_close(rf_space);
-
- /* Retrieve newly extended raw file dataspace */
- if (NULL==(rf_space=H5D_get_space(ra->raw)) ||
- H5S_get_simple_extent_dims(rf_space, raw_cur_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to determine current raw data extents");
- }
- }
- hs_offset[0] = start_row;
- hs_offset[1] = 0;
- hs_size[0] = nrows;
- hs_size[1] = raw_cur_size[1];
- if (NULL==(rm_space=H5S_create(H5S_SIMPLE)) ||
- H5S_set_extent_simple(rm_space, 2, hs_size, NULL)<0 ||
- H5S_select_hyperslab(rf_space, H5S_SELECT_SET,
- hs_offset, NULL, hs_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to set meta data selection");
- }
- if (H5D_write(ra->raw, type, rm_space, rf_space, H5P_DEFAULT,
- raw_buf)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_WRITEERROR, FAIL,
- "unable to write raw data");
- }
-
- /* Update the meta data */
- for (i=0; i<nrows; i++) {
- if (size[i]>raw_cur_size[1]) {
- H5RA_fix_overflow(ra, type, meta+i, size[i]-raw_cur_size[1],
- (uint8_t*)(buf[i])+raw_cur_size[1]*type_size);
- }
- meta[i].nelmts = size[i];
- }
-
- /* Extend and write the new meta data */
- if ((hsize_t)start_row+nrows>meta_cur_size) {
- meta_cur_size = (hsize_t)start_row+nrows;
- if (H5D_extend(ra->meta, &meta_cur_size)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to extend meta dataset");
- }
- /* Throw away previous meta file dataspace */
- H5S_close(mf_space);
-
- /* Retrieve newly extended meta file dataspace */
- if (NULL==(mf_space=H5D_get_space(ra->meta)) ||
- H5S_get_simple_extent_dims(mf_space, &meta_cur_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to determine current raw data extents");
- }
- }
- if (H5S_set_extent_simple(mm_space, 1, &nrows, NULL)<0 ||
- H5S_select_hyperslab(mf_space, H5S_SELECT_SET, &start_row, NULL,
- &nrows, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to set meta data selection");
- }
- if (H5D_write(ra->meta, H5RA_meta_type_g, mm_space, mf_space,
- H5P_DEFAULT, meta)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_WRITEERROR, FAIL,
- "unable to write meta data");
- }
-
- ret_value = SUCCEED;
- done:
- H5MM_xfree(meta);
- H5MM_xfree(raw_buf);
- if (mm_space) H5S_close(mm_space);
- if (mf_space) H5S_close(mf_space);
- if (rm_space) H5S_close(rm_space);
- if (rf_space) H5S_close(rf_space);
-
- FUNC_LEAVE(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RA_fix_overflow
- *
- * Purpose: Updates the overflow information for a row. This is where
- * the heap management comes into play. The NELMTS is the
- * number of elements that overflow into the heap and BUF is a
- * pointer to those elements. The first part of the row has
- * already been written to the raw dataset.
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Wednesday, August 26, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5RA_fix_overflow(H5RA_t *ra, H5T_t *type, H5RA_meta_t *meta, hsize_t nelmts,
- void *buf)
-{
- H5S_t *of_space=NULL; /*overflow file space */
- H5S_t *om_space=NULL; /*overflow memory space */
- hsize_t cur_size; /*num elmts in overflow dataset */
- herr_t ret_value=FAIL; /*return value */
-
- FUNC_ENTER(H5RA_fix_overflow, FAIL);
-
- assert(ra);
- assert(meta);
- assert(buf);
-
- if (nelmts==meta->nover) {
- /* The space is already allocated -- do nothing */
-
- } else if (nelmts<meta->nover) {
- /* Too much space is allocated -- free the extra */
-#ifndef LATER
- /*
- * For now we don't worry about reclaiming space. But we remember
- * the original amount allocated to allow the row to grow again up to
- * that amount.
- */
-#endif
-
- } else if (meta->nover>0) {
- /* Space is allocated but we need more */
-#ifndef LATER
- /*
- * For now we'll just reallocate space at the end of the overflow
- * dataset, but eventually we'll want to move the smallest of the
- * current overflow, the previous overflow, or the following overflow
- * region to the end of the file and be careful to reclaim space.
- */
- if (NULL==(of_space=H5D_get_space(ra->over)) ||
- H5S_get_simple_extent_dims(of_space, &cur_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to get overflow dataset extents");
- }
- meta->offset = (hssize_t)cur_size;
- meta->nover = nelmts;
- cur_size += nelmts;
- if (H5D_extend(ra->over, &cur_size)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to extend overflow dataset");
- }
- /* Throw away previous overflow file dataspace */
- H5S_close(of_space);
-
- /* Retrieve newly extended overflow file dataspace */
- if (NULL==(of_space=H5D_get_space(ra->over)) ||
- H5S_get_simple_extent_dims(of_space, &cur_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to determine current overflow data extents");
- }
-#endif
-
- } else {
- /* No space is allocated */
- assert(nelmts>0);
- if (NULL==(of_space=H5D_get_space(ra->over)) ||
- H5S_get_simple_extent_dims(of_space, &cur_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to get overflow dataset extents");
- }
- meta->offset = (hssize_t)cur_size;
- meta->nover = nelmts;
- cur_size += nelmts;
- if (H5D_extend(ra->over, &cur_size)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to extend overflow dataset");
- }
- /* Throw away previous overflow file dataspace */
- H5S_close(of_space);
-
- /* Retrieve newly extended overflow file dataspace */
- if (NULL==(of_space=H5D_get_space(ra->over)) ||
- H5S_get_simple_extent_dims(of_space, &cur_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to determine current overflow data extents");
- }
- }
-
- /* Write the data */
- if (nelmts>0) {
- if (!of_space && NULL==(of_space=H5D_get_space(ra->over))) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to get overflow dataset extents");
- }
- if (NULL==(om_space=H5S_create(H5S_SIMPLE)) ||
- H5S_set_extent_simple(om_space, 1, &nelmts, NULL)<0 ||
- H5S_select_hyperslab(of_space, H5S_SELECT_SET, &(meta->offset),
- NULL, &nelmts, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to set overflow selection");
- }
- if (H5D_write(ra->over, type, om_space, of_space, H5P_DEFAULT,
- buf)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_WRITEERROR, FAIL,
- "unable to write to overflow dataset");
- }
- }
-
- ret_value = SUCCEED;
-
- done:
- if (of_space) H5S_close(of_space);
- if (om_space) H5S_close(om_space);
- if (ret_value<0) {
- meta->offset = 0;
- meta->nover = 0;
- }
- FUNC_LEAVE(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RAread
- *
- * Purpose: Reads the contents of one or more rows of a ragged array
- * pointed to by ARRAY_ID. The rows to read begin at row
- * START_ROW and continue for NROWS rows with all raw data
- * converted to type TYPE_ID.
- *
- * The caller must allocate the SIZE[] and BUF[] arrays but
- * memory for the data can be allocated by either the caller or
- * the library. In the former case the caller should initialize
- * the BUF[] array with pointers to valid memory and the SIZE[]
- * array with the lengths of the buffers. In the latter case
- * the caller should initialize BUF[] with null pointers (the
- * input value of SIZE[] is irrelevant in this case) and the
- * library will allocate memory for each row by calling malloc().
- *
- * Return: Success: Non-negative. The values of the SIZE[] array will
- * be the true length of each row. If a row is
- * longer than the caller-allocated length then
- * SIZE[] will contain the true length of the
- * row although not all elements of that row
- * will be stored in the buffer.
- *
- * Failure: Negative. The BUF[] array will contain it's
- * original pointers (null or otherwise)
- * although the caller-supplied buffers may have
- * been modified. The SIZE[] array may also be
- * modified.
- *
- * Programmer: Robb Matzke
- * Tuesday, August 25, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5RAread(hid_t array_id, hssize_t start_row, hsize_t nrows,
- hid_t type_id, hsize_t size[/*nrows*/], void *buf[/*nrows*/])
-{
- H5RA_t *ra=NULL;
- H5T_t *type=NULL;
-
- FUNC_ENTER(H5RAread, FAIL);
- H5TRACE6("e","iHshi*[a2]h*[a2]x",array_id,start_row,nrows,type_id,size,
- buf);
-
- /* Check args */
- if (H5I_RAGGED!=H5I_get_type(array_id) ||
- NULL==(ra=H5I_object(array_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a ragged array");
- }
- if (H5I_DATATYPE!=H5I_get_type(type_id) ||
- NULL==(type=H5I_object(type_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a data type");
- }
- if (nrows>0 && !size) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no size array");
- }
- if (nrows>0 && !buf) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no output buffer array");
- }
-
- /* Do the work */
- if (H5RA_read(ra, start_row, nrows, type, size, buf)<0) {
- HRETURN_ERROR(H5E_RAGGED, H5E_READERROR, FAIL,
- "unable to read ragged array");
- }
-
- FUNC_LEAVE(SUCCEED);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RA_read
- *
- * Purpose: Reads (part of) a ragged array. See H5RAread() for details.
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Wednesday, August 26, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5RA_read(H5RA_t *ra, hssize_t start_row, hsize_t nrows, H5T_t *type,
- hsize_t size[], void *buf[])
-{
- herr_t ret_value=FAIL;
- H5RA_meta_t *meta = NULL;
- H5S_t *mf_space=NULL; /*meta file data space */
- H5S_t *mm_space=NULL; /*meta memory data space */
- H5S_t *rf_space=NULL; /*raw data file space */
- H5S_t *rm_space=NULL; /*raw data memory space */
- H5S_t *of_space=NULL; /*overflow data file space */
- H5S_t *om_space=NULL; /*overflow data memory space */
- hsize_t meta_cur_size; /*current meta data nelmts */
- hsize_t meta_read_size; /*amount of meta data to read */
- hsize_t raw_cur_size[2]; /*raw data current size */
- hsize_t raw_read_size[2]; /*amount of raw data to read */
- hssize_t hs_offset[2]; /*hyperslab offset */
- hsize_t hs_size[2]; /*hyperslab size */
- uint8_t *raw_buf=NULL; /*raw buffer */
- size_t type_size; /*size of the TYPE argument */
- void **buf_out=NULL; /*output BUF values */
- hsize_t i; /*counter */
-
- FUNC_ENTER(H5RA_read, FAIL);
-
- /* Check args */
- assert(ra);
- assert(type);
- assert(0==nrows || size);
- assert(0==nrows || buf);
- if (0==nrows) HRETURN(SUCCEED);
- type_size = H5T_get_size(type);
-
- /*
- * Malloc `buf_out' to hold the output values for `buf'. We have to do
- * this because if we return failure we want `buf' to have the original
- * values.
- */
- assert((nrows*sizeof(void*))==(hsize_t)((size_t)(nrows*sizeof(void*)))); /*check for overflow*/
- if (NULL==(buf_out=H5MM_calloc((size_t)(nrows*sizeof(void*))))) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
- "memory allocation failed for BUF output values");
- }
-
- /* Read from the raw dataset */
- if (NULL==(rf_space=H5D_get_space(ra->raw)) ||
- H5S_get_simple_extent_dims(rf_space, raw_cur_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to determine current raw data extents");
- }
- if ((hsize_t)start_row>=raw_cur_size[0]) {
- raw_read_size[0] = 0;
- raw_read_size[1] = raw_cur_size[1];
- } else {
- raw_read_size[0] = MIN(nrows, raw_cur_size[0]-(hsize_t)start_row);
- raw_read_size[1] = raw_cur_size[1];
- }
- hs_offset[0] = start_row;
- hs_offset[1] = 0;
- if (NULL==(rm_space=H5S_create(H5S_SIMPLE)) ||
- H5S_set_extent_simple(rm_space, 2, raw_read_size, NULL)<0 ||
- H5S_select_hyperslab(rf_space, H5S_SELECT_SET, hs_offset, NULL,
- raw_read_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to set raw dataset selection");
- }
- assert((nrows*raw_read_size[1]*type_size)==(hsize_t)((size_t)(nrows*raw_read_size[1]*type_size))); /*check for overflow*/
- if (NULL==(raw_buf=H5MM_malloc((size_t)(nrows*raw_read_size[1]*type_size)))) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
- "memory allocation failed for raw dataset");
- }
- if (H5D_read(ra->raw, type, rm_space, rf_space, H5P_DEFAULT,
- raw_buf)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_READERROR, FAIL,
- "unable to read raw dataset");
- }
- assert(((nrows-raw_read_size[0])*raw_read_size[1]*type_size)==(hsize_t)((size_t)((nrows-raw_read_size[0])*raw_read_size[1]*type_size))); /*check for overflow*/
- HDmemset(raw_buf+raw_read_size[0]*raw_read_size[1]*type_size, 0,
- (size_t)((nrows-raw_read_size[0])*raw_read_size[1]*type_size));
-
- /* Get the meta data */
- assert((nrows*sizeof(H5RA_meta_t))==(hsize_t)((size_t)(nrows*sizeof(H5RA_meta_t)))); /*check for overflow*/
- if (NULL==(meta=H5MM_malloc((size_t)(nrows*sizeof(H5RA_meta_t))))) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
- "memory allocation failed for meta data");
- }
- if (NULL==(mf_space=H5D_get_space(ra->meta)) ||
- H5S_get_simple_extent_dims(mf_space, &meta_cur_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to get current meta data extents");
- }
- if ((hsize_t)start_row>=meta_cur_size) {
- meta_read_size = 0;
- } else {
- meta_read_size = MIN(nrows, meta_cur_size-(hsize_t)start_row);
- }
- if (NULL==(mm_space=H5S_create(H5S_SIMPLE)) ||
- H5S_set_extent_simple(mm_space, 1, &meta_read_size, NULL)<0 ||
- H5S_select_hyperslab(mf_space, H5S_SELECT_SET, &start_row, NULL,
- &meta_read_size, NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to set meta data selection");
- }
- if (H5D_read(ra->meta, H5RA_meta_type_g, mm_space, mf_space,
- H5P_DEFAULT, meta)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_READERROR, FAIL,
- "unable to read meta data");
- }
- assert(((nrows-meta_read_size)*sizeof(H5RA_meta_t))==(hsize_t)((size_t)((nrows-meta_read_size)*sizeof(H5RA_meta_t)))); /*check for overflow*/
- HDmemset(meta+meta_read_size, 0,
- (size_t)((nrows-meta_read_size)*sizeof(H5RA_meta_t)));
-
- /* Copy data into output buffers */
- for (i=0; i<nrows; i++) {
- /*
- * If the caller didn't supply a buffer then allocate a buffer large
- * enough to hold the entire row. Ignore the input value for the
- * size and request the entire row.
- */
- if (NULL==(buf_out[i]=buf[i])) {
- assert((meta[i].nelmts*type_size)==(hsize_t)((size_t)(meta[i].nelmts*type_size))); /*check for overflow*/
- if (meta[i].nelmts>0 &&
- NULL==(buf_out[i]=H5MM_malloc((size_t)(meta[i].nelmts*type_size)))) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
- "memory allocation failed for result");
- }
- size[i] = meta[i].nelmts;
- } else {
- size[i] = MIN(size[i], meta[i].nelmts);
- }
- if (0==size[i]) continue;
-
- /* Copy the part of the row from the raw dataset */
- HDmemcpy(buf_out[i], raw_buf+i*raw_read_size[1]*type_size,
- (size_t)(MIN(size[i], raw_read_size[1])*type_size));
-
- /* Copy the part of the row from the overflow dataset */
- if (size[i]>raw_read_size[1]) {
- if (!of_space && NULL==(of_space=H5D_get_space(ra->over))) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to get overflow extents");
- }
- hs_size[0] = size[i]-raw_read_size[1];
- if (NULL==(om_space=H5S_create(H5S_SIMPLE)) ||
- H5S_set_extent_simple(om_space, 1, size+i, NULL)<0 ||
- H5S_select_hyperslab(om_space, H5S_SELECT_SET,
- (hssize_t*)(raw_read_size+1), NULL,
- hs_size, NULL)<0 ||
- H5S_select_hyperslab(of_space, H5S_SELECT_SET,
- &(meta[i].offset), NULL, hs_size,
- NULL)<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to set overflow selection");
- }
- if (H5D_read(ra->over, type, om_space, of_space, H5P_DEFAULT,
- buf_out[i])<0) {
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to read overflow dataset");
- }
- if (H5S_close(om_space)<0) {
- om_space = NULL;
- HGOTO_ERROR(H5E_RAGGED, H5E_CANTINIT, FAIL,
- "unable to close overflow memory space");
- }
- om_space = NULL;
- }
-
- /* Actual row size */
- size[i] = meta[i].nelmts;
- }
-
- /* Copy output buffers into BUF argument */
- for (i=0; i<nrows; i++) buf[i] = buf_out[i];
- ret_value = SUCCEED;
-
- done:
- if (rf_space) H5S_close(rf_space);
- if (rm_space) H5S_close(rm_space);
- if (mf_space) H5S_close(mf_space);
- if (mm_space) H5S_close(mm_space);
- if (of_space) H5S_close(of_space);
- if (om_space) H5S_close(om_space);
- H5MM_xfree(meta);
- H5MM_xfree(raw_buf);
- if (buf_out) {
- for (i=0; i<nrows; i++) {
- if (!buf[i]) H5MM_xfree(buf_out[i]);
- }
- H5MM_xfree(buf_out);
- }
-
- FUNC_LEAVE(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5RA_entof
- *
- * Purpose: Return a pointer to the ragged arrays symbol table entry.
- *
- * Return: Success: Ptr to symbol table entry
- *
- * Failure: NULL
- *
- * Programmer: Robb Matzke
- * Friday, August 28, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-H5G_entry_t *
-H5RA_entof(H5RA_t *ra)
-{
- assert(ra);
- return H5G_entof(ra->group);
-}
diff --git a/src/H5RAprivate.h b/src/H5RAprivate.h
deleted file mode 100644
index f8dcdf7..0000000
--- a/src/H5RAprivate.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright © 1998 NCSA
- * All rights reserved.
- *
- * Programmer: Robb Matzke <matzke@llnl.gov>
- * Tuesday, August 25, 1998
- */
-#ifndef _H5RAprivate_H
-#define _H5RAprivate_H
-#include <H5RApublic.h>
-
-#include <H5Dprivate.h>
-#include <H5Gprivate.h>
-#include <H5Tprivate.h>
-
-typedef struct H5RA_t H5RA_t;
-
-__DLL__ herr_t H5RA_close(H5RA_t *ra);
-__DLL__ H5RA_t *H5RA_create(H5G_entry_t *loc, const char *name, H5T_t *type,
- const H5D_create_t *dcpl);
-__DLL__ H5RA_t *H5RA_open(H5G_entry_t *loc, const char *name);
-__DLL__ htri_t H5RA_isa(H5G_entry_t *ent);
-__DLL__ herr_t H5RA_write(H5RA_t *ra, hssize_t start_row, hsize_t nrows,
- H5T_t *type, hsize_t size[], void *buf[]);
-__DLL__ herr_t H5RA_read(H5RA_t *ra, hssize_t start_row, hsize_t nrows,
- H5T_t *type, hsize_t size[], void *buf[]);
-__DLL__ H5G_entry_t *H5RA_entof(H5RA_t *ra);
-
-#endif
diff --git a/src/H5RApublic.h b/src/H5RApublic.h
deleted file mode 100644
index 8478f90..0000000
--- a/src/H5RApublic.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright © 1998 NCSA
- * All rights reserved.
- *
- * Programmer: Robb Matzke <matzke@llnl.gov>
- * Tuesday, August 25, 1998
- */
-#ifndef _H5RApublic_H
-#define _H5RApublic_H
-
-#include <H5Ipublic.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-__DLL__ hid_t H5RAcreate(hid_t loc_id, const char *name, hid_t type_id,
- hid_t plist_id);
-__DLL__ hid_t H5RAopen(hid_t loc_id, const char *name);
-__DLL__ herr_t H5RAclose(hid_t array_id);
-__DLL__ herr_t H5RAwrite(hid_t array_id, hssize_t start_row, hsize_t nrows,
- hid_t type_id, hsize_t size[], void *buf[]);
-__DLL__ herr_t H5RAread(hid_t array_id, hssize_t start_row, hsize_t nrows,
- hid_t type_id, hsize_t size[], void *buf[]);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/src/H5private.h b/src/H5private.h
index 64deb79..c19bd59 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -1061,7 +1061,6 @@ __DLL__ intn H5F_term_interface(void);
__DLL__ intn H5G_term_interface(void);
__DLL__ intn H5I_term_interface(void);
__DLL__ intn H5P_term_interface(void);
-__DLL__ intn H5RA_term_interface(void);
__DLL__ intn H5R_term_interface(void);
__DLL__ intn H5S_term_interface(void);
__DLL__ intn H5TN_term_interface(void);
diff --git a/src/Makefile.in b/src/Makefile.in
index 05b5afe..17f73ea 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -25,7 +25,7 @@ LIB_SRC=H5.c H5A.c H5AC.c H5B.c H5D.c H5E.c H5F.c H5Farray.c H5Fcontig.c \
H5FDstream.c H5FL.c H5G.c H5Gent.c H5Gnode.c H5Gstab.c H5HG.c H5HL.c H5I.c \
H5MF.c H5MM.c H5O.c H5Oattr.c H5Ocomp.c H5Ocont.c H5Odtype.c H5Oefl.c \
H5Ofill.c H5Olayout.c H5Omtime.c H5Oname.c H5Onull.c H5Osdspace.c \
- H5Oshared.c H5Ostab.c H5P.c H5R.c H5RA.c H5S.c H5Sall.c H5Shyper.c \
+ H5Oshared.c H5Ostab.c H5P.c H5R.c H5S.c H5Sall.c H5Shyper.c \
H5Smpio.c H5Snone.c H5Spoint.c H5Sselect.c H5T.c H5Tbit.c H5Tconv.c \
H5Tinit.c H5Tvlen.c H5TB.c H5TS.c H5V.c H5Z.c H5Zdeflate.c
@@ -40,7 +40,7 @@ PUB_HDR=H5public.h H5Apublic.h H5ACpublic.h H5Bpublic.h H5Dpublic.h H5Epublic.h
H5Fpublic.h H5FDpublic.h H5FDdpss.h H5FDfamily.h H5FDgass.h H5FDmpio.h \
H5FDlog.h H5FDsec2.h H5FDsrb.h H5FDstream.h H5FDcore.h H5FDmulti.h \
H5FDstdio.h H5FDstream.h H5Gpublic.h H5HGpublic.h H5HLpublic.h H5Ipublic.h \
- H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5RApublic.h H5Spublic.h \
+ H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
H5Tpublic.h H5Zpublic.h H5pubconf.h H5FDstream.h hdf5.h H5api_adpt.h
@@ -49,7 +49,7 @@ PRIVATE_HDR=H5private.h H5Aprivate.h H5Apkg.h H5ACprivate.h H5Bprivate.h \
H5Dprivate.h H5Eprivate.h H5Fprivate.h H5FDprivate.h H5FLprivate.h \
H5Gprivate.h H5Gpkg.h H5HGprivate.h H5HLprivate.h H5Iprivate.h \
H5MFprivate.h H5MMprivate.h H5Oprivate.h H5Pprivate.h H5Rprivate.h \
- H5RAprivate.h H5Sprivate.h H5Tprivate.h H5TBprivate.h H5Tpkg.h \
+ H5Sprivate.h H5Tprivate.h H5TBprivate.h H5Tpkg.h \
H5TSprivate.h H5Vprivate.h H5Zprivate.h H5config.h
## Number format detection
diff --git a/src/hdf5.h b/src/hdf5.h
index c5d2858..917cd5f 100644
--- a/src/hdf5.h
+++ b/src/hdf5.h
@@ -34,7 +34,6 @@
#include <H5Opublic.h> /* Object headers */
#include <H5Ppublic.h> /* Property lists */
#include <H5Rpublic.h> /* References */
-#include <H5RApublic.h> /* Ragged arrays */
#include <H5Spublic.h> /* Dataspaces */
#include <H5Tpublic.h> /* Datatypes */
#include <H5Zpublic.h> /* Data filters */
diff --git a/test/Dependencies b/test/Dependencies
index d5ad857..8c5dbf4 100644
--- a/test/Dependencies
+++ b/test/Dependencies
@@ -24,7 +24,6 @@ h5test.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -71,7 +70,6 @@ big.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -118,7 +116,6 @@ bittests.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -164,7 +161,6 @@ chunk.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -201,7 +197,6 @@ cmpd_dset.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -248,7 +243,6 @@ dsets.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -295,7 +289,6 @@ dtypes.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -342,7 +335,6 @@ extend.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -389,7 +381,6 @@ external.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -436,7 +427,6 @@ fillval.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -483,7 +473,6 @@ flush1.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -530,7 +519,6 @@ flush2.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -577,7 +565,6 @@ gheap.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -640,7 +627,6 @@ iopipe.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -677,7 +663,6 @@ istore.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -732,7 +717,6 @@ lheap.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -781,7 +765,6 @@ links.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -828,7 +811,6 @@ mount.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -875,7 +857,6 @@ mtime.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -922,7 +903,6 @@ ohdr.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -973,7 +953,6 @@ overhead.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -987,44 +966,6 @@ overhead.lo: \
$(top_srcdir)/src/H5FDstream.h \
$(top_srcdir)/src/H5FDmulti.h \
$(top_srcdir)/src/H5FDlog.h
-ragged.lo: \
- $(srcdir)/ragged.c \
- $(top_srcdir)/src/hdf5.h \
- $(top_srcdir)/src/H5public.h \
- $(top_builddir)/src/H5pubconf.h \
- $(top_srcdir)/src/H5api_adpt.h \
- $(top_srcdir)/src/H5Ipublic.h \
- $(top_srcdir)/src/H5Apublic.h \
- $(top_srcdir)/src/H5ACpublic.h \
- $(top_srcdir)/src/H5Bpublic.h \
- $(top_srcdir)/src/H5Dpublic.h \
- $(top_srcdir)/src/H5Epublic.h \
- $(top_srcdir)/src/H5Fpublic.h \
- $(top_srcdir)/src/H5FDpublic.h \
- $(top_srcdir)/src/H5Gpublic.h \
- $(top_srcdir)/src/H5HGpublic.h \
- $(top_srcdir)/src/H5HLpublic.h \
- $(top_srcdir)/src/H5MMpublic.h \
- $(top_srcdir)/src/H5Opublic.h \
- $(top_srcdir)/src/H5Ppublic.h \
- $(top_srcdir)/src/H5Zpublic.h \
- $(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
- $(top_srcdir)/src/H5Spublic.h \
- $(top_srcdir)/src/H5Tpublic.h \
- $(top_srcdir)/src/H5FDcore.h \
- $(top_srcdir)/src/H5FDfamily.h \
- $(top_srcdir)/src/H5FDmpio.h \
- $(top_srcdir)/src/H5FDsec2.h \
- $(top_srcdir)/src/H5FDstdio.h \
- $(top_srcdir)/src/H5FDsrb.h \
- $(top_srcdir)/src/H5FDgass.h \
- $(top_srcdir)/src/H5FDdpss.h \
- $(top_srcdir)/src/H5FDstream.h \
- $(top_srcdir)/src/H5FDmulti.h \
- $(top_srcdir)/src/H5FDlog.h \
- $(top_srcdir)/src/H5private.h \
- $(top_builddir)/src/H5config.h
stab.lo: \
$(srcdir)/stab.c \
$(srcdir)/h5test.h \
@@ -1048,7 +989,6 @@ stab.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1099,7 +1039,6 @@ tattr.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1224,7 +1163,6 @@ titerate.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1279,7 +1217,6 @@ trefer.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1319,7 +1256,6 @@ tselect.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1371,7 +1307,6 @@ tvltypes.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1411,7 +1346,6 @@ tvlstr.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1448,7 +1382,6 @@ unlink.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1495,7 +1428,6 @@ enum.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1542,7 +1474,6 @@ ttsafe.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1582,7 +1513,6 @@ ttsafe_dcreate.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1622,7 +1552,6 @@ ttsafe_error.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1662,7 +1591,6 @@ ttsafe_cancel.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1702,7 +1630,6 @@ ttsafe_acreate.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1742,7 +1669,6 @@ gass_write.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1789,7 +1715,6 @@ gass_read.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1836,7 +1761,6 @@ gass_append.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1883,7 +1807,6 @@ dpss_read.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1930,7 +1853,6 @@ dpss_write.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -1977,7 +1899,6 @@ srb_read.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -2024,7 +1945,6 @@ srb_write.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -2071,7 +1991,6 @@ srb_append.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -2118,7 +2037,6 @@ stream_test.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
diff --git a/test/Makefile.in b/test/Makefile.in
index 257170b..4cd2df2 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -22,7 +22,7 @@ TEST_PROGS=testhdf5 lheap ohdr stab gheap hyperslab istore bittests dtypes \
flush1 flush2 enum gass_write gass_read gass_append dpss_write \
dpss_read srb_write srb_append srb_read ttsafe stream_test
-TIMINGS=iopipe chunk ragged overhead
+TIMINGS=iopipe chunk overhead
## The libh5test.a library provides common support code for the tests. We link
## this library statically because some systems can only link executables to
@@ -45,7 +45,7 @@ MOSTLYCLEAN=cmpd_dset.h5 dataset.h5 extend.h5 istore.h5 tfile1.h5 tfile2.h5 \
extern_4a.raw extern_4b.raw iopipe.raw iopipe.h5 gheap0.h5 \
gheap1.h5 gheap2.h5 gheap3.h5 gheap4.h5 links.h5 chunk.h5 \
big.data big[0-9][0-9][0-9][0-9][0-9].h5 dtypes1.h5 dtypes2.h5 \
- tattr.h5 tselect.h5 mtime.h5 ragged.h5 unlink.h5 overhead.h5 \
+ tattr.h5 tselect.h5 mtime.h5 unlink.h5 overhead.h5 \
fillval_[0-9].h5 fillval.raw mount_[0-9].h5 ttime.h5 trefer[12].h5 \
tvltypes.h5 tvlstr.h5 flush.h5 enum1.h5 titerate.h5 ttsafe.h5 \
tarray1.h5 tgenprop.h5
@@ -59,7 +59,7 @@ CLEAN=$(TIMINGS)
TEST_SRC=big.c bittests.c chunk.c cmpd_dset.c dsets.c dtypes.c extend.c \
external.c fillval.c flush1.c flush2.c gheap.c h5test.c hyperslab.c \
iopipe.c istore.c lheap.c links.c mount.c mtime.c ohdr.c overhead.c \
- ragged.c stab.c tarray.c tattr.c testhdf5.c tfile.c tgenprop.c th5s.c \
+ stab.c tarray.c tattr.c testhdf5.c tfile.c tgenprop.c th5s.c \
titerate.c tmeta.c trefer.c tselect.c ttime.c ttbbt.c tvltypes.c tvlstr.c \
unlink.c enum.c ttsafe.c ttsafe_dcreate.c ttsafe_error.c ttsafe_cancel.c \
ttsafe_acreate.c gass_write.c gass_read.c gass_append.c dpss_read.c \
@@ -144,9 +144,6 @@ chunk: chunk.lo
mtime: mtime.lo
@$(LT_LINK_EXE) $(CFLAGS) -o $@ mtime.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
-ragged: ragged.lo
- @$(LT_LINK_EXE) $(CFLAGS) -o $@ ragged.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
-
unlink: unlink.lo
@$(LT_LINK_EXE) $(CFLAGS) -o $@ unlink.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
diff --git a/test/ragged.c b/test/ragged.c
deleted file mode 100644
index 2f5a3c4..0000000
--- a/test/ragged.c
+++ /dev/null
@@ -1,700 +0,0 @@
-/*
- * Copyright © 1998 Spizella Software
- * All rights reserved.
- *
- * Programmer: Robb Matzke <robb@arborea.spizella.com>
- * Tuesday, August 25, 1998
- */
-
-/* See H5private.h for how to include headers */
-#undef NDEBUG
-#include <hdf5.h>
-#include <H5private.h> /*for performance monitoring*/
-
-#ifdef STDC_HEADERS
-# include <signal.h>
-#endif
-
-#define NOTIFY_INTERVAL 2 /*seconds*/
-#define TIME_LIMIT 60 /*seconds*/
-#define CH_SIZE 8192*8 /*approx chunk size in bytes*/
-#define MAX_NELMTS 3000000
-
-#define C_MTYPE unsigned int /*type in memory */
-#define H_MTYPE H5T_NATIVE_UINT /*type in memory */
-#define H_FTYPE H5T_NATIVE_UINT /*type in file */
-
-typedef struct {
- double percent;
- size_t lo, hi;
- size_t nhits;
-} quant_t;
-
-#if 1
-/* Typical VBT sizes */
-static quant_t quant_g[] = {
- {10.00, 1, 5, 0},
- {89.00, 6, 20, 0},
- { 0.90, 21, 100, 0},
- { 0.09, 101, 1000, 0},
- { 0.01, 1001, 10000, 0},
-};
-#elif 0
-/* Sizes for testing */
-static quant_t quant_g[] = {
- {10.0, 1, 5, 0},
- {80.0, 6, 15, 0},
- {10.0, 16, 20, 0},
-};
-#elif 0
-/* Larger I/O */
-static quant_t quant_g[] = {
- {10.0, 1, 1000, 0},
- {80.0, 1001, 5000, 0},
- {10.0, 5001, 10000, 0},
-};
-#else
-/* All same size */
-static quant_t quant_g[] = {
- {100.0, 1000, 1000, 0}
-};
-#endif
-
-static volatile sig_atomic_t alarm_g = 0;
-static volatile sig_atomic_t timeout_g = 0;
-
-
-/*-------------------------------------------------------------------------
- * Function: catch_alarm
- *
- * Purpose: Increments the global `alarm_g' and resets the alarm for
- * another few seconds.
- *
- * Return: void
- *
- * Programmer: Robb Matzke
- * Wednesday, August 26, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static void
-catch_alarm(int UNUSED signum)
-{
- static int ncalls=0;
-
- ncalls++;
- if (0==ncalls % NOTIFY_INTERVAL) {
- alarm_g++;
- }
- if (timeout_g>0) --timeout_g;
- alarm(1);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: display_error_cb
- *
- * Purpose: Displays the error stack after printing "*FAILED*".
- *
- * Return: Success: 0
- *
- * Failure: -1
- *
- * Programmer: Robb Matzke
- * Wednesday, March 4, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-display_error_cb (void UNUSED *client_data)
-{
- putchar('\n');
- H5Eprint (stdout);
- return 0;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: rand_nelmts
- *
- * Purpose: Returns a the length of a 1-d array according to the
- * probabilities described above.
- *
- * Return: Success: Number of elements
- *
- * Failure: never fails
- *
- * Programmer: Robb Matzke
- * Thursday, August 20, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static size_t
-rand_nelmts(int reset_counters)
-{
- double p = (rand() % 1000000)/1000000.0;
- double total = 0.0;
- size_t size=0, i;
- static size_t ncalls=0;
-
- if (reset_counters) {
- printf(" %9s %8s %8s\n", "Length", "Requsted", "Actual");
- printf(" --------------- -------- --------\n");
- for (i=0; i<NELMTS(quant_g); i++) {
- printf(" [%6lu,%6lu] %7.3f%% %7.3f%%\n",
- (unsigned long)(quant_g[i].lo),
- (unsigned long)(quant_g[i].hi),
- quant_g[i].percent,
- 100.0*(double)(quant_g[i].nhits)/(double)ncalls);
- quant_g[i].nhits = 0;
- }
- printf(" --------------- -------- --------\n");
- ncalls = 0;
- size = 0;
- } else {
- for (i=0; i<NELMTS(quant_g); i++) {
- total += quant_g[i].percent/100.0;
- if (p<total) {
- size = rand()%(1+(quant_g[i].hi-quant_g[i].lo)) +
- quant_g[i].lo;
- quant_g[i].nhits++;
- break;
- }
- }
- assert(i<NELMTS(quant_g));
- ncalls++;
- }
-
- return size;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: ragged_write_all
- *
- * Purpose: Writes rows to the ragged array RA.
- *
- * Return: Success: 0
- *
- * Failure: -1
- *
- * Programmer: Robb Matzke
- * Thursday, August 27, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static int
-ragged_write_all(hid_t ra, hsize_t rows_at_once)
-{
- int *dd, total_nelmts=0;
- hssize_t row; /*current row number */
- hsize_t i; /*counter */
- hsize_t max_width = quant_g[NELMTS(quant_g)-1].hi;
- hsize_t interval_nelmts; /*elmts/interval timer */
- hsize_t *size=NULL; /*size of each row */
- void **buf=NULL; /*buffer for each row */
- H5_timer_t timer, timer_total; /*performance timers */
- char s[64]; /*tempory string buffer */
- char testname[80];
-
- sprintf(testname, "Testing write all, units of %lu",
- (unsigned long)rows_at_once);
- printf("%s...\n", testname);
- fflush(stdout);
- timeout_g = TIME_LIMIT;
-
- /* Create the ragged array row in memory */
- if (NULL==(dd = malloc(max_width*sizeof(C_MTYPE))) ||
- NULL==(size = malloc(rows_at_once*sizeof(*size))) ||
- NULL==(buf = malloc(rows_at_once*sizeof(*buf)))) {
- puts("Memory allocation failed");
- goto error;
- }
- for (i=0; i<max_width; i++) dd[i] = i+1;
-
- /*
- * Describe a few rows then add them to the ragged array. Print a status
- * report every once in a while too.
- */
- printf(" %8s %8s %8s %10s\n",
- "Row", "Nelmts", "Complete", "Bandwidth");
- printf(" -------- -------- -------- ----------\n");
- H5_timer_reset(&timer_total);
- H5_timer_begin(&timer);
- interval_nelmts = 0;
- for (row=0; total_nelmts<MAX_NELMTS && timeout_g>0; row+=i) {
- for (i=0; i<rows_at_once && total_nelmts<MAX_NELMTS; i++) {
- size[i] = rand_nelmts(0);
- total_nelmts += size[i];
- buf[i] = dd;
- interval_nelmts += size[i];
- }
- if (H5RAwrite(ra, row, i, H_MTYPE, size, buf)<0) goto error;
- if (0==row || alarm_g || 0==timeout_g) {
- alarm_g = 0;
- H5_timer_end(&timer_total, &timer);
- /*
- * The extra cast in the following statement is a bug workaround
- * for the Win32 version 5.0 compiler.
- * 1998-11-06 ptl
- */
- H5_bandwidth(s,
- (double)(hssize_t)interval_nelmts*sizeof(C_MTYPE),
- timer.etime);
- printf(" %8lu %8lu %7.3f%% %10s%s\n",
- (unsigned long)(row+i), (unsigned long)total_nelmts,
- 100.0*total_nelmts/MAX_NELMTS, s,
- 0==timeout_g?" (aborting)":"");
- interval_nelmts = 0;
- H5_timer_begin(&timer);
- }
- }
-
- /* Conclusions */
- if (timeout_g) { /*a minor race condition, but who really cares?*/
- H5_timer_end(&timer_total, &timer);
- /*
- * The extra cast in the following statement is a bug workaround for
- * the Win32 version 5.0 compiler.
- * 1998-11-06 ptl
- */
- H5_bandwidth(s, (double)(hssize_t)interval_nelmts*sizeof(C_MTYPE),
- timer.etime);
- printf(" %8lu %8lu %7.3f%% %10s\n",
- (unsigned long)row, (unsigned long)total_nelmts,
- 100.0*total_nelmts/MAX_NELMTS, s);
- }
- printf(" -------- -------- -------- ----------\n");
- H5_bandwidth(s, (double)total_nelmts*sizeof(C_MTYPE), timer_total.etime);
- printf(" %27s%10s\n", "", s);
-
- /* Cleanup */
- free(dd);
- free(size);
- free(buf);
- printf("%-70s PASSED\n\n", testname);
- return 0;
-
- error:
- printf("%-70s*FAILED*\n\n", testname);
- return -1;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: ragged_read_all
- *
- * Purpose: Reads all rows of a ragged array in row order a few rows at a
- * time.
- *
- * Return: Success: 0
- *
- * Failure: -1
- *
- * Programmer: Robb Matzke
- * Thursday, August 27, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static int
-ragged_read_all(hid_t ra, hsize_t rows_at_once)
-{
- int total_nelmts=0;
- hsize_t i, j; /*counters */
- hssize_t row; /*current row number */
- hsize_t interval_nelmts; /*elmts/interval timer */
- hsize_t *size=NULL; /*size of each row */
- C_MTYPE **buf=NULL; /*buffer for each row */
- H5_timer_t timer, timer_total; /*performance timers */
- char s[64]; /*tempory string buffer */
- char testname[80];
-
- sprintf(testname, "Testing read all, units of %lu",
- (unsigned long)rows_at_once);
- printf("%s...\n", testname);
- fflush(stdout);
- timeout_g = TIME_LIMIT;
-
- /* Create the ragged array row in memory */
- if (NULL==(size = malloc(rows_at_once*sizeof(*size))) ||
- NULL==(buf = malloc(rows_at_once*sizeof(*buf)))) {
- puts("Memory allocation failed");
- goto error;
- }
-
- /*
- * Read a few rows at a time from the ragged array. Print a status report
- * every once in a while too.
- */
- printf(" %8s %8s %8s %10s\n",
- "Row", "Nelmts", "Complete", "Bandwidth");
- printf(" -------- -------- -------- ----------\n");
- H5_timer_reset(&timer_total);
- H5_timer_begin(&timer);
- interval_nelmts = 0;
- for (row=0; total_nelmts<MAX_NELMTS && timeout_g>0; row+=i) {
-
- /* Clear data then read */
- HDmemset(size, 0, rows_at_once*sizeof(*size));
- HDmemset(buf, 0, rows_at_once*sizeof(*buf));
- if (H5RAread(ra, row, rows_at_once, H_MTYPE, size,
- (void**)buf)<0) {
- goto error;
- }
-
- /* Check values read */
- for (i=0; i<rows_at_once && size[i]; i++) {
- interval_nelmts += size[i];
- total_nelmts += size[i];
- for (j=0; j<size[i]; j++) {
- if (buf[i][j]!=j+1) {
- printf("Wrong value(s) read for row %ld.\n",
- (long)(row+i));
- for (j=0; j<size[i]; j++) {
- printf("%s%d", j?",":"", buf[i][j]);
- }
- putchar('\n');
- goto error;
- }
- }
-#ifndef _HDF5USEDLL_
-/*
- For NT dll version we free memory down at the bottom. crashed otherwise.
-*/
- free(buf[i]);
- buf[i] = NULL;
-#endif
- }
-
- /* Print statistics? */
- if (0==row || alarm_g || 0==timeout_g) {
- alarm_g = 0;
- H5_timer_end(&timer_total, &timer);
- /*
- * The extra cast in the following statement is a bug workaround
- * for the Win32 version 5.0 compiler.
- * 1998-11-06 ptl
- */
- H5_bandwidth(s, (double)(hssize_t)interval_nelmts*sizeof(C_MTYPE),
- timer.etime);
- printf(" %8lu %8lu %7.3f%% %10s%s\n",
- (unsigned long)(row+i), (unsigned long)total_nelmts,
- 100.0*total_nelmts/MAX_NELMTS, s,
- 0==timeout_g?" (aborting)":"");
- interval_nelmts = 0;
- H5_timer_begin(&timer);
- }
- if (0==size[rows_at_once-1]) {
- /* Reached the end of the array */
- if (total_nelmts<MAX_NELMTS) {
- puts(" * Short read, previous write probably aborted");
- }
- row += i;
- break;
- }
- }
-
- /* Conclusions */
- if (timeout_g) { /*a minor race condition, but who really cares?*/
- H5_timer_end(&timer_total, &timer);
- /*
- * The extra cast in the following statement is a bug workaround for
- * the Win32 version 5.0 compiler.
- * 1998-11-06 ptl
- */
- H5_bandwidth(s, (double)(hssize_t)interval_nelmts*sizeof(C_MTYPE),
- timer.etime);
- printf(" %8lu %8lu %7.3f%% %10s\n",
- (unsigned long)row, (unsigned long)total_nelmts,
- 100.0*total_nelmts/MAX_NELMTS, s);
- }
- printf(" -------- -------- -------- ----------\n");
- H5_bandwidth(s, (double)total_nelmts*sizeof(C_MTYPE), timer_total.etime);
- printf(" %27s%10s\n", "", s);
-
- /* Cleanup */
-#ifdef _HDF5USEDLL_
-/*
- Need to clean up the memory we allocated. Had to move this down here
- for NT. Crashing when it was up in the original location
-*/
- for (i = 0; i < rows_at_once && size[i]; i++){
- free(buf[i]);
- // buf[i] = NULL;
- }
-#endif
- free(size);
- free(buf);
- printf("%-70s PASSED\n\n", testname);
- return 0;
-
- error:
- printf("%-70s*FAILED*\n\n", testname);
- return -1;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: ragged_read_short
- *
- * Purpose: Reads all the data but only the part that is in the `raw'
- * dataset. We should see a nice speed increase because we
- * don't have to perform the little reads into the overflow
- * array.
- *
- * Return: Success: 0
- *
- * Failure: -1
- *
- * Programmer: Robb Matzke
- * Friday, August 28, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static int
-ragged_read_short(hid_t ra, hsize_t rows_at_once, hsize_t width)
-{
- int total_nelmts=0;
- hsize_t i, j;
- hssize_t row; /*current row number */
- hsize_t interval_nelmts; /*elmts/interval timer */
- hsize_t read_nelmts=0; /*total elements read */
- hsize_t *size=NULL; /*size of each row */
- C_MTYPE **buf=NULL; /*buffer for each row */
- H5_timer_t timer, timer_total; /*performance timers */
- char s[64]; /*tempory string buffer */
- char testname[80];
-
- sprintf(testname, "Testing read short, units of %lu",
- (unsigned long)rows_at_once);
- printf("%s...\n", testname);
- fflush(stdout);
- timeout_g = TIME_LIMIT;
-
- /* Create the ragged array row in memory */
- if (NULL==(size = malloc(rows_at_once*sizeof(*size))) ||
- NULL==(buf = malloc(rows_at_once*sizeof(*buf)))) {
- puts("Memory allocation failed");
- goto error;
- }
- for (i=0; i<rows_at_once; i++) {
- if (NULL==(buf[i] = malloc(width*sizeof(C_MTYPE)))) {
- puts("Memory allocation failed");
- goto error;
- }
- }
-
- /*
- * Read a few rows at a time from the ragged array. Print a status report
- * every once in a while too.
- */
- printf(" %8s %8s %8s %10s\n",
- "Row", "Nelmts", "Complete", "Bandwidth");
- printf(" -------- -------- -------- ----------\n");
- H5_timer_reset(&timer_total);
- H5_timer_begin(&timer);
- interval_nelmts = 0;
- for (row=0; total_nelmts<MAX_NELMTS && timeout_g>0; row+=i) {
-
- /* Read data */
- for (i=0; i<rows_at_once; i++) size[i] = width;
- if (H5RAread(ra, row, rows_at_once, H_MTYPE, size,
- (void**)buf)<0) {
- goto error;
- }
-
- /* Check values read */
- for (i=0; i<rows_at_once && size[i]; i++) {
-
- /*
- * Number of useful elements actually read in this timing
- * interval. This is used to calculate bandwidth.
- */
- interval_nelmts += MIN(width, size[i]);
-
- /*
- * Total number of elements actually read for rows so far.
- */
- read_nelmts += MIN(width, size[i]);
-
- /*
- * Total number of elements attributed to the rows read so far.
- * This is used to calculate the percent done.
- */
- total_nelmts += size[i];
-
- /* Check the values */
- for (j=0; j<MIN(width, size[i]); j++) {
- if (buf[i][j]!=j+1) {
- printf("Wrong value(s) read for row %ld.\n",
- (long)(row+i));
- for (j=0; j<MIN(width, size[i]); j++) {
- printf("%s%d", j?",":"", buf[i][j]);
- }
- putchar('\n');
- goto error;
- }
- }
- }
-
- /* Print statistics? */
- if (0==row || alarm_g || 0==timeout_g) {
- alarm_g = 0;
- H5_timer_end(&timer_total, &timer);
- /*
- * The extra cast in the following statement is a bug workaround
- * for the Win32 version 5.0 compiler.
- * 1998-11-06 ptl
- */
- H5_bandwidth(s,
- (double)(hssize_t)interval_nelmts*sizeof(C_MTYPE),
- timer.etime);
- printf(" %8lu %8lu %7.3f%% %10s%s\n",
- (unsigned long)(row+i), (unsigned long)read_nelmts,
- 100.0*total_nelmts/MAX_NELMTS, s,
- 0==timeout_g?" (aborting)":"");
- interval_nelmts = 0;
- H5_timer_begin(&timer);
- }
- if (0==size[rows_at_once-1]) {
- /* Reached the end of the array */
- if (total_nelmts<MAX_NELMTS) {
- puts(" * Short read, previous write probably aborted");
- }
- row += i;
- break;
- }
- }
-
- /* Conclusions */
- if (timeout_g) { /*a minor race condition, but who really cares?*/
- H5_timer_end(&timer_total, &timer);
- /*
- * The extra cast in the following statement is a bug workaround for
- * the Win32 version 5.0 compiler.
- * 1998-11-06 ptl
- */
- H5_bandwidth(s, (double)(hssize_t)interval_nelmts*sizeof(C_MTYPE),
- timer.etime);
- printf(" %8lu %8lu %7.3f%% %10s\n",
- (unsigned long)row, (unsigned long)read_nelmts,
- 100.0*total_nelmts/MAX_NELMTS, s);
- }
- printf(" -------- -------- -------- ----------\n");
- /*
- * The extra cast in the following statement is a bug workaround for the
- * Win32 version 5.0 compiler.
- * 1998-11-06 ptl
- */
- H5_bandwidth(s, (double)(hssize_t)read_nelmts*sizeof(C_MTYPE),
- timer_total.etime);
- printf(" %27s%10s\n", "", s);
-
- /* Cleanup */
- for (i=0; i<rows_at_once; i++) free(buf[i]);
- free(size);
- free(buf);
- printf("%-70s PASSED\n\n", testname);
- return 0;
-
- error:
- printf("%-70s*FAILED*\n\n", testname);
- return -1;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: main
- *
- * Purpose:
- *
- * Return: Success:
- *
- * Failure:
- *
- * Programmer: Robb Matzke
- * Friday, August 21, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-int
-main(int argc, char *argv[])
-{
- hid_t file, dcpl, ra;
- hsize_t ch_size[2]; /*chunk size */
- hsize_t rows_at_once=100; /*row aggregation */
- int argno=1;
-
- /* Parse command line options */
- if (argno<argc) {
- rows_at_once = strtol(argv[argno++], NULL, 0);
- }
-
- /* Display HDF5 API errors in a special way */
- H5Eset_auto(display_error_cb, NULL);
-
- /* Get a SIGALRM every few seconds */
-#ifdef H5_HAVE_SIGACTION
- {
- struct sigaction act;
- act.sa_handler = catch_alarm;
- sigemptyset(&(act.sa_mask));
- act.sa_flags = 0;
- sigaction(SIGALRM, &act, NULL);
- alarm(1);
- }
-#else
- puts("No sigaction(). This test may run for a *long* time.");
-#endif
-
- /* Create the file and ragged array */
- if ((file=H5Fcreate("ragged.h5", H5F_ACC_TRUNC, H5P_DEFAULT,
- H5P_DEFAULT))<0) goto error;
- if ((dcpl=H5Pcreate(H5P_DATASET_CREATE))<0) goto error;
- ch_size[1] = 20;
- ch_size[0] = MAX(1, CH_SIZE/(ch_size[1]*sizeof(C_MTYPE))); /*length*/
- printf("Chunk size is %lu by %lu\n",
- (unsigned long)(ch_size[0]), (unsigned long)(ch_size[1]));
- if (H5Pset_chunk(dcpl, 2, ch_size)<0) goto error;
- if ((ra=H5RAcreate(file, "ra", H_FTYPE, dcpl))<0) goto error;
- if (H5Pclose(dcpl)<0) goto error;
-
- /* The tests */
- if (ragged_write_all(ra, rows_at_once)<0) goto error;
- if (ragged_read_all(ra, rows_at_once)<0) goto error;
- if (ragged_read_short(ra, rows_at_once, ch_size[1])<0) goto error;
-
- /* The tests again */
- if (ragged_write_all(ra, rows_at_once)<0) goto error;
- if (ragged_read_all(ra, rows_at_once)<0) goto error;
- if (ragged_read_short(ra, rows_at_once, ch_size[1])<0) goto error;
-
- /* Conclusions */
- printf("\n\nDistribution of row lengths:\n");
- rand_nelmts(1);
-
- /* Cleanup */
- if (H5RAclose(ra)<0) goto error;
- if (H5Fclose(file)<0) goto error;
-
- puts("All ragged array tests passed.");
- return 0;
-
- error:
- puts("*** RAGGED ARRAY TEST(S) FAILED ***");
- return -1;
-}
diff --git a/testpar/Dependencies b/testpar/Dependencies
index f566691..6350380 100644
--- a/testpar/Dependencies
+++ b/testpar/Dependencies
@@ -24,7 +24,6 @@ testphdf5.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -56,7 +55,6 @@ t_dset.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -88,7 +86,6 @@ t_file.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -120,7 +117,6 @@ t_mpi.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -152,7 +148,6 @@ t_mdset.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
diff --git a/testpar/Makefile.in b/testpar/Makefile.in
index d8428f8..7bb94f8 100644
--- a/testpar/Makefile.in
+++ b/testpar/Makefile.in
@@ -23,7 +23,7 @@ TEST_PROGS=t_mpi testphdf5
## Temporary files
MOSTLYCLEAN=ParaEg[123].h5f
-DISTCLEAN=go
+DISTCLEAN=go Makefile
## Test source files
TEST_PHDF5_SRC=testphdf5.c t_dset.c t_file.c t_mdset.c
diff --git a/tools/Dependencies b/tools/Dependencies
index 37ea623..e570192 100644
--- a/tools/Dependencies
+++ b/tools/Dependencies
@@ -24,7 +24,6 @@ h5tools.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -101,7 +100,6 @@ h5import.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -140,7 +138,6 @@ h5ls.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -176,7 +173,6 @@ h5repart.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -213,7 +209,6 @@ h5dump.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -253,7 +248,6 @@ h5toh4.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -290,7 +284,6 @@ h5dumptst.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
@@ -328,7 +321,6 @@ pdb2hdf.lo: \
$(top_srcdir)/src/H5Ppublic.h \
$(top_srcdir)/src/H5Zpublic.h \
$(top_srcdir)/src/H5Rpublic.h \
- $(top_srcdir)/src/H5RApublic.h \
$(top_srcdir)/src/H5Spublic.h \
$(top_srcdir)/src/H5Tpublic.h \
$(top_srcdir)/src/H5FDcore.h \
diff --git a/tools/h5ls.c b/tools/h5ls.c
index 2ceecb0..7a6ff39 100644
--- a/tools/h5ls.c
+++ b/tools/h5ls.c
@@ -1602,34 +1602,6 @@ datatype_list2(hid_t type, const char UNUSED *name)
/*-------------------------------------------------------------------------
- * Function: ragged_list2
- *
- * Purpose: List information about a ragged array which should appear
- * after information which is general to all objects.
- *
- * Return: Success: 0
- *
- * Failure: -1
- *
- * Programmer: Robb Matzke
- * Thursday, November 5, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-ragged_list2(hid_t UNUSED ra, const char UNUSED *name)
-{
- if (data_g) {
- puts(" Data: Not implemented yet (see values of member");
- puts(" datasets `raw', `over', and `meta')");
- }
- return -1;
-}
-
-
-/*-------------------------------------------------------------------------
* Function: link_open
*
* Purpose: This gets called to open a symbolic link. Since symbolic
@@ -1965,8 +1937,6 @@ main (int argc, char *argv[])
NULL, datatype_list2);
DISPATCH(H5G_LINK, "-> ", link_open, NULL,
NULL, NULL);
- DISPATCH(H5G_RAGGED, "Ragged Array", H5Gopen, H5Gclose,
- NULL, ragged_list2);
#if 0
/* Name of this program without the path */