From 3e582deaae2095bb179e8d007ad6e72763e4bd0a Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Fri, 7 Jan 2005 21:06:46 -0500 Subject: [svn-r9778] Purpose: Remove feature Description: Retire threaded, balanced binary tree code from HDF5 use. Requiescat in pace... Also, regenerate dependencies files. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require full h5committesting (the code is already disconnected from everything except its tests) --- MANIFEST | 3 - hl/src/Dependencies | 20 +- hl/test/Dependencies | 77 +- src/Dependencies | 355 +++++---- src/H5TB.c | 1677 ------------------------------------------- src/H5TBprivate.h | 152 ---- src/Makefile.in | 4 +- src/hdf5.lnt | 1 - test/Dependencies | 227 +++--- test/Makefile.in | 4 +- test/testhdf5.c | 1 - test/testhdf5.h | 1 - test/ttbbt.c | 143 ---- testpar/Dependencies | 88 +-- tools/h5dump/Dependencies | 3 +- tools/h5jam/Dependencies | 6 + tools/h5repack/Dependencies | 47 -- tools/lib/Dependencies | 46 +- tools/misc/Dependencies | 2 +- 19 files changed, 434 insertions(+), 2423 deletions(-) delete mode 100644 src/H5TB.c delete mode 100644 src/H5TBprivate.h delete mode 100644 test/ttbbt.c diff --git a/MANIFEST b/MANIFEST index 690a73a..e8a1c34 100644 --- a/MANIFEST +++ b/MANIFEST @@ -952,8 +952,6 @@ ./src/H5Tpublic.h ./src/H5Tstrpad.c ./src/H5Tvlen.c -./src/H5TB.c -./src/H5TBprivate.h ./src/H5TS.c ./src/H5TSprivate.h ./src/H5V.c @@ -1058,7 +1056,6 @@ ./test/trefstr.c ./test/tselect.c ./test/tskiplist.c -./test/ttbbt.c ./test/ttst.c ./test/ttsafe.c ./test/ttsafe.h diff --git a/hl/src/Dependencies b/hl/src/Dependencies index 2218168..db9cde1 100644 --- a/hl/src/Dependencies +++ b/hl/src/Dependencies @@ -1,14 +1,14 @@ ## This file is machine generated on GNU systems. ## Only temporary changes may be made here. -H5IM.lo: \ - $(srcdir)/H5IM.c \ - $(srcdir)/H5IM.h \ - $(srcdir)/H5LT.h H5LT.lo: \ - $(srcdir)/H5LT.c \ - $(srcdir)/H5LT.h -H5TB.lo: \ - $(srcdir)/H5TB.c \ - $(srcdir)/H5TB.h \ - $(srcdir)/H5LT.h + $(top_srcdir)/hl/src/H5LT.c \ + $(top_srcdir)/hl/src/H5LT.h +H5TA.lo: \ + $(top_srcdir)/hl/src/H5TA.c \ + $(top_srcdir)/hl/src/H5TA.h \ + $(top_srcdir)/hl/src/H5LT.h +H5IM.lo: \ + $(top_srcdir)/hl/src/H5IM.c \ + $(top_srcdir)/hl/src/H5IM.h \ + $(top_srcdir)/hl/src/H5LT.h diff --git a/hl/test/Dependencies b/hl/test/Dependencies index 256da53..6db6ffb 100644 --- a/hl/test/Dependencies +++ b/hl/test/Dependencies @@ -1,69 +1,14 @@ ## This file is machine generated on GNU systems. ## Only temporary changes may be made here. -lite_dset_test.lo: \ - $(srcdir)/lite_dset_test.c \ - $(top_srcdir)/src/H5LT.h -lite_attr_test.lo: \ - $(srcdir)/lite_attr_test.c \ - $(top_srcdir)/src/H5LT.h -image_test.lo: \ - $(srcdir)/image_test.c \ - $(top_srcdir)/src/H5IM.h \ - $(top_srcdir)/src/H5LT.h -image_demo.lo: \ - $(srcdir)/image_demo.c \ - $(top_srcdir)/src/H5IM.h \ - $(top_srcdir)/src/H5LT.h \ - $(srcdir)/pal_rgb.h -image_make.lo: \ - $(srcdir)/image_make.c \ - $(top_srcdir)/src/H5IM.h \ - $(top_srcdir)/src/H5LT.h \ - $(srcdir)/pal_rgb.h -make_table.lo: \ - $(srcdir)/make_table.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h -append_record.lo: \ - $(srcdir)/append_record.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h -write_record_fill.lo: \ - $(srcdir)/write_record_fill.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h -field_names.lo: \ - $(srcdir)/field_names.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h -field_index.lo: \ - $(srcdir)/field_index.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h -query_table.lo: \ - $(srcdir)/query_table.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h -insert_record.lo: \ - $(srcdir)/insert_record.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h -delete_record.lo: \ - $(srcdir)/delete_record.c -add_record_from.lo: \ - $(srcdir)/add_record_from.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h -combine_tables.lo: \ - $(srcdir)/combine_tables.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h -insert_field.lo: \ - $(srcdir)/insert_field.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h -delete_field.lo: \ - $(srcdir)/delete_field.c \ - $(top_srcdir)/src/H5TB.h \ - $(top_srcdir)/src/H5LT.h +test_lite.lo: \ + $(top_srcdir)/hl/test/test_lite.c \ + $(top_srcdir)/hl/src/H5LT.h +test_image.lo: \ + $(top_srcdir)/hl/test/test_image.c \ + $(top_srcdir)/hl/src/H5IM.h \ + $(top_srcdir)/hl/src/H5LT.h +test_table.lo: \ + $(top_srcdir)/hl/test/test_table.c \ + $(top_srcdir)/hl/src/H5TA.h \ + $(top_srcdir)/hl/src/H5LT.h diff --git a/src/Dependencies b/src/Dependencies index 4a40f2a..368ad36 100644 --- a/src/Dependencies +++ b/src/Dependencies @@ -102,9 +102,9 @@ H5A.lo: \ $(top_srcdir)/src/H5Eprivate.h \ $(top_srcdir)/src/H5Epublic.h \ $(top_srcdir)/src/H5Epubgen.h \ + $(top_srcdir)/src/H5FLprivate.h \ $(top_srcdir)/src/H5Iprivate.h \ - $(top_srcdir)/src/H5MMprivate.h \ - $(top_srcdir)/src/H5Spkg.h + $(top_srcdir)/src/H5MMprivate.h H5AC.lo: \ $(top_srcdir)/src/H5AC.c \ $(top_srcdir)/src/H5private.h \ @@ -133,7 +133,6 @@ H5AC.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -141,6 +140,7 @@ H5AC.lo: \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Bprivate.h \ $(top_srcdir)/src/H5Bpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -151,7 +151,7 @@ H5AC.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Iprivate.h \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Ppublic.h \ @@ -204,7 +204,7 @@ H5B.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5FLprivate.h \ $(top_srcdir)/src/H5Iprivate.h \ $(top_srcdir)/src/H5MFprivate.h \ @@ -219,12 +219,14 @@ H5C.lo: \ $(top_srcdir)/src/H5api_adpt.h \ $(top_srcdir)/src/H5MPprivate.h \ $(top_srcdir)/src/H5FSprivate.h \ + $(top_srcdir)/src/H5Cpkg.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5Ipublic.h \ $(top_srcdir)/src/H5FDpublic.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Dprivate.h \ $(top_srcdir)/src/H5Dpublic.h \ $(top_srcdir)/src/H5FDprivate.h \ @@ -237,7 +239,6 @@ H5C.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -247,6 +248,7 @@ H5C.lo: \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5ACprivate.h \ $(top_srcdir)/src/H5ACpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -257,7 +259,6 @@ H5C.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ $(top_srcdir)/src/H5FLprivate.h \ $(top_srcdir)/src/H5Iprivate.h \ $(top_srcdir)/src/H5MMprivate.h \ @@ -288,7 +289,6 @@ H5D.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -300,6 +300,7 @@ H5D.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -313,7 +314,7 @@ H5D.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5FLprivate.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5HLprivate.h \ $(top_srcdir)/src/H5HLpublic.h \ $(top_srcdir)/src/H5Iprivate.h \ @@ -344,7 +345,6 @@ H5Dcontig.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -356,6 +356,7 @@ H5Dcontig.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -395,7 +396,6 @@ H5Dcompact.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -407,6 +407,7 @@ H5Dcompact.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -420,6 +421,54 @@ H5Dcompact.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5FLprivate.h \ $(top_srcdir)/src/H5Vprivate.h +H5Defl.lo: \ + $(top_srcdir)/src/H5Defl.c \ + $(top_srcdir)/src/H5private.h \ + $(top_srcdir)/src/H5public.h \ + H5pubconf.h \ + $(top_srcdir)/src/H5api_adpt.h \ + $(top_srcdir)/src/H5MPprivate.h \ + $(top_srcdir)/src/H5FSprivate.h \ + $(top_srcdir)/src/H5Dpkg.h \ + $(top_srcdir)/src/H5Dprivate.h \ + $(top_srcdir)/src/H5Dpublic.h \ + $(top_srcdir)/src/H5Ipublic.h \ + $(top_srcdir)/src/H5FDprivate.h \ + $(top_srcdir)/src/H5FDpublic.h \ + $(top_srcdir)/src/H5Fpublic.h \ + $(top_srcdir)/src/H5FDmpi.h \ + $(top_srcdir)/src/H5FDfphdf5.h \ + $(top_srcdir)/src/H5FDmpio.h \ + $(top_srcdir)/src/H5FDmpiposix.h \ + $(top_srcdir)/src/H5Oprivate.h \ + $(top_srcdir)/src/H5Opublic.h \ + $(top_srcdir)/src/H5Spublic.h \ + $(top_srcdir)/src/H5HGprivate.h \ + $(top_srcdir)/src/H5HGpublic.h \ + $(top_srcdir)/src/H5Fprivate.h \ + $(top_srcdir)/src/H5Tprivate.h \ + $(top_srcdir)/src/H5Tpublic.h \ + $(top_srcdir)/src/H5MMpublic.h \ + $(top_srcdir)/src/H5Gprivate.h \ + $(top_srcdir)/src/H5Gpublic.h \ + $(top_srcdir)/src/H5Bprivate.h \ + $(top_srcdir)/src/H5Bpublic.h \ + $(top_srcdir)/src/H5ACprivate.h \ + $(top_srcdir)/src/H5ACpublic.h \ + $(top_srcdir)/src/H5Cprivate.h \ + $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ + $(top_srcdir)/src/H5RSprivate.h \ + $(top_srcdir)/src/H5Rprivate.h \ + $(top_srcdir)/src/H5Rpublic.h \ + $(top_srcdir)/src/H5Zprivate.h \ + $(top_srcdir)/src/H5Zpublic.h \ + $(top_srcdir)/src/H5Sprivate.h \ + $(top_srcdir)/src/H5Pprivate.h \ + $(top_srcdir)/src/H5Ppublic.h \ + $(top_srcdir)/src/H5Eprivate.h \ + $(top_srcdir)/src/H5Epublic.h \ + $(top_srcdir)/src/H5Epubgen.h H5Dio.lo: \ $(top_srcdir)/src/H5Dio.c \ $(top_srcdir)/src/H5private.h \ @@ -445,7 +494,6 @@ H5Dio.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -457,6 +505,7 @@ H5Dio.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -471,7 +520,7 @@ H5Dio.lo: \ $(top_srcdir)/src/H5FLprivate.h \ $(top_srcdir)/src/H5Iprivate.h \ $(top_srcdir)/src/H5MMprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Vprivate.h H5Distore.lo: \ $(top_srcdir)/src/H5Distore.c \ @@ -552,7 +601,6 @@ H5Dmpio.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -564,6 +612,7 @@ H5Dmpio.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -575,8 +624,8 @@ H5Dmpio.lo: \ $(top_srcdir)/src/H5Eprivate.h \ $(top_srcdir)/src/H5Epublic.h \ $(top_srcdir)/src/H5Epubgen.h -H5Dseq.lo: \ - $(top_srcdir)/src/H5Dseq.c \ +H5Dselect.lo: \ + $(top_srcdir)/src/H5Dselect.c \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ H5pubconf.h \ @@ -600,7 +649,6 @@ H5Dseq.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -612,6 +660,7 @@ H5Dseq.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -623,10 +672,7 @@ H5Dseq.lo: \ $(top_srcdir)/src/H5Eprivate.h \ $(top_srcdir)/src/H5Epublic.h \ $(top_srcdir)/src/H5Epubgen.h \ - $(top_srcdir)/src/H5Iprivate.h \ - $(top_srcdir)/src/H5MFprivate.h \ - $(top_srcdir)/src/H5MMprivate.h \ - $(top_srcdir)/src/H5Vprivate.h + $(top_srcdir)/src/H5FLprivate.h H5Dtest.lo: \ $(top_srcdir)/src/H5Dtest.c \ $(top_srcdir)/src/H5private.h \ @@ -652,7 +698,6 @@ H5Dtest.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -664,6 +709,7 @@ H5Dtest.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -742,7 +788,7 @@ H5F.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5FLprivate.h \ $(top_srcdir)/src/H5FPprivate.h \ $(top_srcdir)/src/H5FPpublic.h \ @@ -777,7 +823,7 @@ H5Fdbg.lo: \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -827,7 +873,6 @@ H5FD.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -839,6 +884,7 @@ H5FD.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -849,7 +895,7 @@ H5FD.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5FDcore.h \ $(top_srcdir)/src/H5FDfamily.h \ $(top_srcdir)/src/H5FDgass.h \ @@ -900,7 +946,6 @@ H5FDcore.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -910,6 +955,7 @@ H5FDcore.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -948,7 +994,6 @@ H5FDfamily.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -958,6 +1003,7 @@ H5FDfamily.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -990,7 +1036,6 @@ H5FDfphdf5.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -998,6 +1043,7 @@ H5FDfphdf5.lo: \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Bprivate.h \ $(top_srcdir)/src/H5Bpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1046,7 +1092,6 @@ H5FDgass.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -1056,6 +1101,7 @@ H5FDgass.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1094,7 +1140,6 @@ H5FDlog.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -1104,6 +1149,7 @@ H5FDlog.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1139,7 +1185,6 @@ H5FDmpi.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -1149,6 +1194,7 @@ H5FDmpi.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1181,7 +1227,6 @@ H5FDmpio.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -1189,6 +1234,7 @@ H5FDmpio.lo: \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Bprivate.h \ $(top_srcdir)/src/H5Bpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1238,12 +1284,12 @@ H5FDmpiposix.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Bprivate.h \ $(top_srcdir)/src/H5Bpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1322,7 +1368,6 @@ H5FDsec2.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -1332,6 +1377,7 @@ H5FDsec2.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1370,7 +1416,6 @@ H5FDsrb.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -1380,6 +1425,7 @@ H5FDsrb.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1457,7 +1503,6 @@ H5FDstream.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -1467,6 +1512,7 @@ H5FDstream.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1504,7 +1550,7 @@ H5FO.lo: \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -1551,7 +1597,6 @@ H5FP.lo: \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5Gprivate.h \ @@ -1562,12 +1607,12 @@ H5FP.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ $(top_srcdir)/src/H5Zprivate.h \ $(top_srcdir)/src/H5Zpublic.h \ - $(top_srcdir)/src/H5TBprivate.h \ $(top_srcdir)/src/H5FPprivate.h \ $(top_srcdir)/src/H5FPpublic.h H5FPclient.lo: \ @@ -1598,7 +1643,6 @@ H5FPclient.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -1606,6 +1650,7 @@ H5FPclient.lo: \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Bprivate.h \ $(top_srcdir)/src/H5Bpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1621,7 +1666,6 @@ H5FPclient.lo: \ $(top_srcdir)/src/H5Sprivate.h \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Ppublic.h \ - $(top_srcdir)/src/H5TBprivate.h \ $(top_srcdir)/src/H5FPprivate.h \ $(top_srcdir)/src/H5FPpublic.h H5FPserver.lo: \ @@ -1656,13 +1700,13 @@ H5FPserver.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Bprivate.h \ $(top_srcdir)/src/H5Bpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -1670,7 +1714,7 @@ H5FPserver.lo: \ $(top_srcdir)/src/H5Zpublic.h \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Ppublic.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5FPprivate.h \ $(top_srcdir)/src/H5FPpublic.h H5FS.lo: \ @@ -1729,7 +1773,7 @@ H5G.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5FLprivate.h \ $(top_srcdir)/src/H5Gpkg.h \ $(top_srcdir)/src/H5HLprivate.h \ @@ -1754,7 +1798,7 @@ H5Gent.lo: \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -1794,7 +1838,7 @@ H5Gnode.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -1843,7 +1887,7 @@ H5Gstab.lo: \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -1893,7 +1937,7 @@ H5HG.lo: \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -1957,7 +2001,7 @@ H5HL.lo: \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -2062,7 +2106,7 @@ H5MF.lo: \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -2115,7 +2159,7 @@ H5O.lo: \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -2224,7 +2268,6 @@ H5Obogus.lo: \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5Gprivate.h \ @@ -2235,6 +2278,7 @@ H5Obogus.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2252,6 +2296,7 @@ H5Ocont.lo: \ $(top_srcdir)/src/H5Epublic.h \ $(top_srcdir)/src/H5Ipublic.h \ $(top_srcdir)/src/H5Epubgen.h \ + $(top_srcdir)/src/H5FLprivate.h \ $(top_srcdir)/src/H5MMprivate.h \ $(top_srcdir)/src/H5MMpublic.h \ $(top_srcdir)/src/H5Opkg.h \ @@ -2264,7 +2309,6 @@ H5Ocont.lo: \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5Gprivate.h \ @@ -2275,6 +2319,7 @@ H5Ocont.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2334,35 +2379,32 @@ H5Oefl.lo: \ $(top_srcdir)/src/H5Epublic.h \ $(top_srcdir)/src/H5Ipublic.h \ $(top_srcdir)/src/H5Epubgen.h \ - $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5Bpublic.h \ - $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ - $(top_srcdir)/src/H5Gprivate.h \ - $(top_srcdir)/src/H5Gpublic.h \ - $(top_srcdir)/src/H5Opublic.h \ - $(top_srcdir)/src/H5Bprivate.h \ - $(top_srcdir)/src/H5ACprivate.h \ - $(top_srcdir)/src/H5ACpublic.h \ - $(top_srcdir)/src/H5Cprivate.h \ - $(top_srcdir)/src/H5Cpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ - $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5HLprivate.h \ $(top_srcdir)/src/H5HLpublic.h \ $(top_srcdir)/src/H5MMprivate.h \ $(top_srcdir)/src/H5MMpublic.h \ $(top_srcdir)/src/H5Opkg.h \ $(top_srcdir)/src/H5Oprivate.h \ + $(top_srcdir)/src/H5Opublic.h \ $(top_srcdir)/src/H5Dpublic.h \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ + $(top_srcdir)/src/H5Gprivate.h \ + $(top_srcdir)/src/H5Gpublic.h \ + $(top_srcdir)/src/H5Bprivate.h \ + $(top_srcdir)/src/H5Bpublic.h \ + $(top_srcdir)/src/H5ACprivate.h \ + $(top_srcdir)/src/H5ACpublic.h \ + $(top_srcdir)/src/H5Cprivate.h \ + $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ + $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ $(top_srcdir)/src/H5Zprivate.h \ @@ -2393,7 +2435,6 @@ H5Ofill.lo: \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5Gprivate.h \ @@ -2404,6 +2445,7 @@ H5Ofill.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2435,7 +2477,6 @@ H5Olayout.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -2447,6 +2488,7 @@ H5Olayout.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2484,7 +2526,6 @@ H5Omtime.lo: \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5Gprivate.h \ @@ -2495,6 +2536,7 @@ H5Omtime.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2524,7 +2566,6 @@ H5Oname.lo: \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5Gprivate.h \ @@ -2535,6 +2576,7 @@ H5Oname.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2559,7 +2601,6 @@ H5Onull.lo: \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -2571,6 +2612,7 @@ H5Onull.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2601,7 +2643,6 @@ H5Opline.lo: \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5Gprivate.h \ @@ -2612,6 +2653,7 @@ H5Opline.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2686,7 +2728,7 @@ H5Oshared.lo: \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -2777,7 +2819,6 @@ H5P.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -2789,6 +2830,7 @@ H5P.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2803,7 +2845,7 @@ H5P.lo: \ $(top_srcdir)/src/H5Ppkg.h \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Ppublic.h \ - $(top_srcdir)/src/H5TBprivate.h + $(top_srcdir)/src/H5SLprivate.h H5Pdcpl.lo: \ $(top_srcdir)/src/H5Pdcpl.c \ $(top_srcdir)/src/H5private.h \ @@ -2828,7 +2870,6 @@ H5Pdcpl.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -2840,6 +2881,7 @@ H5Pdcpl.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2853,7 +2895,7 @@ H5Pdcpl.lo: \ $(top_srcdir)/src/H5Ppkg.h \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Ppublic.h \ - $(top_srcdir)/src/H5TBprivate.h + $(top_srcdir)/src/H5SLprivate.h H5Pdxpl.lo: \ $(top_srcdir)/src/H5Pdxpl.c \ $(top_srcdir)/src/H5private.h \ @@ -2878,7 +2920,6 @@ H5Pdxpl.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -2890,6 +2931,7 @@ H5Pdxpl.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2901,7 +2943,7 @@ H5Pdxpl.lo: \ $(top_srcdir)/src/H5Ppkg.h \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Ppublic.h \ - $(top_srcdir)/src/H5TBprivate.h + $(top_srcdir)/src/H5SLprivate.h H5Pfapl.lo: \ $(top_srcdir)/src/H5Pfapl.c \ $(top_srcdir)/src/H5private.h \ @@ -2926,7 +2968,6 @@ H5Pfapl.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -2938,6 +2979,7 @@ H5Pfapl.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -2950,7 +2992,7 @@ H5Pfapl.lo: \ $(top_srcdir)/src/H5Ppkg.h \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Ppublic.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5FDsec2.h H5Pfcpl.lo: \ $(top_srcdir)/src/H5Pfcpl.c \ @@ -2993,7 +3035,7 @@ H5Pfcpl.lo: \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ $(top_srcdir)/src/H5Zprivate.h \ - $(top_srcdir)/src/H5TBprivate.h + $(top_srcdir)/src/H5SLprivate.h H5Ptest.lo: \ $(top_srcdir)/src/H5Ptest.c \ $(top_srcdir)/src/H5private.h \ @@ -3022,7 +3064,6 @@ H5Ptest.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -3032,11 +3073,12 @@ H5Ptest.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ $(top_srcdir)/src/H5Zprivate.h \ - $(top_srcdir)/src/H5TBprivate.h + $(top_srcdir)/src/H5SLprivate.h H5R.lo: \ $(top_srcdir)/src/H5R.c \ $(top_srcdir)/src/H5private.h \ @@ -3062,7 +3104,6 @@ H5R.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -3074,6 +3115,7 @@ H5R.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -3084,7 +3126,7 @@ H5R.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5MMprivate.h \ $(top_srcdir)/src/H5Sprivate.h \ $(top_srcdir)/src/H5Pprivate.h \ @@ -3135,7 +3177,7 @@ H5S.lo: \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -3201,7 +3243,6 @@ H5Sall.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -3213,6 +3254,7 @@ H5Sall.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -3252,7 +3294,6 @@ H5Shyper.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -3264,6 +3305,7 @@ H5Shyper.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -3296,7 +3338,6 @@ H5Smpio.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -3308,6 +3349,7 @@ H5Smpio.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -3351,7 +3393,6 @@ H5Snone.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -3363,6 +3404,7 @@ H5Snone.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -3404,7 +3446,6 @@ H5Spoint.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5Gprivate.h \ @@ -3415,6 +3456,7 @@ H5Spoint.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -3431,9 +3473,17 @@ H5Sselect.lo: \ $(top_srcdir)/src/H5api_adpt.h \ $(top_srcdir)/src/H5MPprivate.h \ $(top_srcdir)/src/H5FSprivate.h \ + $(top_srcdir)/src/H5Eprivate.h \ + $(top_srcdir)/src/H5Epublic.h \ + $(top_srcdir)/src/H5Ipublic.h \ + $(top_srcdir)/src/H5Epubgen.h \ + $(top_srcdir)/src/H5FLprivate.h \ + $(top_srcdir)/src/H5Iprivate.h \ + $(top_srcdir)/src/H5Spkg.h \ + $(top_srcdir)/src/H5Sprivate.h \ + $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5Dprivate.h \ $(top_srcdir)/src/H5Dpublic.h \ - $(top_srcdir)/src/H5Ipublic.h \ $(top_srcdir)/src/H5FDprivate.h \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5Fpublic.h \ @@ -3443,11 +3493,9 @@ H5Sselect.lo: \ $(top_srcdir)/src/H5FDmpiposix.h \ $(top_srcdir)/src/H5Oprivate.h \ $(top_srcdir)/src/H5Opublic.h \ - $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -3459,18 +3507,12 @@ H5Sselect.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ $(top_srcdir)/src/H5Zprivate.h \ $(top_srcdir)/src/H5Zpublic.h \ - $(top_srcdir)/src/H5Eprivate.h \ - $(top_srcdir)/src/H5Epublic.h \ - $(top_srcdir)/src/H5Epubgen.h \ - $(top_srcdir)/src/H5FLprivate.h \ - $(top_srcdir)/src/H5Iprivate.h \ - $(top_srcdir)/src/H5Spkg.h \ - $(top_srcdir)/src/H5Sprivate.h \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Ppublic.h \ $(top_srcdir)/src/H5Vprivate.h @@ -3504,7 +3546,6 @@ H5Stest.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -3516,6 +3557,7 @@ H5Stest.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -3523,6 +3565,22 @@ H5Stest.lo: \ $(top_srcdir)/src/H5Zpublic.h \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Ppublic.h +H5SL.lo: \ + $(top_srcdir)/src/H5SL.c \ + $(top_srcdir)/src/H5private.h \ + $(top_srcdir)/src/H5public.h \ + H5pubconf.h \ + $(top_srcdir)/src/H5api_adpt.h \ + $(top_srcdir)/src/H5MPprivate.h \ + $(top_srcdir)/src/H5FSprivate.h \ + $(top_srcdir)/src/H5Eprivate.h \ + $(top_srcdir)/src/H5Epublic.h \ + $(top_srcdir)/src/H5Ipublic.h \ + $(top_srcdir)/src/H5Epubgen.h \ + $(top_srcdir)/src/H5FLprivate.h \ + $(top_srcdir)/src/H5MMprivate.h \ + $(top_srcdir)/src/H5MMpublic.h \ + $(top_srcdir)/src/H5SLprivate.h H5ST.lo: \ $(top_srcdir)/src/H5ST.c \ $(top_srcdir)/src/H5Eprivate.h \ @@ -3561,7 +3619,6 @@ H5T.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -3573,6 +3630,7 @@ H5T.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -3583,7 +3641,7 @@ H5T.lo: \ $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5FLprivate.h \ $(top_srcdir)/src/H5Iprivate.h \ $(top_srcdir)/src/H5MMprivate.h \ @@ -3672,6 +3730,11 @@ H5Tcommit.lo: \ $(top_srcdir)/src/H5Epublic.h \ $(top_srcdir)/src/H5Ipublic.h \ $(top_srcdir)/src/H5Epubgen.h \ + $(top_srcdir)/src/H5FOprivate.h \ + $(top_srcdir)/src/H5Fprivate.h \ + $(top_srcdir)/src/H5Fpublic.h \ + $(top_srcdir)/src/H5FDpublic.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Iprivate.h \ $(top_srcdir)/src/H5Oprivate.h \ $(top_srcdir)/src/H5Opublic.h \ @@ -3679,10 +3742,6 @@ H5Tcommit.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5Fpublic.h \ - $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -3694,6 +3753,7 @@ H5Tcommit.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -3764,7 +3824,6 @@ H5Tconv.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -3774,6 +3833,7 @@ H5Tconv.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -4020,7 +4080,6 @@ H5Tnative.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Gpublic.h \ @@ -4030,6 +4089,7 @@ H5Tnative.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -4265,7 +4325,6 @@ H5Tvlen.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -4277,6 +4336,7 @@ H5Tvlen.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -4291,25 +4351,6 @@ H5Tvlen.lo: \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Ppublic.h \ $(top_srcdir)/src/H5Tpkg.h -H5TB.lo: \ - $(top_srcdir)/src/H5TB.c \ - $(top_srcdir)/src/H5private.h \ - $(top_srcdir)/src/H5public.h \ - H5pubconf.h \ - $(top_srcdir)/src/H5api_adpt.h \ - $(top_srcdir)/src/H5MPprivate.h \ - $(top_srcdir)/src/H5FSprivate.h \ - $(top_srcdir)/src/H5Eprivate.h \ - $(top_srcdir)/src/H5Epublic.h \ - $(top_srcdir)/src/H5Ipublic.h \ - $(top_srcdir)/src/H5Epubgen.h \ - $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5Fpublic.h \ - $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5MMprivate.h \ - $(top_srcdir)/src/H5MMpublic.h \ - $(top_srcdir)/src/H5FLprivate.h \ - $(top_srcdir)/src/H5TBprivate.h H5TS.lo: \ $(top_srcdir)/src/H5TS.c \ $(top_srcdir)/src/H5private.h \ @@ -4345,7 +4386,6 @@ H5V.lo: \ $(top_srcdir)/src/H5Fprivate.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -4357,6 +4397,7 @@ H5V.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -4387,7 +4428,6 @@ H5Z.lo: \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5MMpublic.h \ @@ -4399,6 +4439,7 @@ H5Z.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -4543,7 +4584,47 @@ H5Zszip.lo: \ $(top_srcdir)/src/H5Spublic.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5HGpublic.h \ + $(top_srcdir)/src/H5Tprivate.h \ + $(top_srcdir)/src/H5Tpublic.h \ + $(top_srcdir)/src/H5Gprivate.h \ + $(top_srcdir)/src/H5Gpublic.h \ + $(top_srcdir)/src/H5Bprivate.h \ + $(top_srcdir)/src/H5Bpublic.h \ + $(top_srcdir)/src/H5ACprivate.h \ + $(top_srcdir)/src/H5ACpublic.h \ + $(top_srcdir)/src/H5Cprivate.h \ + $(top_srcdir)/src/H5Cpublic.h \ $(top_srcdir)/src/H5RCprivate.h \ + $(top_srcdir)/src/H5RSprivate.h \ + $(top_srcdir)/src/H5Rprivate.h \ + $(top_srcdir)/src/H5Rpublic.h \ + $(top_srcdir)/src/H5Zprivate.h \ + $(top_srcdir)/src/H5Zpublic.h \ + $(top_srcdir)/src/H5Ppublic.h \ + $(top_srcdir)/src/H5Zpkg.h +H5Znbit.lo: \ + $(top_srcdir)/src/H5Znbit.c \ + $(top_srcdir)/src/H5private.h \ + $(top_srcdir)/src/H5public.h \ + H5pubconf.h \ + $(top_srcdir)/src/H5api_adpt.h \ + $(top_srcdir)/src/H5MPprivate.h \ + $(top_srcdir)/src/H5FSprivate.h \ + $(top_srcdir)/src/H5Eprivate.h \ + $(top_srcdir)/src/H5Epublic.h \ + $(top_srcdir)/src/H5Ipublic.h \ + $(top_srcdir)/src/H5Epubgen.h \ + $(top_srcdir)/src/H5Fprivate.h \ + $(top_srcdir)/src/H5Fpublic.h \ + $(top_srcdir)/src/H5FDpublic.h \ + $(top_srcdir)/src/H5MMprivate.h \ + $(top_srcdir)/src/H5MMpublic.h \ + $(top_srcdir)/src/H5Oprivate.h \ + $(top_srcdir)/src/H5Opublic.h \ + $(top_srcdir)/src/H5Dpublic.h \ + $(top_srcdir)/src/H5Spublic.h \ + $(top_srcdir)/src/H5HGprivate.h \ + $(top_srcdir)/src/H5HGpublic.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Tpublic.h \ $(top_srcdir)/src/H5Gprivate.h \ @@ -4554,6 +4635,7 @@ H5Zszip.lo: \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Rpublic.h \ @@ -4596,4 +4678,5 @@ H5Ztrans.lo: \ $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ - $(top_srcdir)/src/H5Rpublic.h + $(top_srcdir)/src/H5Rpublic.h \ + $(top_srcdir)/src/H5Vprivate.h diff --git a/src/H5TB.c b/src/H5TB.c deleted file mode 100644 index 7e6f946..0000000 --- a/src/H5TB.c +++ /dev/null @@ -1,1677 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* WARNING!!! - * - * The function H5TB_rem() may not delete the node specified in its parameter - * list -- if the target node is internal, it may swap data with a leaf node - * and delete the leaf instead. - * - * This implies that any pointer to a node in the supplied tree may be - * invalid after this functions returns. Thus any function retaining such - * pointers over a call to H5TB_rem() should either discard, or refresh them. - * - * JRM - 4/9/04 - */ - -/* - * Programmer: Quincey Koziol - * Saturday, April 22, 2000 - * - * Purpose: Routines for using threaded, balanced, binary trees. - * Extended from (added threads to) Knuth 6.2.3, Algorithm A (AVL trees) - * Basic tree structure by Adel'son-Vel'skii and Landis - * - * These routines are designed to allow use of a general-purpose balanced - * tree implimentation. These trees are appropriate for maintaining in - * memory one or more lists of items, each list sorted according to key - * values (key values must form a "completely ordered set") where no two - * items in a single list can have the same key value. The following - * operations are supported: - * - * Create an empty list - * Add an item to a list - * Look up an item in a list by key value - * Look up the Nth item in a list - * Delete an item from a list - * Find the first/last/next/previous item in a list - * Destroy a list - * - * Each of the above operations requires Order(log(N)) time where N is - * the number of items in the list (except for list creation which - * requires constant time and list destruction which requires Order(N) - * time if the user- supplied free-data-item or free-key-value routines - * require constant time). Each of the above operations (except create - * and destroy) can be performed on a subtree. - * - * Each node of a tree has associated with it a generic pointer (void *) - * which is set to point to one such "item" and a generic pointer to - * point to that item's "key value". The structure of the items and key - * values is up to the user to define. The user must specify a method - * for comparing key values. This routine takes three arguments, two - * pointers to key values and a third integer argument. You can specify - * a routine that expects pointers to "data items" rather than key values - * in which case the pointer to the key value in each node will be set - * equal to the pointer to the data item. - * - * Since the "data item" pointer is the first field of each tree node, - * these routines may be used without this "tbbt.h" file. For example, - * assume "ITM" is the structre definition for the data items you want to - * store in lists: - * - * ITM ***H5TB_dmake( int (*cmp)(void *,void *,int), int arg ); - * ITM **root= NULL; (* How to create an empty tree w/o H5TB_dmake() *) - * ITM **H5TB_dfind( ITM ***tree, void *key, ITM ***pp ); - * ITM **H5TB_find( ITM **root, void *key, int (*cmp)(), int arg, ITM ***pp ); - * ITM **H5TB_dless( ITM ***tree, void *key, ITM ***pp ); - * ITM **H5TB_less( ITM **root, void *key, int (*cmp)(), int arg, ITM ***pp ); - * ITM **H5TB_index( ITM **root, long indx ); - * ITM **H5TB_dins( ITM ***tree, ITM *item, void *key ); - * ITM **H5TB_ins( ITM ***root, ITM *item, void *key, int (*cmp)(), int arg ); - * ITM *H5TB_rem( ITM ***root, ITM **node, void **kp ); - * ITM ***H5TB_dfree( ITM ***tree, void (*df)(ITM *), void (*kf)(void *) ); - * void H5TB_free( ITM ***root, void (*df)(ITM *), void (*kf)(void *) ); - */ - -/* Pablo information */ -/* (Put before include files to avoid problems with inline functions) */ -#define PABLO_MASK H5TB_mask - -#include "H5private.h" /*library */ -#include "H5Eprivate.h" /*error handling */ -#include "H5Fprivate.h" /* File address macros */ -#include "H5MMprivate.h" /*Core memory management */ -#include "H5FLprivate.h" /*Free Lists */ -#include "H5TBprivate.h" /*Threaded, balanced, binary trees */ - -# define KEYcmp(k1,k2,a) ((NULL!=compar) ? (*compar)( k1, k2, a) \ - : HDmemcmp( k1, k2, 0<(a) ? ((size_t)a) : HDstrlen(k1) ) ) - -/* Return maximum of two scalar values (use arguments w/o side effects): */ -#define Max(a,b) ( (a) > (b) ? (a) : (b) ) - -/* Local Function Prototypes */ -static H5TB_NODE *H5TB_ffind(H5TB_NODE * root, const void * key, unsigned fast_compare, - H5TB_NODE ** pp); -static herr_t H5TB_balance(H5TB_NODE ** root, H5TB_NODE * ptr, int side, int added); -static H5TB_NODE *H5TB_swapkid(H5TB_NODE ** root, H5TB_NODE * ptr, int side); - -#ifdef H5TB_DEBUG -static herr_t H5TB_printNode(H5TB_NODE * node, void(*key_dump)(void *,void *)); -static herr_t H5TB_dumpNode(H5TB_NODE *node, void (*key_dump)(void *,void *), - int method); -#endif /* H5TB_DEBUG */ - -/* Declare a free list to manage the H5TB_NODE struct */ -H5FL_DEFINE_STATIC(H5TB_NODE); - -/* Declare a free list to manage the H5TB_TREE struct */ -H5FL_DEFINE_STATIC(H5TB_TREE); - - -/*------------------------------------------------------------------------- - * Function: H5TB_strcmp - * - * Purpose: Key comparison routine for TBBT routines - * - * Return: same as strcmp() - * - * Programmer: Quincey Koziol - * Wednesday, December 4, 2002 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -static int -H5TB_strcmp(const void *k1, const void *k2, int UNUSED cmparg) -{ - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_strcmp); - - assert(k1); - assert(k2); - - FUNC_LEAVE_NOAPI(HDstrcmp(k1,k2)); -} /* end H5TB_strcmp() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_addr_cmp - * - * Purpose: Key comparison routine for TBBT routines - * - * Return: same as H5F_addr_cmp() - * - * Programmer: Quincey Koziol - * Friday, December 20, 2002 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -static int -H5TB_addr_cmp(const void *k1, const void *k2, int UNUSED cmparg) -{ - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_addr_cmp); - - assert(k1); - assert(k2); - - FUNC_LEAVE_NOAPI(H5F_addr_cmp(*(const haddr_t *)k1,*(const haddr_t *)k2)); -} /* end H5TB_addr_cmp() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_int_cmp - * - * Purpose: Key comparison routine for TBBT routines - * - * Return: same as comparing two integers - * - * Programmer: Quincey Koziol - * Friday, December 20, 2002 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -static int -H5TB_int_cmp(const void *k1, const void *k2, int UNUSED cmparg) -{ - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_int_cmp); - - assert(k1); - assert(k2); - - FUNC_LEAVE_NOAPI(*(const int *)k1 - *(const int *)k2); -} /* end H5TB_int_cmp() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_hsize_cmp - * - * Purpose: Key comparison routine for TBBT routines - * - * Return: same as comparing two hsize_t's - * - * Programmer: Quincey Koziol - * Friday, December 20, 2002 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -static int -H5TB_hsize_cmp(const void *k1, const void *k2, int UNUSED cmparg) -{ - int ret_value; - - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_hsize_cmp); - - assert(k1); - assert(k2); - - if(*(const hsize_t *)k1 < *(const hsize_t *)k2) - ret_value=-1; - else if(*(const hsize_t *)k1 > *(const hsize_t *)k2) - ret_value=1; - else - ret_value=0; - - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_hsize_cmp() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_fast_dmake - * - * Purpose: Wrapper around H5TB_dmake for callers which want to use - * a "fast comparison" key. - * - * Return: Success: Pointer to a valid H5TB tree - * Failure: NULL - * - * Programmer: Quincey Koziol - * Friday, December 20, 2002 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -H5TB_TREE * -H5TB_fast_dmake(unsigned fast_compare) -{ - H5TB_cmp_t compar; /* Key comparison function */ - int cmparg; /* Key comparison value */ - H5TB_TREE *ret_value; /* Return value */ - - FUNC_ENTER_NOAPI(H5TB_fast_dmake, NULL); - - /* Get the corret fast comparison routine */ - switch(fast_compare) { - case H5TB_FAST_HADDR_COMPARE: - compar=H5TB_addr_cmp; - cmparg=-1; - break; - - case H5TB_FAST_INTN_COMPARE: - compar=H5TB_int_cmp; - cmparg=-1; - break; - - case H5TB_FAST_STR_COMPARE: - compar=H5TB_strcmp; - cmparg=-1; - break; - - case H5TB_FAST_HSIZE_COMPARE: - compar=H5TB_hsize_cmp; - cmparg=-1; - break; - - default: - HGOTO_ERROR (H5E_TBBT, H5E_BADVALUE, NULL, "invalid fast comparison type"); - } /* end switch */ - - /* Set return value */ - if((ret_value=H5TB_dmake(compar,cmparg,fast_compare))==NULL) - HGOTO_ERROR (H5E_TBBT, H5E_CANTCREATE, NULL, "can't create TBBT"); - -done: - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_fast_dmake() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_dmake - * - * Purpose: Allocates and initializes an empty threaded, balanced, binary tree - * and returns a pointer to the control structure for it. You can also create - * empty trees without this function as long as you never use H5TB_d* routines - * (H5TB_dfind, H5TB_dins, H5TB_dfree) on them. - * Examples: - * int keycmp(); - * H5TB_TREE *tree = H5TB_dmake( keycmp, (int)keysiz , 0); - * or - * void *tree= H5TB_dmake( strcmp, 0 , 0); - * or - * void *tree= H5TB_dmake( keycmp, (int)keysiz , H5TB_FAST_HADDR_COMPARE); - * or - * H5TB_NODE *root= NULL; (* Don't use H5TB_d* routines *) - * - * `cmp' is the routine to be used to compare two key values [in H5TB_dfind() - * and H5TB_dins()]. The arguments to `cmp' are the two keys to compare - * and `arg': (*cmp)(k1,k2,arg). `cmp' is expected to return 0 if its first - * two arguments point to identical key values, -1 (or any integer less than 0) - * if k1 points to a key value lower than that pointed to by k2, and 1 (or any - * integer greater than 0) otherwise. If `cmp' is NULL, memcmp is used. If - * `cmp' is NULL and `arg' is not greater than 0L, `1+strlen(key1)' is used in - * place of `arg' to emulate strcmp(): memcmp( k1, k2, 1+strlen(k1) ). You - * can use strcmp() directly (as in the second example above) as long as your C - * compiler does not assume strcmp() will always be passed exactly 2 arguments - * (only newer, ANSI-influenced C compilers are likely to be able to make this - * kind of assumption). You can also use a key comparison routine that expects - * pointers to data items rather than key values. - * - * The "fast compare" option is for keys of simple numeric types - * (currently haddr_t and int) and avoids the function call for faster - * searches in some cases. The key comparison routine is still required - * for some insertion routines which use it. - * - * Most of the other routines expect a pointer to a root node of a tree, not - * a pointer to the tree's control structure (only H5TB_dfind(), H5TB_dins(), - * and H5TB_dfree() expect pointers to control structures). However H5TB_TREE - * is just defined as "**H5TB_NODE" (unless you have defined H5TB_INTERNALS so - * you have access to the internal structure of the nodes) so - * H5TB_TREE *tree1= H5TB_dmake( NULL, 0 ); - * is equivalent to - * H5TB_NODE **tree1= H5TB_dmake( NULL, 0 ); - * So could be used as: - * node= H5TB_dfind( tree1, key, NULL ); - * node= H5TB_find( *tree1, key, compar, arg, NULL ); - * node= H5TB_dless( tree1, key, NULL ); - * node= H5TB_less( *tree1, key, compar, arg, NULL ); - * node= H5TB_dins( tree1, item, key ); - * node= H5TB_ins( tree1, item, key, compar, arg ); - * item= H5TB_rem( tree1, H5TB_dfind(tree1,key,NULL), NULL ); - * item= H5TB_rem( tree1, H5TB_find(*tree1,key,compar,arg,NULL), NULL ); - * tree1= H5TB_dfree( tree1, free, NULL ); (* or whatever *) - * while - * H5TB_NODE *root= NULL; - * would be used like: - * node= H5TB_find( root, key ); - * node= H5TB_ins( &root, item, key ); - * node= H5TB_rem( &root, H5TB_find(root,key), NULL ); - * H5TB_free( &root, free, NULL ); (* or whatever *) - * Never use H5TB_free() on a tree allocated with H5TB_dmake() or on a sub-tree - * of ANY tree. Never use H5TB_dfree() except on a H5TB_dmake()d tree. - * - * Return: Success: Pointer to a valid H5TB tree - * Failure: NULL - * - * Programmer: Quincey Koziol - * Saturday, April 22, 2000 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -H5TB_TREE * -H5TB_dmake(H5TB_cmp_t cmp, int arg, unsigned fast_compare) -{ - H5TB_TREE *tree; - H5TB_TREE *ret_value; - - FUNC_ENTER_NOAPI(H5TB_dmake, NULL); - - if (NULL == (tree = H5FL_MALLOC(H5TB_TREE))) - HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed"); - - tree->root = NULL; - tree->count = 0; - tree->fast_compare=fast_compare; - tree->compar = cmp; - tree->cmparg = arg; - - /* Set return value */ - ret_value=tree; - -done: - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_dmake() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_dfind - * - * Purpose: Look up a node in a "described" tree based on a key value - * Locate a node based on the key given. A pointer to the node in the tree - * with a key value matching `key' is returned. If no such node exists, NULL - * is returned. Whether a node is found or not, if `pp' is not NULL, `*pp' - * will be set to point to the parent of the node we are looking for (or that - * node that would be the parent if the node is not found). H5TB_dfind() is - * used on trees created using H5TB_dmake() (so that `cmp' and `arg' don't have - * to be passed). [H5TB_find() can be used on the root or any subtree of a tree - * create using H5TB_dmake() and is used on any tree (or subtree) created with- - * out using H5TB_dmake().] - * - * Return: Success: Pointer to a valid H5TB node - * Failure: NULL - * - * Programmer: Quincey Koziol - * Thursday, May 5, 2000 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -H5TB_NODE * -H5TB_dfind(H5TB_TREE * tree, const void * key, H5TB_NODE ** pp) -{ - H5TB_NODE *ret_value; - - FUNC_ENTER_NOAPI_NOFUNC(H5TB_dfind); - - assert(tree); - - if(tree->root) - if(tree->fast_compare!=0) - ret_value=H5TB_ffind(tree->root, key, tree->fast_compare, pp); - else - ret_value=H5TB_find(tree->root, key, tree->compar, tree->cmparg, pp); - else { - if (NULL != pp) - *pp = NULL; - ret_value=NULL; - } /* end else */ - - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_dfind() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_find - * - * Purpose: Look up a node in a "non-described" tree based on a key value - * Locate a node based on the key given. A pointer to the node in the tree - * with a key value matching `key' is returned. If no such node exists, NULL - * is returned. Whether a node is found or not, if `pp' is not NULL, `*pp' - * will be set to point to the parent of the node we are looking for (or that - * node that would be the parent if the node is not found). H5TB_dfind() is - * used on trees created using H5TB_dmake() (so that `cmp' and `arg' don't have - * to be passed). [H5TB_find() can be used on the root or any subtree of a tree - * create using H5TB_dmake() and is used on any tree (or subtree) created with- - * out using H5TB_dmake().] - * - * Return: Success: Pointer to a valid H5TB node - * Failure: NULL - * - * Programmer: Quincey Koziol - * Thursday, May 5, 2000 - * - * Modifications: - * - * Notes: - * H5TB_ffind is based on this routine - fix bugs in both places! - * - *------------------------------------------------------------------------- - */ -H5TB_NODE * -H5TB_find(H5TB_NODE * ptr, const void * key, - H5TB_cmp_t compar, int arg, H5TB_NODE ** pp) -{ - H5TB_NODE *parent = NULL; - int cmp = 1; - - FUNC_ENTER_NOAPI_NOFUNC(H5TB_find); - - - if(ptr) { - while (0 != (cmp = KEYcmp(key, ptr->key, arg))) { - parent = ptr; - if(cmp<0) { - if(!LeftCnt(ptr)) { - ptr=NULL; - break; - } /* end if */ - ptr = ptr->link[LEFT]; - } /* end if */ - else { - if(!RightCnt(ptr)) { - ptr=NULL; - break; - } /* end if */ - ptr = ptr->link[RIGHT]; - } /* end else */ - } /* end while */ - } /* end if */ - - if (NULL != pp) - *pp = parent; - - FUNC_LEAVE_NOAPI(ptr); -} /* end H5TB_find() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_dless - * - * Purpose: Look up a node in a "described" tree based on a key value. - * Locate a node based on the key given. A pointer to the node in the tree - * with a key value less than or equal to `key' is returned. If no such node - * exists, NULL is returned. Whether a node is found or not, if `pp' is not - * NULL, `*pp' will be set to point to the parent of the node we are looking - * for (or that node that would be the parent if the node is not found). - * H5TB_dless() is used on trees created using H5TB_dmake() (so that `cmp' and - * `arg' don't have to be passed). [H5TB_less() can be used on the root or any - * subtree of a tree create using H5TB_dmake() and is used on any tree (or - * subtree) created with-out using H5TB_dmake().] - * - * Return: Success: Pointer to a valid H5TB node - * Failure: NULL - * - * Programmer: Quincey Koziol - * Thursday, May 5, 2000 - * - * Modifications: - * - * Notes: - * - *------------------------------------------------------------------------- - */ -H5TB_NODE * -H5TB_dless(H5TB_TREE * tree, void * key, H5TB_NODE ** pp) -{ - H5TB_NODE *ret_value; /* Return value */ - - FUNC_ENTER_NOAPI_NOFUNC(H5TB_dless); - - assert(tree); - - /* Set return value */ - ret_value= H5TB_less(tree->root, key, tree->compar, tree->cmparg, pp); - - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_dless() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_less - * - * Purpose: Look up a node in a "non-described" tree based on a key value. - * Locate a node based on the key given. A pointer to the node in the tree - * with a key value less than or equal to `key' is returned. If no such node - * exists, NULL is returned. Whether a node is found or not, if `pp' is not - * NULL, `*pp' will be set to point to the parent of the node we are looking - * for (or that node that would be the parent if the node is not found). - * H5TB_dless() is used on trees created using H5TB_dmake() (so that `cmp' and - * `arg' don't have to be passed). [H5TB_less() can be used on the root or any - * subtree of a tree create using H5TB_dmake() and is used on any tree (or - * subtree) created with-out using H5TB_dmake().] - * - * Return: Success: Pointer to a valid H5TB node - * Failure: NULL - * - * Programmer: Quincey Koziol - * Thursday, May 5, 2000 - * - * Modifications: - * Fixed function so it seems to perform as advertized. Two - * tests were inverted in the backtrack case. - * JRM - 4/13/04 - * - * Notes: - * - *------------------------------------------------------------------------- - */ -H5TB_NODE * -H5TB_less(H5TB_NODE * root, void * key, H5TB_cmp_t compar, int arg, H5TB_NODE ** pp) -{ - H5TB_NODE *ptr = root; - H5TB_NODE *parent = NULL; - int cmp = 1; - int side; - H5TB_NODE *ret_value; /* Return value */ - - FUNC_ENTER_NOAPI_NOFUNC(H5TB_less); - - /* Try to find an exact match */ - if (ptr) { - while (0 != (cmp = KEYcmp(key, ptr->key, arg))) { - parent = ptr; - side = (cmp < 0) ? LEFT : RIGHT; - if (!HasChild(ptr, side)) - break; - ptr = ptr->link[side]; - } /* end while */ - } /* end if */ - - /* didn't find an exact match, search back up the tree until a node */ - /* is found with a key less than the key searched for */ - if(cmp!=0) { - /* If we haven't already found the least node, then backtrack to - * find it */ - if(cmp<0) { - while((ptr=ptr->Parent)!=NULL) { - cmp = KEYcmp(key, ptr->key, arg); - if(cmp>0) /* found a node which is less than the search for one */ - break; - } /* end while */ - } /* end if */ - if(ptr==NULL) /* didn't find a node in the tree which was less */ - cmp=1; - else /* reset this for cmp test below */ - cmp=0; - } /* end if */ - - if (NULL != pp) - *pp = parent; - - /* Set return value */ - ret_value= (0 == cmp) ? ptr : NULL; - - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_less */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_index - * - * Purpose: Locate the node that has `indx' nodes with lesser key values. - * This is like an array lookup with the first item in the list having index 0. - * For large values of `indx', this call is much faster than H5TB_first() - * followed by `indx' H5TB_next()s. Thus `H5TB_index(&root,0L)' is equivalent to - * (and almost as fast as) `H5TB_first(root)'. - * - * Return: Success: Pointer to a valid H5TB node - * Failure: NULL - * - * Programmer: Quincey Koziol - * Friday, May 6, 2000 - * - * Modifications: - * - * Notes: - * - *------------------------------------------------------------------------- - */ -H5TB_NODE * -H5TB_index(H5TB_NODE * root, unsigned indx) -{ - H5TB_NODE *ptr = root; - H5TB_NODE *ret_value; /* Return value */ - - FUNC_ENTER_NOAPI_NOFUNC(H5TB_index); - - if (NULL != ptr) { - /* Termination condition is if the index equals the number of children on - out left plus the current node */ - while (ptr != NULL && indx != ((unsigned) LeftCnt(ptr)) ) { - if (indx <= (unsigned) LeftCnt(ptr)) { - ptr = ptr->Lchild; - } /* end if */ - else if (HasChild(ptr, RIGHT)) { - /* subtract children count from leftchild plus current node when - we descend into a right branch */ - indx -= (unsigned)(LeftCnt(ptr) + 1); - ptr = ptr->Rchild; - } /* end if */ - else { - /* Only `indx' or fewer nodes in tree */ - ptr=NULL; - break; - } /* end else */ - } /* end while */ - } /* end if */ - - /* Set return value */ - ret_value=ptr; - - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_index() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_dins - * - * Purpose: Insert a new node into a "described" tree, having a key value of - * `key' and a data pointer of `item'. If a node already exists in the tree - * with key value `key' or if malloc() fails, NULL is returned (no node is - * inserted), otherwise a pointer to the inserted node is returned. `cmp' and - * `arg' are as for H5TB_find(). - * - * Return: Success: Pointer to a valid H5TB node - * Failure: NULL - * - * Programmer: Quincey Koziol - * Friday, May 6, 2000 - * - * Modifications: - * - * Notes: - * - *------------------------------------------------------------------------- - */ -H5TB_NODE * -H5TB_dins(H5TB_TREE * tree, void * item, void * key) -{ - H5TB_NODE *ret_value; /* the node to return */ - - FUNC_ENTER_NOAPI_NOFUNC(H5TB_dins); - - assert(tree); - - /* Try to insert the node */ - ret_value = H5TB_ins(&(tree->root), item, key, tree->fast_compare, tree->compar, tree->cmparg); - - /* If we successfully inserted the node, increment the node count in the tree */ - if (ret_value != NULL) - tree->count++; - - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_dins() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_ins - * - * Purpose: Insert a new node into a "non-described" tree, having a key value of - * `key' and a data pointer of `item'. If a node already exists in the tree - * with key value `key' or if malloc() fails, NULL is returned (no node is - * inserted), otherwise a pointer to the inserted node is returned. `cmp' and - * `arg' are as for H5TB_find(). - * - * Return: Success: Pointer to a valid H5TB node - * Failure: NULL - * - * Programmer: Quincey Koziol - * Friday, May 6, 2000 - * - * Modifications: - * - * Notes: - * Assumes that the comparison routine is _NOT_ used for trees with - * "fast compare" set. - * - *------------------------------------------------------------------------- - */ -H5TB_NODE * -H5TB_ins(H5TB_NODE ** root, void * item, void * key, unsigned fast_compare, H5TB_cmp_t compar, int arg) -{ - int cmp; - H5TB_NODE *ptr, *parent; - H5TB_NODE *ret_value; - - FUNC_ENTER_NOAPI(H5TB_ins,NULL); - - assert(root); - assert(item); - - /* Find node in tree, or parent of where node will go */ - if(fast_compare!=0) { - if(NULL != H5TB_ffind(*root, (key ? key : item), fast_compare, &parent)) - HGOTO_ERROR (H5E_TBBT, H5E_EXISTS, NULL, "node already in tree"); - } /* end if */ - else { - if(NULL != H5TB_find(*root, (key ? key : item), compar, arg, &parent)) - HGOTO_ERROR (H5E_TBBT, H5E_EXISTS, NULL, "node already in tree"); - } /* end else */ - - if (NULL == (ptr = H5FL_MALLOC(H5TB_NODE))) - HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed"); - ptr->data = item; - ptr->key = key ? key : item; - ptr->Parent = parent; - ptr->flags = 0L; /* No children on either side */ - ptr->lcnt = 0; - ptr->rcnt = 0; - - /* Adding first node to tree: */ - if (NULL == parent) { - *root = ptr; - ptr->Lchild = ptr->Rchild = NULL; - } - else { - cmp = KEYcmp(ptr->key, parent->key, arg); - if (cmp < 0) { - ptr->Lchild = parent->Lchild; /* Parent's thread now new node's */ - ptr->Rchild = parent; /* New nodes right thread is parent */ - parent->Lchild = ptr; /* Parent now has a left child */ - } - else { - ptr->Rchild = parent->Rchild; - ptr->Lchild = parent; - parent->Rchild = ptr; - } - H5TB_balance(root, parent, (cmp < 0) ? LEFT : RIGHT, 1); - } /* end else */ - - /* Set return value */ - ret_value=ptr; - -done: - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_ins() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_rem - * - * Purpose: Remove a node from a tree. You pass in the address of the - * pointer to the root node of the tree along, a pointer to the node you wish - * to remove, and optionally the address of a pointer to hold the address of - * the key value of the deleted node. The second argument is usually the - * result from a lookup function call (H5TB_find, H5TB_dfind, or H5TB_index) - * so if it is NULL, H5TB_rem returns NULL. Otherwise H5TB_rem removes the - * node from the tree and returns a pointer to the data item for that node and, - * if the third argument is not NULL, the address of the key value for the - * deleted node is placed in the buffer that it points to. - * - * Examples: - * data= H5TB_rem( tree, H5TB_dfind(tree,key), &kp ); free(data); free(kp); - * data= H5TB_rem( &root, H5TB_find(root,key,compar,arg), NULL ); - * data= H5TB_rem( &tree->root, H5TB_dfind(tree,key), NULL ); - * - * Return: Success: Pointer to data item deleted - * Failure: NULL - * - * Programmer: Quincey Koziol - * Friday, May 6, 2000 - * - * Modifications: - * - * Notes: - * - * WARNING!!! - * - * H5TB_rem() may not delete the node specified in its parameter - * list -- if the target node is internal, it may swap data with a - * leaf node and delete the leaf instead. - * - * This implies that any pointer to a node in the supplied tree may be - * invalid after this functions returns. Thus any function retaining - * such pointers over a call to H5TB_rem() should either discard, or - * refresh them. - * - * JRM - 4/9/04 - * - *------------------------------------------------------------------------- - */ -void * -H5TB_rem(H5TB_NODE ** root, H5TB_NODE * node, void * *kp) -{ - H5TB_NODE *leaf; /* Node with one or zero children */ - H5TB_NODE *par; /* Parent of `leaf' */ - H5TB_NODE *next; /* Next/prev node near `leaf' (`leaf's `side' thread) */ - int side; /* `leaf' is `side' child of `par' */ - void * data; /* Saved pointer to data item of deleted node */ - void *ret_value; /* Return value */ - - FUNC_ENTER_NOAPI(H5TB_rem, NULL); - - if (NULL == root || NULL == node) - HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, NULL, "bad arguments to delete"); - - data = node->data; /* Save pointer to data item to be returned at end */ - if (NULL != kp) - *kp = node->key; - - /* If the node to be removed is "internal" (children on both sides), we - * replace it with it's previous (or next) node in the tree and delete that - * previous (next) node (which has one or no children) instead. */ - - /* Replace with a non-internal node: */ - if (Intern(node)) { - /* Pick "near-leaf" node from the */ - if (Heavy(node, RIGHT)) { - side = LEFT; /* heavier of the sub-trees. */ - } - else if (Heavy(node, LEFT)) { - side = RIGHT; - } - /* If no sub-tree heavier, pick at "random" for "better balance" */ - else { - side = (0x10 & *(short *) &node) ? LEFT : RIGHT; /* balance" */ - } - leaf = H5TB_nbr(next = node, Other(side)); - par = leaf->Parent; - - /* Case 2x: `node' had exactly 2 descendants */ - if (par == next) { - side = Other(side); /* Transform this to Case 2 */ - next = leaf->link[side]; - } - node->data = leaf->data; - node->key = leaf->key; - } /* end if */ - /* Node has one or zero children: */ - else { - leaf = node; /* Simply remove THIS node */ - par = leaf->Parent; - - /* Case 3: Remove root (of 1- or 2-node tree) */ - if (NULL == par) { - side = (int) UnBal(node); /* Which side root has a child on */ - - /* Case 3a: Remove root of 2-node tree: */ - if (side) { - *root = leaf = node->link[side]; - leaf->Parent = leaf->link[Other(side)] = NULL; - leaf->flags = 0; /* No left children, balanced, not internal */ - } - /* Case 3b: Remove last node of tree: */ - else { - *root = NULL; - } /* end else */ - H5FL_FREE(H5TB_NODE,node); - HGOTO_DONE(data); - } - side = (par->Rchild == leaf) ? RIGHT : LEFT; - next = leaf->link[side]; - } /* end else */ - - /* Now the deletion has been reduced to the following cases (and Case 3 has - * been handled completely above and Case 2x has been transformed into - * Case 2). `leaf' is a node with one or zero children that we are going - * to remove. `next' points where the `side' thread of `leaf' points. - * `par' is the parent of `leaf'. The only posibilities (not counting - * left/right reversals) are shown below: - * [Case 1] [Case 2] [Case 2x] - * (next) (next) ^ (next & par) - * / ^ \ / ^ \ | / ^ \ - * . . . | . . . | | (leaf) / - * / | / | \_/ \_/ - * (par) | (par) | ^threads^ - * \ | \ | - * (leaf) / (leaf) / [Case 3a] [Case 3b] - * / ^ \_/ (n) - * Note that in Cases 1 and 2, `leaf's `side' thread can be NULL making - * `next' NULL as well. If you remove a node from a 2-node tree, removing - * the root falls into Case 3a while removing the only leaf falls into - * Case 2 (with `next' NULL and `par' the root node). */ - - /* Case 2: `leaf' has no children: */ - if (!UnBal(leaf)) { - par->link[side] = leaf->link[side]; - par->flags &= (H5TB_flag)(~(H5TB_INTERN | H5TB_HEAVY(side))); - } /* end if */ - /* Case 1: `leaf' has one child: */ - else { - H5TB_NODE *n; - - /* two-in-a-row cases */ - if (HasChild(leaf, side)) { - n = leaf->link[side]; - par->link[side] = n; - n->Parent = par; - if (HasChild(n, Other(side))) - while (HasChild(n, Other(side))) - n = n->link[Other(side)]; - n->link[Other(side)] = par; - } /* end if */ - /* zig-zag cases */ - else { - n = leaf->link[Other(side)]; - par->link[side] = n; - n->Parent = par; - if (HasChild(n, side)) - while (HasChild(n, side)) - n = n->link[side]; - n->link[side] = next; - } /* end else */ - } /* end else */ - - H5FL_FREE(H5TB_NODE,leaf); - H5TB_balance(root, par, side, -1); - - /* Set return value */ - ret_value=data; - -done: - if(ret_value) - ((H5TB_TREE *) root)->count--; - - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_rem() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_dfree - * - * Purpose: Frees up an entire tree. `fd' is a pointer to a function that - * frees/destroys data items, and `fk' is the same for key values. - * void free(); - * tree= tbbtdfree( tree, free, free ); - * H5TB_free( &root, free, free ); - * is a typical usage, where keys and data are individually malloc()d. If `fk' - * is NULL, no action is done for the key values (they were allocated on the - * stack, as a part of each data item, or together with one malloc() call, for - * example) and likewise for `fd'. H5TB_dfree() always returns NULL and - * H5TB_free() always sets `root' to be NULL. - * - * Return: Always returns NULL - * - * Programmer: Quincey Koziol - * Friday, May 6, 2000 - * - * Modifications: - * - * Notes: - * - *------------------------------------------------------------------------- - */ -H5TB_TREE * -H5TB_dfree(H5TB_TREE * tree, void(*fd) (void * /* item */), void(*fk) (void * /* key */)) -{ - H5TB_TREE *ret_value=NULL; /* Return value */ - - FUNC_ENTER_NOAPI_NOFUNC(H5TB_dfree); - - if (tree != NULL) { - /* Free the actual tree */ - H5TB_free(&tree->root, fd, fk); - - /* Free the tree root */ - H5FL_FREE(H5TB_TREE,tree); - } /* end if */ - - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_dfree() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_free - * - * Purpose: Frees up an entire tree. `fd' is a pointer to a function that - * frees/destroys data items, and `fk' is the same for key values. - * void free(); - * tree= tbbtdfree( tree, free, free ); - * H5TB_free( &root, free, free ); - * is a typical usage, where keys and data are individually malloc()d. If `fk' - * is NULL, no action is done for the key values (they were allocated on the - * stack, as a part of each data item, or together with one malloc() call, for - * example) and likewise for `fd'. H5TB_dfree() always returns NULL and - * H5TB_free() always sets `root' to be NULL. - * - * Return: Always returns NULL - * - * Programmer: Quincey Koziol - * Friday, May 6, 2000 - * - * Modifications: - * - * Notes: - * - *------------------------------------------------------------------------- - */ -void * -H5TB_free(H5TB_NODE ** root, void(*fd) (void * /* item */), void(*fk) (void * /* key */)) -{ - H5TB_NODE *par, *node = *root; - void *ret_value=NULL; /* Return value */ - - FUNC_ENTER_NOAPI_NOFUNC(H5TB_free); - - /* While nodes left to be free()d */ - while (NULL != *root) { - /* First time at this node (just moved down a new leg of tree) */ - if (!HasChild(node, LEFT)) - node->Lchild = NULL; - if (!HasChild(node, RIGHT)) - node->Rchild = NULL; - do { - par = NULL; /* Assume we aren't ready to move up tree yet */ - if (NULL != node->Lchild) - node = node->Lchild; /* Move down this leg next */ - else if (NULL != node->Rchild) - node = node->Rchild; /* Move down this leg next */ - /* No children; free node an move up: */ - else { - par = node->Parent; /* Move up tree (stay in loop) */ - if (NULL != fd) - (*fd) (node->data); - if (NULL != fk) - (*fk) (node->key); - if (NULL == par) /* Just free()d last node */ - *root = NULL; /* NULL=par & NULL=*root gets fully out */ - else if (node == par->Lchild) - par->Lchild = NULL; /* Now no longer has this child */ - else - par->Rchild = NULL; /* Ditto */ - - H5FL_FREE(H5TB_NODE,node); - - node = par; /* Move up tree; remember which node to do next */ - } /* end else */ - } while (NULL != par); /* While moving back up tree */ - } /* end while */ - - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_free() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_count - * - * Purpose: Returns the number of nodes in a tree - * - * Return: Success - Number of nodes in the tree - * Failure - Negative value - * - * Programmer: Quincey Koziol - * Friday, May 6, 2000 - * - * Modifications: - * - * Notes: - * - *------------------------------------------------------------------------- - */ -long -H5TB_count(H5TB_TREE * tree) -{ - long ret_value; /* Return value */ - - FUNC_ENTER_NOAPI_NOFUNC(H5TB_count); - - /* Set return value */ - ret_value= (tree==NULL) ? FAIL : (long)tree->count; - - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_count() */ - -#ifdef H5TB_DEBUG - - -/*------------------------------------------------------------------------- - * Function: H5TB_dump - * - * Purpose: Prints out information about an entire tree. - * The 'method' variable determines which sort of traversal is used: - * -1 : Pre-Order Traversal - * 1 : Post-Order Traversal - * 0 : In-Order Traversal - * - * Return: Shouldn't fail - * - * Programmer: Quincey Koziol - * Friday, May 6, 2000 - * - * Modifications: - * - * Notes: - * - *------------------------------------------------------------------------- - */ -herr_t -H5TB_dump(H5TB_TREE *tree, void (*key_dump)(void *,void *), int method) -{ - FUNC_ENTER_NOAPI_NOFUNC(H5TB_dump); - - printf("H5TB-tree dump %p:\n",tree); - printf("capacity = %ld\n\n",(long)tree->count); - H5TB_dumpNode(tree->root,key_dump, method); - - FUNC_LEAVE_NOAPI(SUCCESS); -} /* end H5TB_dump() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_printNode - * - * Purpose: Prints out information about a node in the tree - * - * Return: Shouldn't fail - * - * Programmer: Quincey Koziol - * Friday, May 6, 2000 - * - * Modifications: - * - * Notes: - * - *------------------------------------------------------------------------- - */ -static herr_t -H5TB_printNode(H5TB_NODE * node, void(*key_dump)(void *,void *)) -{ - herr_t ret_value=SUCCEED; /* Return value */ - - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_printNode); - - if (node == NULL) { - printf("ERROR: null node pointer\n"); - HGOTO_DONE(FAIL); - } - - printf("node=%p, key=%p, data=%p, flags=%x\n", node, node->key, node->data, (unsigned) node->flags); - printf("Lcnt=%d, Rcnt=%d\n", (int) node->lcnt, (int) node->rcnt); - printf("Lchild=%p, Rchild=%p, Parent=%p\n", node->Lchild, node->Rchild, node->Parent); - if (key_dump != NULL) - (*key_dump)(node->key,node->data); - -done: - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_printNode() */ - - -/*------------------------------------------------------------------------- - * Function: H5TB_dumpNode - * - * Purpose: Internal routine to actually dump tree - * The 'method' variable determines which sort of traversal is used: - * -1 : Pre-Order Traversal - * 1 : Post-Order Traversal - * 0 : In-Order Traversal - * - * Return: Shouldn't fail - * - * Programmer: Quincey Koziol - * Friday, May 6, 2000 - * - * Modifications: - * - * Notes: - * - *------------------------------------------------------------------------- - */ -static herr_t -H5TB_dumpNode(H5TB_NODE *node, void (*key_dump)(void *,void *), - int method) -{ - herr_t ret_value=SUCCEED; /* Return value */ - - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_dumpNode); - - if (node == NULL) - HGOTO_DONE(FAIL); - - switch (method) { - case -1: /* Pre-Order Traversal */ - H5TB_printNode(node, key_dump); - if (HasChild(node, LEFT)) - H5TB_dumpNode(node->Lchild, key_dump, method); - if (HasChild(node, RIGHT)) - H5TB_dumpNode(node->Rchild, key_dump, method); - break; - - case 1: /* Post-Order Traversal */ - if (HasChild(node, LEFT)) - H5TB_dumpNode(node->Lchild, key_dump, method); - if (HasChild(node, RIGHT)) - H5TB_dumpNode(node->Rchild, key_dump, method); - H5TB_printNode(node, key_dump); - break; - - case 0: /* In-Order Traversal */ - default: - if (HasChild(node, LEFT)) - H5TB_dumpNode(node->Lchild, key_dump, method); - H5TB_printNode(node, key_dump); - if (HasChild(node, RIGHT)) - H5TB_dumpNode(node->Rchild, key_dump, method); - break; - - } /* end switch() */ - -done: - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_dumpNode() */ - -#endif /* H5TB_DEBUG */ - - - -/*------------------------------------------------------------------------- - * Function: H5TB_end - * - * Purpose: Returns pointer to end-most (to LEFT or RIGHT) node of tree: - * - * Return: Success: Valid pointer - * Failure: NULL - * - * Programmer: Quincey Koziol - * Saturday, April 22, 2000 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -H5TB_NODE * -H5TB_end(H5TB_NODE * root, int side) -{ - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_end); - - assert(side==LEFT || side==RIGHT); - - if(root) - while (HasChild(root, side)) - root = root->link[side]; - - FUNC_LEAVE_NOAPI(root); -} /* end H5TB_end() */ - -/* Returns pointer to neighboring node (to LEFT or RIGHT): */ -H5TB_NODE * -H5TB_nbr(H5TB_NODE * ptr, int side) -{ - H5TB_NODE *ret_value; /* Return value */ - - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_nbr); - - if (!HasChild(ptr, side)) - HGOTO_DONE (ptr->link[side]); - ptr = ptr->link[side]; - if(ptr==NULL) - HGOTO_DONE(NULL); - while (HasChild(ptr, Other(side))) - ptr = ptr->link[Other(side)]; - - /* Set return value */ - ret_value=ptr; - -done: - FUNC_LEAVE_NOAPI(ret_value); -} /* end H5TB_nbr() */ - -/* H5TB_ffind -- Look up a node in a tree based on a key value */ -/* This routine is based on tbbtfind (fix bugs in both places!) */ -/* Returns a pointer to the found node (or NULL) */ -static H5TB_NODE * -H5TB_ffind(H5TB_NODE * ptr, const void * key, unsigned fast_compare, H5TB_NODE ** pp) -{ - H5TB_NODE *parent = NULL; - - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_ffind); - - if(ptr) { - switch(fast_compare) { - case H5TB_FAST_HADDR_COMPARE: - { - haddr_t key_val=*(const haddr_t *)key; - - while (key_val != *(haddr_t *)ptr->key) { - parent = ptr; - if(key_val < *(haddr_t *)ptr->key) { - if(!LeftCnt(ptr)) { - ptr=NULL; - break; - } /* end if */ - ptr = ptr->link[LEFT]; - } /* end if */ - else { - if(!RightCnt(ptr)) { - ptr=NULL; - break; - } /* end if */ - ptr = ptr->link[RIGHT]; - } /* end else */ - } /* end while */ - } /* end case */ - break; - - case H5TB_FAST_INTN_COMPARE: - { - int key_val=*(const int *)key; - - while (key_val != *(int *)ptr->key) { - parent = ptr; - if(key_val < *(int *)ptr->key) { - if(!LeftCnt(ptr)) { - ptr=NULL; - break; - } /* end if */ - ptr = ptr->link[LEFT]; - } /* end if */ - else { - if(!RightCnt(ptr)) { - ptr=NULL; - break; - } /* end if */ - ptr = ptr->link[RIGHT]; - } /* end else */ - } /* end while */ - } /* end case */ - break; - - case H5TB_FAST_STR_COMPARE: - { - int cmp; - - while (0 != (cmp = HDstrcmp(key,ptr->key))) { - parent = ptr; - if(cmp<0) { - if(!LeftCnt(ptr)) { - ptr=NULL; - break; - } /* end if */ - ptr = ptr->link[LEFT]; - } /* end if */ - else { - if(!RightCnt(ptr)) { - ptr=NULL; - break; - } /* end if */ - ptr = ptr->link[RIGHT]; - } /* end else */ - } /* end while */ - } /* end case */ - break; - - case H5TB_FAST_HSIZE_COMPARE: - { - hsize_t key_val=*(const hsize_t *)key; - - while (key_val != *(hsize_t *)ptr->key) { - parent = ptr; - if(key_val < *(hsize_t *)ptr->key) { - if(!LeftCnt(ptr)) { - ptr=NULL; - break; - } /* end if */ - ptr = ptr->link[LEFT]; - } /* end if */ - else { - if(!RightCnt(ptr)) { - ptr=NULL; - break; - } /* end if */ - ptr = ptr->link[RIGHT]; - } /* end else */ - } /* end while */ - } /* end case */ - break; - - default: - assert("invalid fast compare type" && 0); - break; - } /* end switch */ - } /* end if */ - - if (NULL != pp) - *pp = parent; - - FUNC_LEAVE_NOAPI(ptr); -} /* H5TB_ffind() */ - -/* swapkid -- Often refered to as "rotating" nodes. ptr and ptr's `side' - * child, kid, are swapped so ptr becomes kid's `Other(side)' child. - * Here is how a single swap (rotate) works: - * - * | --side--> | - * (ptr) (kid) - * / \ / \ - * +-A-+ (kid) (ptr) +-C-+ - * | | / \ / \ | | - * |...| +-B-+ +-C-+ +-A-+ +-B-+ |...| - * | | | | | | | | - * |...| |...| |...| |...| - * `deep' contains the relative depths of the subtrees so, since we set - * `deep[1]' (the relative depth of subtree [B]) to 0, `deep[2]' is the depth - * of [C] minus the depth of [B] (-1, 0, or 1 since `kid' is never too out of - * balance) and `deep[0]' is the depth of [A] minus the depth of [B]. These - * values are used to compute the balance levels after the rotation. Note that - * [A], [B], or [C] can have depth 0 so `link[]' contains threads rather than - * pointers to children. - */ -static H5TB_NODE * -H5TB_swapkid(H5TB_NODE ** root, H5TB_NODE * ptr, int side) -{ - H5TB_NODE *kid = ptr->link[side]; /* Sibling to be swapped with parent */ - int deep[3]; /* Relative depths of three sub-trees involved. */ - /* 0:ptr->link[Other(side)], 1:kid->link[Other(side)], 2:kid->link[side] */ - H5TB_flag ptrflg; /* New value for ptr->flags (ptr->flags used after set) */ - H5TB_leaf plcnt, prcnt, /* current values of the ptr's and kid's leaf count */ - klcnt, krcnt; - - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_swapkid); - - deep[2] = (deep[1] = 0) + Delta(kid, side); - deep[0] = Max(0, deep[2]) + 1 - Delta(ptr, side); - kid->Parent = ptr->Parent; - ptrflg = (H5TB_flag)SetFlags(ptr, side, deep[0], - HasChild(ptr, Other(side)) && HasChild(kid, Other(side))); - plcnt = LeftCnt(ptr); - prcnt = RightCnt(ptr); - klcnt = LeftCnt(kid); - krcnt = RightCnt(kid); - if (HasChild(kid, Other(side))) { - ptr->link[side] = kid->link[Other(side)]; /* Real child */ - ptr->link[side]->Parent = ptr; - } - else { - ptr->link[side] = kid; /* Thread */ - } - /* Update grand parent's pointer: */ - if (NULL == ptr->Parent) { - *root = kid; - } - else if (ptr /*->Lchild*/ == ptr->Parent->Lchild) { - ptr->Parent->Lchild = kid; - } - else { - ptr->Parent->Rchild = kid; - } - ptr->Parent = kid; - kid->link[Other(side)] = ptr; - kid->flags = (H5TB_flag)SetFlags(kid, Other(side), - deep[2] - 1 - Max(deep[0], 0), HasChild(kid, side)); - - /* update leaf counts */ - if (side == LEFT) { /* kid's left count doesn't change, nor ptr's r-count */ - kid->rcnt = prcnt + krcnt + 1; /* kid's leafs+former parent's leafs+parent */ - ptr->lcnt = krcnt; - } /* end if */ - else { /* kid's right count doesn't change, nor ptr's l-count */ - kid->lcnt = plcnt + klcnt + 1; /* kid's leafs+former parent's leafs+parent */ - ptr->rcnt = klcnt; - } /* end if */ - ptr->flags = ptrflg; - - FUNC_LEAVE_NOAPI(kid); -} /* end H5TB_swapkid() */ - -/* balance -- Move up tree, incrimenting number of left children when needed - * and looking for unbalanced ancestors. Adjust all balance factors and re- - * balance through "rotation"s when needed. - */ -/* Here is how rotatation rebalances a tree: - * Either the deletion of a node shortened the sub-tree [A] (to length `h') - * while [B] or [C] or both are length `h+1' or the addition of a node - * lengthened [B] or [C] to length `h+1' while the other and [A] are both - * length `h'. Each case changes `ptr' from being "right heavy" to being - * overly unbalanced. - * This | Becomes: | - * sub-tree: (ptr) (kid) - * / \ --side--> / \ - * +-A-+ (kid) (ptr) +-C-+ - * | | / \ / \ | | - * | h | +-B-+ +-C-+ +-A-+ +-B-+ | h | - * | | | | | | | | | | | | - * +---+ | h | | h | | h | | h | +---+ - * : - : | | | | | | | | : 1 : - * `- -' +---+ +---+ +---+ +---+ + - + - * : 1 : : 1 : : 1 : - * + - + + - + + - + - * - * However, if [B] is long (h+1) while [C] is short (h), a double rotate is - * required to rebalance. In this case, [A] was shortened or [X] or [Y] was - * lengthened so [A] is length `h' and one of [X] and [Y] is length `h' while - * the other is length `h-1'. Swap `kid' with `babe' then `ptr' with `babe'. - * This | Becomes: | - * sub-tree: (ptr) (babe) - * / \ --side--> / \ - * +-A-+ (kid) (ptr) (kid) - * | | / \ / \ / \ - * | h | (babe) +-C-+ +-A-+ +-X-+ +-Y-+ +-C-+ - * | | / \ | | | | |h-1| |h-1| | | - * +---+ +-X-+ +-Y-+ | h | | h | +---+ +---+ | h | - * : - : |h-1| |h-1| | | | | : 1 : : 1 : | | - * `- -' +---+ +---+ +---+ +---+ + - + + - + +---+ - * : 1 : : 1 : - * + - + + - + - * - * Note that in the node insertion cases total sub-tree length always increases - * by one then decreases again so after the rotation(s) no more rebalancing is - * required. In the node removal cases, the single rotation reduces total sub- - * tree length unless [B] is length `h+1' (`ptr' ends of "right heavy") while - * the double rotation ALWAYS reduces total sub-tree length. Thus removing a - * single node can require log(N) rotations for rebalancing. On average, only - * are usually required. - */ -static herr_t -H5TB_balance(H5TB_NODE ** root, H5TB_NODE * ptr, int side, int added) -{ - H5TB_leaf olcnt, orcnt; /* Old left & right counts for node */ - H5TB_flag odouble; /* Old 'double' status */ - int deeper = added; /* 1 if sub-tree got longer; -1 if got shorter */ - int odelta; - - FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5TB_balance); - - while (NULL != ptr) { - olcnt = LeftCnt(ptr); - orcnt = RightCnt(ptr); - odouble = Double(ptr); - if (LEFT == side) /* One more/fewer left child: */ - if (0 < added) - ptr->lcnt++; /* LeftCnt(ptr)++ */ - else - ptr->lcnt--; /* LeftCnt(ptr)-- */ - else if (0 < added) - ptr->rcnt++; /* RightCnt(ptr)++ */ - else - ptr->rcnt--; /* RightCnt(ptr)-- */ - if (0 != deeper) - { /* One leg got longer or shorter: */ - odelta = DeltaCnt(olcnt, orcnt, odouble, side); /* compute delta before the node was added */ - if ((deeper < 0 && odelta < 0) || (deeper > 0 && odelta > 0)) - { /* Became too unbalanced: */ - H5TB_NODE *kid; - - ptr->flags |= H5TB_DOUBLE; /* Mark node too unbalanced */ - if (deeper < 0) /* Just removed a node: */ - side = Other(side); /* Swap with child from other side. */ - else - /* Just inserted a node: */ if (ptr->Parent && UnBal(ptr->Parent)) - { - deeper = 0; /* Fix will re-shorten sub-tree. */ - } - kid = ptr->link[side]; - if (Heavy(kid, Other(side))) - { /* Double rotate needed: */ - kid = H5TB_swapkid(root, kid, Other(side)); - ptr = H5TB_swapkid(root, ptr, side); - } - else - { /* Just rotate parent and kid: */ - if (HasChild(kid, side)) /* In this case, sub-tree gets */ - if (ptr->Parent && UnBal(ptr->Parent)) - { - deeper = 0; /* re-lengthened after a node removed. */ - } - ptr = H5TB_swapkid(root, ptr, side); - } - } - else if (olcnt!=orcnt) - { /* Just became balanced: */ - ptr->flags &= ~H5TB_UNBAL; - if (0 < deeper) - { /* Shorter of legs lengthened */ - ptr->flags |= H5TB_INTERN; /* Mark as internal node now */ - deeper = 0; /* so max length unchanged */ - } /* end if */ - } - else if (deeper < 0) - { /* Just became unbalanced: */ - if (ptr->link[Other(side)] != NULL && ptr->link[Other(side)]->Parent == ptr) - { - ptr->flags |= (H5TB_flag)H5TB_HEAVY(Other(side)); /* Other side longer */ - if (ptr->Parent) { - if (ptr->Parent->Rchild == ptr) { - /* we're the right child */ - if (Heavy(ptr->Parent, RIGHT) && LeftCnt(ptr->Parent) == 1) { - deeper = 0; - } else { - /* we're the left child */ - if (Heavy(ptr->Parent, LEFT)) { - if (ptr->Parent->Rchild && !UnBal(ptr->Parent->Rchild)) { - deeper = 0; - } - } - } - } - } - } - } - else - { /* Just became unbalanced: */ - ptr->flags |= (H5TB_flag)H5TB_HEAVY(side); /* 0Parent) - { - if (ptr == (ptr->Parent->Rchild)) - side = RIGHT; - else - side = LEFT; - } /* end if */ - ptr = ptr->Parent; /* Move up the tree */ - } - /* total tree depth += deeper; */ - FUNC_LEAVE_NOAPI(SUCCEED); -} /* end H5TB_balance() */ - diff --git a/src/H5TBprivate.h b/src/H5TBprivate.h deleted file mode 100644 index 355fcef..0000000 --- a/src/H5TBprivate.h +++ /dev/null @@ -1,152 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/*------------------------------------------------------------------------- - * - * Created: H5TBprivate.h - * Apr 22 2000 - * Quincey Koziol - * - * Purpose: Private non-prototype header. - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -#ifndef _H5TBprivate_H -#define _H5TBprivate_H - -/* Public headers needed by this file */ -#ifdef LATER -#include "H5TBpublic.h" /*Public API prototypes */ -#endif /* LATER */ - -/* Typedef for key comparison function */ -typedef int (*H5TB_cmp_t)(const void *k1, const void *k2, int cmparg); - -/* Shortcut macros for links */ -# define PARENT 0 -# define LEFT 1 -# define RIGHT 2 - -# define Parent link[PARENT] -# define Lchild link[LEFT] -# define Rchild link[RIGHT] - -/* Tree-balancing flags */ -# define H5TB_HEAVY(s) s /* If the `s' sub-tree is deeper than the other */ -# define H5TB_DOUBLE 4 /* If "heavy" sub-tree is two levels deeper */ -# define H5TB_INTERN 8 /* If node is internal (has two children) */ -# define H5TB_UNBAL ( H5TB_HEAVY(LEFT) | H5TB_HEAVY(RIGHT) ) -# define H5TB_FLAGS ( H5TB_UNBAL | H5TB_INTERN | H5TB_DOUBLE ) -# define H5TB_CHILD(s) ( H5TB_INTERN | H5TB_HEAVY(s) ) - -/* Internal macros */ -# define LeftCnt(node) ( (node)->lcnt ) /* Left descendants */ -# define RightCnt(node) ( (node)->rcnt ) /* Right descendants */ -# define Cnt(node,s) ( LEFT==(s) ? LeftCnt(node) : RightCnt(node) ) -# define HasChild(n,s) ( Cnt(n,s)>0 ) -# define Heavy(n,s) ( (s) & (LeftCnt(n)>RightCnt(n) ? LEFT : \ - LeftCnt(n)==RightCnt(n) ? 0 : RIGHT)) -# define HeavyCnt(l,r,s) ( (s) & ((l)>(r) ? LEFT : (l)==(r) ? 0 : RIGHT)) -# define Intern(n) ( LeftCnt(n) && RightCnt(n) ) -# define UnBal(n) ( LeftCnt(n)>RightCnt(n) ? LEFT : \ - LeftCnt(n)==RightCnt(n) ? 0 : RIGHT) -# define UnBalanced(n) ( LeftCnt(n)!=RightCnt(n) ) -# define UnBalancedCnt(l,r) ( (l)!=(r) ) -# define Double(n) ( H5TB_DOUBLE & (n)->flags ) -# define Other(side) ( LEFT + RIGHT - (side) ) -# define Weight(n) ( Double(n) ? 2 : UnBalanced(n) ) -# define WeightCnt(l,r,d) ( (d) ? 2 : UnBalancedCnt(l,r) ) -# define Delta(n,s) ( Heavy(n,s) ? Weight(n) : -Weight(n) ) -# define DeltaCnt(l,r,d,s) ( HeavyCnt(l,r,s) ? WeightCnt(l,r,d) : \ - -WeightCnt(l,r,d) ) -# define SetFlags(n,s,b,i) ( ( -2<(b) && (b)<2 ? 0 : H5TB_DOUBLE ) \ - | ( 0>(b) ? H5TB_HEAVY(s) : (b)>0 ? H5TB_HEAVY(Other(s)) : 0 ) \ - | ( (i) ? H5TB_INTERN : 0 ) ) - -/* Internal types for flags & leaf counts */ -typedef unsigned long H5TB_flag; -typedef unsigned long H5TB_leaf; - -/* Threaded node structure */ -typedef struct H5TB_node -{ - void * data; /* Pointer to user data to be associated with node */ - void * key; /* Field to sort nodes on */ - - struct H5TB_node *link[3]; /* Pointers to parent, left child, and right child */ - H5TB_flag flags; /* Combination of the bit fields */ - H5TB_leaf lcnt; /* count of left children */ - H5TB_leaf rcnt; /* count of right children */ -} H5TB_NODE; - -/* Threaded tree structure */ -typedef struct H5TB_tree -{ - H5TB_NODE *root; /* Pointer to actual root of tbbt tree */ - unsigned long count; /* The number of nodes in the tree currently */ - unsigned fast_compare; /* use a faster in-line compare (with casts) instead of function call */ - H5TB_cmp_t compar; /* Key comparison function */ - int cmparg; -} H5TB_TREE; - -/* Define the "fast compare" values */ -#define H5TB_FAST_HADDR_COMPARE 1 -#define H5TB_FAST_INTN_COMPARE 2 -#define H5TB_FAST_STR_COMPARE 3 -#define H5TB_FAST_HSIZE_COMPARE 4 - -/* Define an access macro for getting a node's data */ -#define H5TB_NODE_DATA(n) ((n)->data) - -/* Define some "function-like" macros */ -#define H5TB_first(root) H5TB_end(root,LEFT) -#define H5TB_last(root) H5TB_end(root,RIGHT) -#define H5TB_next(node) H5TB_nbr(node,RIGHT) -#define H5TB_prev(node) H5TB_nbr(node,LEFT) - -#if defined c_plusplus || defined __cplusplus -extern "C" -{ -#endif /* c_plusplus || __cplusplus */ - -H5_DLL H5TB_TREE *H5TB_dmake (H5TB_cmp_t cmp, int arg, unsigned fast_compare); -H5_DLL H5TB_TREE *H5TB_fast_dmake (unsigned fast_compare); -H5_DLL H5TB_NODE *H5TB_dfind (H5TB_TREE * tree, const void * key, H5TB_NODE ** pp); -H5_DLL H5TB_NODE *H5TB_find(H5TB_NODE * root, const void * key, H5TB_cmp_t cmp, - int arg, H5TB_NODE ** pp); -H5_DLL H5TB_NODE *H5TB_dless (H5TB_TREE * tree, void * key, H5TB_NODE ** pp); -H5_DLL H5TB_NODE *H5TB_less (H5TB_NODE * root, void * key, H5TB_cmp_t cmp, - int arg, H5TB_NODE ** pp); -H5_DLL H5TB_NODE *H5TB_index (H5TB_NODE * root, unsigned indx); -H5_DLL H5TB_NODE *H5TB_dins (H5TB_TREE * tree, void * item, void * key); -H5_DLL H5TB_NODE *H5TB_ins (H5TB_NODE ** root, void * item, void * key, unsigned fast_compare, H5TB_cmp_t cmp, int arg); -H5_DLL void *H5TB_rem(H5TB_NODE ** root, H5TB_NODE * node, void * *kp); -H5_DLL H5TB_TREE *H5TB_dfree (H5TB_TREE * tree, void(*fd) (void *), void(*fk) (void *)); -H5_DLL void *H5TB_free (H5TB_NODE ** root, void(*fd) (void *), void(*fk) (void *)); -H5_DLL long H5TB_count (H5TB_TREE * tree); -H5_DLL H5TB_NODE * H5TB_end(H5TB_NODE * root, int side); -H5_DLL H5TB_NODE *H5TB_nbr(H5TB_NODE * ptr, int side); - -#ifdef H5TB_DEBUG -H5_DLL herr_t H5TB_dump(H5TB_TREE *ptree, void (*key_dump)(void *,void *), int method); -#endif /* H5TB_DEBUG */ - -#if defined c_plusplus || defined __cplusplus -} -#endif /* c_plusplus || __cplusplus */ - -#endif /* _H5TBprivate_H */ - diff --git a/src/Makefile.in b/src/Makefile.in index 5e1b653..2fadb8e 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -46,7 +46,7 @@ LIB_SRC=H5.c H5A.c H5AC.c H5B.c H5C.c H5D.c H5Dcontig.c H5Dcompact.c H5Defl.c \ H5Tbit.c \ H5Tcommit.c H5Tcompound.c H5Tconv.c H5Tcset.c H5Tenum.c H5Tfields.c \ H5Tfixed.c H5Tfloat.c H5Tinit.c H5Tnative.c H5Toffset.c H5Topaque.c \ - H5Torder.c H5Tpad.c H5Tprecis.c H5Tstrpad.c H5Tvlen.c H5TB.c H5TS.c \ + H5Torder.c H5Tpad.c H5Tprecis.c H5Tstrpad.c H5Tvlen.c H5TS.c \ H5V.c H5Z.c H5Zdeflate.c H5Zfletcher32.c H5Zshuffle.c H5Zszip.c \ H5Znbit.c H5Ztrans.c @@ -73,7 +73,7 @@ PRIVATE_HDR=H5private.h H5Aprivate.h H5Apkg.h H5ACprivate.h H5Bprivate.h \ H5HGpkg.h H5HLprivate.h H5HLpkg.h H5HPprivate.h H5Iprivate.h \ H5MFprivate.h H5MMprivate.h H5Oprivate.h H5Opkg.h H5Pprivate.h \ H5Ppkg.h H5Rprivate.h H5RCprivate.h H5RSprivate.h H5Sprivate.h \ - H5SLprivate.h H5STprivate.h H5Tprivate.h H5TBprivate.h H5Tpkg.h \ + H5SLprivate.h H5STprivate.h H5Tprivate.h H5Tpkg.h \ H5TSprivate.h H5Vprivate.h H5Zprivate.h H5Zpkg.h H5config.h ## Error header generation diff --git a/src/hdf5.lnt b/src/hdf5.lnt index aa8f241..f8d4347 100755 --- a/src/hdf5.lnt +++ b/src/hdf5.lnt @@ -34,7 +34,6 @@ -esym(534, H5I_clear_type, H5I_dec_type_ref) -esym(534, H5MM_xfree) -esym(534, H5RC_decr) --esym(534, H5TB_dfree) -esym(534, H5V_array_fill) // Turn off warnings about not using PABLO_MASK macro diff --git a/test/Dependencies b/test/Dependencies index d452485..73d4b4a 100644 --- a/test/Dependencies +++ b/test/Dependencies @@ -230,10 +230,11 @@ cache.lo: \ $(top_srcdir)/src/H5MPprivate.h \ $(top_srcdir)/src/H5FSprivate.h \ $(top_srcdir)/src/H5Iprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5Cpkg.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ - $(top_srcdir)/src/H5Fprivate.h + $(top_srcdir)/src/H5Fprivate.h \ + $(top_srcdir)/src/H5SLprivate.h cmpd_dset.lo: \ $(top_srcdir)/test/cmpd_dset.c \ $(top_srcdir)/src/H5Tpkg.h \ @@ -764,13 +765,13 @@ istore.lo: \ $(top_srcdir)/src/H5Oprivate.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Bprivate.h \ $(top_srcdir)/src/H5ACprivate.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Zprivate.h \ @@ -779,7 +780,7 @@ istore.lo: \ $(top_srcdir)/src/H5Pprivate.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5Vprivate.h lheap.lo: \ $(top_srcdir)/test/lheap.c \ @@ -1004,13 +1005,13 @@ ohdr.lo: \ $(top_srcdir)/src/H5Oprivate.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Bprivate.h \ $(top_srcdir)/src/H5ACprivate.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Zprivate.h \ @@ -1395,19 +1396,19 @@ tgenprop.lo: \ $(top_srcdir)/src/H5Oprivate.h \ $(top_srcdir)/src/H5HGprivate.h \ $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5Tprivate.h \ $(top_srcdir)/src/H5Gprivate.h \ $(top_srcdir)/src/H5Bprivate.h \ $(top_srcdir)/src/H5ACprivate.h \ $(top_srcdir)/src/H5Cprivate.h \ $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ $(top_srcdir)/src/H5RSprivate.h \ $(top_srcdir)/src/H5Rprivate.h \ $(top_srcdir)/src/H5Zprivate.h \ $(top_srcdir)/src/H5Ppkg.h \ $(top_srcdir)/src/H5Pprivate.h \ - $(top_srcdir)/src/H5TBprivate.h + $(top_srcdir)/src/H5SLprivate.h th5s.lo: \ $(top_srcdir)/test/th5s.c \ $(top_srcdir)/test/testhdf5.h \ @@ -1516,8 +1517,8 @@ theap.lo: \ $(top_srcdir)/src/H5FDstdio.h \ $(top_srcdir)/src/H5FDstream.h \ $(top_srcdir)/src/H5HPprivate.h -titerate.lo: \ - $(top_srcdir)/test/titerate.c \ +tid.lo: \ + $(top_srcdir)/test/tid.c \ $(top_srcdir)/test/testhdf5.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ @@ -1560,9 +1561,11 @@ titerate.lo: \ $(top_srcdir)/src/H5FDsec2.h \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h -tmeta.lo: \ - $(top_srcdir)/test/tmeta.c \ + $(top_srcdir)/src/H5FDstream.h \ + $(top_srcdir)/src/H5Ipkg.h \ + $(top_srcdir)/src/H5Iprivate.h +titerate.lo: \ + $(top_srcdir)/test/titerate.c \ $(top_srcdir)/test/testhdf5.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ @@ -1605,10 +1608,9 @@ tmeta.lo: \ $(top_srcdir)/src/H5FDsec2.h \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h \ - $(top_srcdir)/src/H5Fprivate.h -trefer.lo: \ - $(top_srcdir)/test/trefer.c \ + $(top_srcdir)/src/H5FDstream.h +tmeta.lo: \ + $(top_srcdir)/test/tmeta.c \ $(top_srcdir)/test/testhdf5.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ @@ -1651,26 +1653,21 @@ trefer.lo: \ $(top_srcdir)/src/H5FDsec2.h \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h -trefstr.lo: \ - $(top_srcdir)/test/trefstr.c \ - $(top_srcdir)/test/testhdf5.h \ - $(top_srcdir)/src/H5private.h \ + $(top_srcdir)/src/H5FDstream.h \ + $(top_srcdir)/src/H5Fprivate.h +tmisc.lo: \ + $(top_srcdir)/test/tmisc.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/H5MPprivate.h \ - $(top_srcdir)/src/H5FSprivate.h \ - $(top_srcdir)/src/H5Eprivate.h \ - $(top_srcdir)/src/H5Epublic.h \ - $(top_srcdir)/src/H5Ipublic.h \ - $(top_srcdir)/src/H5Epubgen.h \ - $(top_srcdir)/test/h5test.h \ - $(top_srcdir)/src/hdf5.h \ $(top_srcdir)/src/H5Apublic.h \ + $(top_srcdir)/src/H5Ipublic.h \ $(top_srcdir)/src/H5ACpublic.h \ $(top_srcdir)/src/H5Bpublic.h \ $(top_srcdir)/src/H5Dpublic.h \ + $(top_srcdir)/src/H5Epublic.h \ + $(top_srcdir)/src/H5Epubgen.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5FPpublic.h \ @@ -1697,10 +1694,32 @@ trefstr.lo: \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ $(top_srcdir)/src/H5FDstream.h \ - $(top_srcdir)/src/H5FLprivate.h \ - $(top_srcdir)/src/H5RSprivate.h -tselect.lo: \ - $(top_srcdir)/test/tselect.c \ + $(top_srcdir)/test/testhdf5.h \ + $(top_srcdir)/src/H5private.h \ + $(top_srcdir)/src/H5MPprivate.h \ + $(top_srcdir)/src/H5FSprivate.h \ + $(top_srcdir)/src/H5Eprivate.h \ + $(top_srcdir)/test/h5test.h \ + $(top_srcdir)/src/H5Dpkg.h \ + $(top_srcdir)/src/H5Dprivate.h \ + $(top_srcdir)/src/H5FDprivate.h \ + $(top_srcdir)/src/H5Oprivate.h \ + $(top_srcdir)/src/H5HGprivate.h \ + $(top_srcdir)/src/H5Fprivate.h \ + $(top_srcdir)/src/H5Tprivate.h \ + $(top_srcdir)/src/H5Gprivate.h \ + $(top_srcdir)/src/H5Bprivate.h \ + $(top_srcdir)/src/H5ACprivate.h \ + $(top_srcdir)/src/H5Cprivate.h \ + $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ + $(top_srcdir)/src/H5RSprivate.h \ + $(top_srcdir)/src/H5Rprivate.h \ + $(top_srcdir)/src/H5Zprivate.h \ + $(top_srcdir)/src/H5Sprivate.h \ + $(top_srcdir)/src/H5Pprivate.h +trefer.lo: \ + $(top_srcdir)/test/trefer.c \ $(top_srcdir)/test/testhdf5.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ @@ -1743,27 +1762,9 @@ tselect.lo: \ $(top_srcdir)/src/H5FDsec2.h \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h \ - $(top_srcdir)/src/H5Spkg.h \ - $(top_srcdir)/src/H5Sprivate.h \ - $(top_srcdir)/src/H5Dprivate.h \ - $(top_srcdir)/src/H5FDprivate.h \ - $(top_srcdir)/src/H5Oprivate.h \ - $(top_srcdir)/src/H5HGprivate.h \ - $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ - $(top_srcdir)/src/H5Tprivate.h \ - $(top_srcdir)/src/H5Gprivate.h \ - $(top_srcdir)/src/H5Bprivate.h \ - $(top_srcdir)/src/H5ACprivate.h \ - $(top_srcdir)/src/H5Cprivate.h \ - $(top_srcdir)/src/H5Cpublic.h \ - $(top_srcdir)/src/H5RSprivate.h \ - $(top_srcdir)/src/H5Rprivate.h \ - $(top_srcdir)/src/H5Zprivate.h \ - $(top_srcdir)/src/H5Pprivate.h -ttime.lo: \ - $(top_srcdir)/test/ttime.c \ + $(top_srcdir)/src/H5FDstream.h +trefstr.lo: \ + $(top_srcdir)/test/trefstr.c \ $(top_srcdir)/test/testhdf5.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ @@ -1806,9 +1807,11 @@ ttime.lo: \ $(top_srcdir)/src/H5FDsec2.h \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h -ttbbt.lo: \ - $(top_srcdir)/test/ttbbt.c \ + $(top_srcdir)/src/H5FDstream.h \ + $(top_srcdir)/src/H5FLprivate.h \ + $(top_srcdir)/src/H5RSprivate.h +tselect.lo: \ + $(top_srcdir)/test/tselect.c \ $(top_srcdir)/test/testhdf5.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ @@ -1852,9 +1855,26 @@ ttbbt.lo: \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ $(top_srcdir)/src/H5FDstream.h \ - $(top_srcdir)/src/H5TBprivate.h -ttst.lo: \ - $(top_srcdir)/test/ttst.c \ + $(top_srcdir)/src/H5Spkg.h \ + $(top_srcdir)/src/H5Sprivate.h \ + $(top_srcdir)/src/H5Dprivate.h \ + $(top_srcdir)/src/H5FDprivate.h \ + $(top_srcdir)/src/H5Oprivate.h \ + $(top_srcdir)/src/H5HGprivate.h \ + $(top_srcdir)/src/H5Fprivate.h \ + $(top_srcdir)/src/H5Tprivate.h \ + $(top_srcdir)/src/H5Gprivate.h \ + $(top_srcdir)/src/H5Bprivate.h \ + $(top_srcdir)/src/H5ACprivate.h \ + $(top_srcdir)/src/H5Cprivate.h \ + $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ + $(top_srcdir)/src/H5RSprivate.h \ + $(top_srcdir)/src/H5Rprivate.h \ + $(top_srcdir)/src/H5Zprivate.h \ + $(top_srcdir)/src/H5Pprivate.h +tskiplist.lo: \ + $(top_srcdir)/test/tskiplist.c \ $(top_srcdir)/test/testhdf5.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ @@ -1898,9 +1918,9 @@ ttst.lo: \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ $(top_srcdir)/src/H5FDstream.h \ - $(top_srcdir)/src/H5STprivate.h -tvltypes.lo: \ - $(top_srcdir)/test/tvltypes.c \ + $(top_srcdir)/src/H5SLprivate.h +ttime.lo: \ + $(top_srcdir)/test/ttime.c \ $(top_srcdir)/test/testhdf5.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ @@ -1944,8 +1964,8 @@ tvltypes.lo: \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ $(top_srcdir)/src/H5FDstream.h -tvlstr.lo: \ - $(top_srcdir)/test/tvlstr.c \ +ttst.lo: \ + $(top_srcdir)/test/ttst.c \ $(top_srcdir)/test/testhdf5.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ @@ -1988,20 +2008,27 @@ tvlstr.lo: \ $(top_srcdir)/src/H5FDsec2.h \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h -tmisc.lo: \ - $(top_srcdir)/test/tmisc.c \ - $(top_srcdir)/src/hdf5.h \ + $(top_srcdir)/src/H5FDstream.h \ + $(top_srcdir)/src/H5STprivate.h +tvltypes.lo: \ + $(top_srcdir)/test/tvltypes.c \ + $(top_srcdir)/test/testhdf5.h \ + $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ $(top_builddir)/src/H5pubconf.h \ $(top_srcdir)/src/H5api_adpt.h \ - $(top_srcdir)/src/H5Apublic.h \ + $(top_srcdir)/src/H5MPprivate.h \ + $(top_srcdir)/src/H5FSprivate.h \ + $(top_srcdir)/src/H5Eprivate.h \ + $(top_srcdir)/src/H5Epublic.h \ $(top_srcdir)/src/H5Ipublic.h \ + $(top_srcdir)/src/H5Epubgen.h \ + $(top_srcdir)/test/h5test.h \ + $(top_srcdir)/src/hdf5.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/H5Epubgen.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5FPpublic.h \ @@ -2027,33 +2054,9 @@ tmisc.lo: \ $(top_srcdir)/src/H5FDsec2.h \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h \ - $(top_srcdir)/test/testhdf5.h \ - $(top_srcdir)/src/H5private.h \ - $(top_srcdir)/src/H5MPprivate.h \ - $(top_srcdir)/src/H5FSprivate.h \ - $(top_srcdir)/src/H5Eprivate.h \ - $(top_srcdir)/test/h5test.h \ - $(top_srcdir)/src/H5Dpkg.h \ - $(top_srcdir)/src/H5Dprivate.h \ - $(top_srcdir)/src/H5FDprivate.h \ - $(top_srcdir)/src/H5Oprivate.h \ - $(top_srcdir)/src/H5HGprivate.h \ - $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ - $(top_srcdir)/src/H5Tprivate.h \ - $(top_srcdir)/src/H5Gprivate.h \ - $(top_srcdir)/src/H5Bprivate.h \ - $(top_srcdir)/src/H5ACprivate.h \ - $(top_srcdir)/src/H5Cprivate.h \ - $(top_srcdir)/src/H5Cpublic.h \ - $(top_srcdir)/src/H5RSprivate.h \ - $(top_srcdir)/src/H5Rprivate.h \ - $(top_srcdir)/src/H5Zprivate.h \ - $(top_srcdir)/src/H5Sprivate.h \ - $(top_srcdir)/src/H5Pprivate.h -tid.lo: \ - $(top_srcdir)/test/tid.c \ + $(top_srcdir)/src/H5FDstream.h +tvlstr.lo: \ + $(top_srcdir)/test/tvlstr.c \ $(top_srcdir)/test/testhdf5.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ @@ -2096,9 +2099,7 @@ tid.lo: \ $(top_srcdir)/src/H5FDsec2.h \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h \ - $(top_srcdir)/src/H5Ipkg.h \ - $(top_srcdir)/src/H5Iprivate.h + $(top_srcdir)/src/H5FDstream.h unlink.lo: \ $(top_srcdir)/test/unlink.c \ $(top_srcdir)/test/h5test.h \ @@ -3058,17 +3059,23 @@ dtransform.lo: \ $(top_srcdir)/src/H5FSprivate.h filename.lo: \ $(top_srcdir)/test/filename.c \ - $(top_srcdir)/src/hdf5.h \ + $(top_srcdir)/test/testhdf5.h \ + $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5public.h \ $(top_builddir)/src/H5pubconf.h \ $(top_srcdir)/src/H5api_adpt.h \ - $(top_srcdir)/src/H5Apublic.h \ + $(top_srcdir)/src/H5MPprivate.h \ + $(top_srcdir)/src/H5FSprivate.h \ + $(top_srcdir)/src/H5Eprivate.h \ + $(top_srcdir)/src/H5Epublic.h \ $(top_srcdir)/src/H5Ipublic.h \ + $(top_srcdir)/src/H5Epubgen.h \ + $(top_srcdir)/test/h5test.h \ + $(top_srcdir)/src/hdf5.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/H5Epubgen.h \ $(top_srcdir)/src/H5Fpublic.h \ $(top_srcdir)/src/H5FDpublic.h \ $(top_srcdir)/src/H5FPpublic.h \ @@ -3094,13 +3101,7 @@ filename.lo: \ $(top_srcdir)/src/H5FDsec2.h \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h \ - $(top_srcdir)/test/h5test.h \ - $(top_srcdir)/src/H5private.h \ - $(top_srcdir)/src/H5MPprivate.h \ - $(top_srcdir)/src/H5FSprivate.h \ - $(top_srcdir)/test/testhdf5.h \ - $(top_srcdir)/src/H5Eprivate.h + $(top_srcdir)/src/H5FDstream.h reserved.lo: \ $(top_srcdir)/test/reserved.c \ $(top_srcdir)/test/h5test.h \ diff --git a/test/Makefile.in b/test/Makefile.in index bf3a3d4..fc52f78 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -84,7 +84,7 @@ TEST_SRC=big.c bittests.c cache.c cmpd_dset.c dsets.c dtypes.c extend.c \ istore.c lheap.c links.c mount.c mtime.c ohdr.c stab.c tarray.c \ tattr.c tconfig.c testhdf5.c testmeta.c tfile.c \ tgenprop.c th5s.c theap.c tid.c titerate.c tmeta.c tmisc.c trefer.c \ - trefstr.c tselect.c tskiplist.c ttime.c ttbbt.c ttst.c tvltypes.c \ + trefstr.c tselect.c tskiplist.c ttime.c ttst.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 srb_read.c srb_write.c srb_append.c stream_test.c \ @@ -117,7 +117,7 @@ $(PROGS): $(LIB) $(LIBHDF5) TESTHDF5_OBJ=testhdf5.lo tarray.lo tattr.lo tconfig.lo tfile.lo tgenprop.lo \ th5s.lo theap.lo tid.lo titerate.lo tmeta.lo tmisc.lo trefer.lo trefstr.lo \ - tselect.lo tskiplist.lo ttbbt.lo ttime.lo ttst.lo tvltypes.lo tvlstr.lo + tselect.lo tskiplist.lo ttime.lo ttst.lo tvltypes.lo tvlstr.lo TTS_OBJ=ttsafe.lo ttsafe_dcreate.lo ttsafe_error.lo \ ttsafe_cancel.lo ttsafe_acreate.lo diff --git a/test/testhdf5.c b/test/testhdf5.c index 9d86032..05149aa 100644 --- a/test/testhdf5.c +++ b/test/testhdf5.c @@ -45,7 +45,6 @@ main(int argc, char *argv[]) /* Tests are generally arranged from least to most complexity... */ AddTest("config", test_configure, cleanup_configure, "Configure definitions", NULL); AddTest("metadata", test_metadata, cleanup_metadata, "Encode/decode metadata code", NULL); - AddTest("tbbt", test_tbbt, NULL, "Threaded, Balanced, Binary Trees", NULL); AddTest("tst", test_tst, NULL, "Ternary Search Trees", NULL); AddTest("heap", test_heap, NULL, "Memory Heaps", NULL); AddTest("skiplist", test_skiplist, NULL, "Skip Lists", NULL); diff --git a/test/testhdf5.h b/test/testhdf5.h index 61674a8..c32782a 100644 --- a/test/testhdf5.h +++ b/test/testhdf5.h @@ -110,7 +110,6 @@ extern "C" { /* Prototypes for the test routines */ void test_metadata(void); -void test_tbbt(void); void test_tst(void); void test_heap(void); void test_refstr(void); diff --git a/test/ttbbt.c b/test/ttbbt.c deleted file mode 100644 index fa34c84..0000000 --- a/test/ttbbt.c +++ /dev/null @@ -1,143 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - FILE - tbbt.c - Test HDF Threaded-Balanced-Binary Tree (tbbt) routines. - - REMARKS - - DESIGN - - BUGS/LIMITATIONS - - EXPORTED ROUTINES - - AUTHOR - Quincey Koziol - - MODIFICATION HISTORY - 4/22/00 - Converted from HDF4 test routine. - */ - -#include - -#include "testhdf5.h" -#include "H5TBprivate.h" - -#define MAX_TEST_SIZE 31 /* maximum number of elements to insert */ -#define NUM_TEST_RUNS 100 /* number of times to insert & remove each size */ - -#define RandInt(a,b) ((rand()%(((b)-(a))+1))+(a)) - -int tcompare (const void * k1, const void * k2, int cmparg); - -static void swap_arr(int *arr, int a, int b) -{ - int t; - - if (a != b) - { - t = arr[a]; - arr[a] = arr[b]; - arr[b] = t; - } /* end if */ -} /* end swap_arr() */ - -int -tcompare(const void * k1, const void * k2, int cmparg) -{ - /* shut compiler up */ - cmparg=cmparg; - return ((int) ((*(const int *) k1) - (*(const int *) k2))); -} - -void -test_tbbt(void) -{ - int test_size; - int i, j; - int ins_arr[MAX_TEST_SIZE]; - int rem_arr[MAX_TEST_SIZE]; - int t; - H5TB_TREE *tree; - void * *r; - - t = (int)time(NULL); - srand((unsigned)t); - - for (test_size = 3; test_size <= MAX_TEST_SIZE; test_size++) - { - MESSAGE(7, ("\nTesting trees with %d elements\n", test_size)); - MESSAGE(8, ("Testing tree #:")); - for (j = 0; j < NUM_TEST_RUNS; j++) - { - MESSAGE(8, (" %d", j)); - for (i = 0; i < test_size; i++) - { /* initialize the arrays */ - ins_arr[i] = i; - rem_arr[i] = i; - } /* end for */ - for (i = 0; i < test_size; i++) - { /* shuffle the arrays */ - t = RandInt(i, test_size - 1); - swap_arr(ins_arr, i, t); - t = RandInt(i, test_size - 1); - swap_arr(rem_arr, i, t); - } /* end for */ - - if (GetTestVerbosity() >= VERBO_HI) - { - printf("ins_arr: \n"); - for (i = 0; i < test_size; i++) /* print the arrays */ - printf("%d \n", (int) ins_arr[i]); - printf("\nrem_arr: \n"); - for (i = 0; i < test_size; i++) /* print the arrays */ - printf("%d \n", (int) rem_arr[i]); - printf("\n"); - } /* end if */ - - tree = H5TB_dmake(tcompare, sizeof(int),0); - for (i = 0; i < test_size; i++) - { - MESSAGE(9, ("inserting %d\n", (int) ins_arr[i])); - H5TB_dins(tree, (void *) &ins_arr[i], NULL); -#ifdef H5TB_DEBUG - if(GetTestVerbosity() >= VERBO_HI) - H5TB_dump(tree, -1); -#endif /* H5TB_DEBUG */ - } -#ifdef H5TB_DEBUG - if(GetTestVerbosity() >= VERBO_HI) - H5TB_dump(tree, -1); -#endif /* H5TB_DEBUG */ - for (i = 0; i < test_size; i++) - { - int key; - - key = rem_arr[i]; - r = (void * *) H5TB_dfind(tree, (void *) &key, NULL); - MESSAGE(9, ("removing %d\n", (int) key)); - H5TB_rem((H5TB_NODE **) tree, (H5TB_NODE *) r, NULL); -#ifdef H5TB_DEBUG - if(GetTestVerbosity() >= VERBO_HI) - H5TB_dump(tree, -1); -#endif /* H5TB_DEBUG */ - } /* end for */ - H5TB_dfree(tree, NULL, NULL); - } /* end for */ - } /* end for */ -} /* end test_tbbt() */ - diff --git a/testpar/Dependencies b/testpar/Dependencies index e3afa1e..cf7f315 100644 --- a/testpar/Dependencies +++ b/testpar/Dependencies @@ -309,52 +309,8 @@ t_ph5basic.lo: \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5MPprivate.h \ $(top_srcdir)/src/H5FSprivate.h -testphdf5.lo: \ - $(top_srcdir)/testpar/testphdf5.c \ - $(top_srcdir)/testpar/testphdf5.h \ - $(top_srcdir)/test/h5test.h \ - $(top_srcdir)/src/hdf5.h \ - $(top_srcdir)/src/H5public.h \ - $(top_builddir)/src/H5pubconf.h \ - $(top_srcdir)/src/H5api_adpt.h \ - $(top_srcdir)/src/H5Apublic.h \ - $(top_srcdir)/src/H5Ipublic.h \ - $(top_srcdir)/src/H5ACpublic.h \ - $(top_srcdir)/src/H5Bpublic.h \ - $(top_srcdir)/src/H5Dpublic.h \ - $(top_srcdir)/src/H5Epublic.h \ - $(top_srcdir)/src/H5Epubgen.h \ - $(top_srcdir)/src/H5Fpublic.h \ - $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5FPpublic.h \ - $(top_srcdir)/src/H5Gpublic.h \ - $(top_srcdir)/src/H5Opublic.h \ - $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5HLpublic.h \ - $(top_srcdir)/src/H5MMpublic.h \ - $(top_srcdir)/src/H5Ppublic.h \ - $(top_srcdir)/src/H5Tpublic.h \ - $(top_srcdir)/src/H5Zpublic.h \ - $(top_srcdir)/src/H5Rpublic.h \ - $(top_srcdir)/src/H5Spublic.h \ - $(top_srcdir)/src/H5FDcore.h \ - $(top_srcdir)/src/H5FDfamily.h \ - $(top_srcdir)/src/H5FDgass.h \ - $(top_srcdir)/src/H5FDlog.h \ - $(top_srcdir)/src/H5FDmpi.h \ - $(top_srcdir)/src/H5FDfphdf5.h \ - $(top_srcdir)/src/H5FDmpio.h \ - $(top_srcdir)/src/H5FDmpiposix.h \ - $(top_srcdir)/src/H5FDmulti.h \ - $(top_srcdir)/src/H5FDsec2.h \ - $(top_srcdir)/src/H5FDsrb.h \ - $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h \ - $(top_srcdir)/src/H5private.h \ - $(top_srcdir)/src/H5MPprivate.h \ - $(top_srcdir)/src/H5FSprivate.h -t_dset.lo: \ - $(top_srcdir)/testpar/t_dset.c \ +t_coll_chunk.lo: \ + $(top_srcdir)/testpar/t_coll_chunk.c \ $(top_srcdir)/testpar/testphdf5.h \ $(top_srcdir)/test/h5test.h \ $(top_srcdir)/src/hdf5.h \ @@ -396,11 +352,24 @@ t_dset.lo: \ $(top_srcdir)/src/H5FDstream.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5MPprivate.h \ - $(top_srcdir)/src/H5FSprivate.h -t_coll_chunk.lo: \ - $(top_srcdir)/testpar/t_coll_chunk.c \ - $(top_srcdir)/testpar/testphdf5.h \ - $(top_srcdir)/test/h5test.h \ + $(top_srcdir)/src/H5FSprivate.h \ + $(top_srcdir)/src/H5Dprivate.h \ + $(top_srcdir)/src/H5FDprivate.h \ + $(top_srcdir)/src/H5Oprivate.h \ + $(top_srcdir)/src/H5HGprivate.h \ + $(top_srcdir)/src/H5Fprivate.h \ + $(top_srcdir)/src/H5Tprivate.h \ + $(top_srcdir)/src/H5Gprivate.h \ + $(top_srcdir)/src/H5Bprivate.h \ + $(top_srcdir)/src/H5ACprivate.h \ + $(top_srcdir)/src/H5Cprivate.h \ + $(top_srcdir)/src/H5Cpublic.h \ + $(top_srcdir)/src/H5RCprivate.h \ + $(top_srcdir)/src/H5RSprivate.h \ + $(top_srcdir)/src/H5Rprivate.h \ + $(top_srcdir)/src/H5Zprivate.h +t_span_tree.lo: \ + $(top_srcdir)/testpar/t_span_tree.c \ $(top_srcdir)/src/hdf5.h \ $(top_srcdir)/src/H5public.h \ $(top_builddir)/src/H5pubconf.h \ @@ -441,18 +410,5 @@ t_coll_chunk.lo: \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5MPprivate.h \ $(top_srcdir)/src/H5FSprivate.h \ - $(top_srcdir)/src/H5Dprivate.h \ - $(top_srcdir)/src/H5FDprivate.h \ - $(top_srcdir)/src/H5Oprivate.h \ - $(top_srcdir)/src/H5HGprivate.h \ - $(top_srcdir)/src/H5Fprivate.h \ - $(top_srcdir)/src/H5RCprivate.h \ - $(top_srcdir)/src/H5Tprivate.h \ - $(top_srcdir)/src/H5Gprivate.h \ - $(top_srcdir)/src/H5Bprivate.h \ - $(top_srcdir)/src/H5ACprivate.h \ - $(top_srcdir)/src/H5Cprivate.h \ - $(top_srcdir)/src/H5Cpublic.h \ - $(top_srcdir)/src/H5RSprivate.h \ - $(top_srcdir)/src/H5Rprivate.h \ - $(top_srcdir)/src/H5Zprivate.h + $(top_srcdir)/testpar/testphdf5.h \ + $(top_srcdir)/test/h5test.h diff --git a/tools/h5dump/Dependencies b/tools/h5dump/Dependencies index 1683d0a..9abb2f2 100644 --- a/tools/h5dump/Dependencies +++ b/tools/h5dump/Dependencies @@ -89,4 +89,5 @@ h5dumpgentest.lo: \ $(top_srcdir)/src/H5FDstream.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5MPprivate.h \ - $(top_srcdir)/src/H5FSprivate.h + $(top_srcdir)/src/H5FSprivate.h \ + $(top_srcdir)/tools/lib/h5tools.h diff --git a/tools/h5jam/Dependencies b/tools/h5jam/Dependencies index be3a92b..833fa1f 100644 --- a/tools/h5jam/Dependencies +++ b/tools/h5jam/Dependencies @@ -40,6 +40,9 @@ h5jam.lo: \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ $(top_srcdir)/src/H5FDstream.h \ + $(top_srcdir)/src/H5private.h \ + $(top_srcdir)/src/H5MPprivate.h \ + $(top_srcdir)/src/H5FSprivate.h \ $(top_srcdir)/tools/lib/h5tools_utils.h h5unjam.lo: \ $(top_srcdir)/tools/h5jam/h5unjam.c \ @@ -80,4 +83,7 @@ h5unjam.lo: \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ $(top_srcdir)/src/H5FDstream.h \ + $(top_srcdir)/src/H5private.h \ + $(top_srcdir)/src/H5MPprivate.h \ + $(top_srcdir)/src/H5FSprivate.h \ $(top_srcdir)/tools/lib/h5tools_utils.h diff --git a/tools/h5repack/Dependencies b/tools/h5repack/Dependencies index 8ed4eb4..878955c 100644 --- a/tools/h5repack/Dependencies +++ b/tools/h5repack/Dependencies @@ -183,53 +183,6 @@ h5repack_refs.lo: \ $(top_srcdir)/tools/lib/h5trav.h \ $(top_srcdir)/tools/lib/h5diff.h \ $(top_srcdir)/tools/lib/h5tools.h -h5repack_layout.lo: \ - $(top_srcdir)/tools/h5repack/h5repack_layout.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/H5Apublic.h \ - $(top_srcdir)/src/H5Ipublic.h \ - $(top_srcdir)/src/H5ACpublic.h \ - $(top_srcdir)/src/H5Bpublic.h \ - $(top_srcdir)/src/H5Dpublic.h \ - $(top_srcdir)/src/H5Epublic.h \ - $(top_srcdir)/src/H5Epubgen.h \ - $(top_srcdir)/src/H5Fpublic.h \ - $(top_srcdir)/src/H5FDpublic.h \ - $(top_srcdir)/src/H5FPpublic.h \ - $(top_srcdir)/src/H5Gpublic.h \ - $(top_srcdir)/src/H5Opublic.h \ - $(top_srcdir)/src/H5HGpublic.h \ - $(top_srcdir)/src/H5HLpublic.h \ - $(top_srcdir)/src/H5MMpublic.h \ - $(top_srcdir)/src/H5Ppublic.h \ - $(top_srcdir)/src/H5Tpublic.h \ - $(top_srcdir)/src/H5Zpublic.h \ - $(top_srcdir)/src/H5Rpublic.h \ - $(top_srcdir)/src/H5Spublic.h \ - $(top_srcdir)/src/H5FDcore.h \ - $(top_srcdir)/src/H5FDfamily.h \ - $(top_srcdir)/src/H5FDgass.h \ - $(top_srcdir)/src/H5FDlog.h \ - $(top_srcdir)/src/H5FDmpi.h \ - $(top_srcdir)/src/H5FDfphdf5.h \ - $(top_srcdir)/src/H5FDmpio.h \ - $(top_srcdir)/src/H5FDmpiposix.h \ - $(top_srcdir)/src/H5FDmulti.h \ - $(top_srcdir)/src/H5FDsec2.h \ - $(top_srcdir)/src/H5FDsrb.h \ - $(top_srcdir)/src/H5FDstdio.h \ - $(top_srcdir)/src/H5FDstream.h \ - $(top_srcdir)/test/h5test.h \ - $(top_srcdir)/src/H5private.h \ - $(top_srcdir)/src/H5MPprivate.h \ - $(top_srcdir)/src/H5FSprivate.h \ - $(top_srcdir)/tools/h5repack/h5repack.h \ - $(top_srcdir)/tools/lib/h5trav.h \ - $(top_srcdir)/tools/lib/h5diff.h \ - $(top_srcdir)/tools/lib/h5tools.h h5repack_list.lo: \ $(top_srcdir)/tools/h5repack/h5repack_list.c \ $(top_srcdir)/src/H5private.h \ diff --git a/tools/lib/Dependencies b/tools/lib/Dependencies index 7873bf0..d5ce66e 100644 --- a/tools/lib/Dependencies +++ b/tools/lib/Dependencies @@ -224,7 +224,7 @@ h5diff_array.lo: \ $(top_srcdir)/src/H5FSprivate.h h5diff_attr.lo: \ $(top_srcdir)/tools/lib/h5diff_attr.c \ - $(top_srcdir)/tools/lib/h5diff.h \ + $(top_srcdir)/tools/lib/h5tools.h \ $(top_srcdir)/src/hdf5.h \ $(top_srcdir)/src/H5public.h \ $(top_builddir)/src/H5pubconf.h \ @@ -262,6 +262,7 @@ h5diff_attr.lo: \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ $(top_srcdir)/src/H5FDstream.h \ + $(top_srcdir)/tools/lib/h5diff.h \ $(top_srcdir)/tools/lib/h5trav.h \ $(top_srcdir)/src/H5private.h \ $(top_srcdir)/src/H5MPprivate.h \ @@ -526,6 +527,46 @@ h5tools_ref.lo: \ $(top_srcdir)/src/H5FSprivate.h \ $(top_srcdir)/tools/lib/h5tools.h \ $(top_srcdir)/tools/lib/h5tools_utils.h +h5tools_type.lo: \ + $(top_srcdir)/tools/lib/h5tools_type.c \ + $(top_srcdir)/tools/lib/h5tools.h \ + $(top_srcdir)/src/hdf5.h \ + $(top_srcdir)/src/H5public.h \ + $(top_builddir)/src/H5pubconf.h \ + $(top_srcdir)/src/H5api_adpt.h \ + $(top_srcdir)/src/H5Apublic.h \ + $(top_srcdir)/src/H5Ipublic.h \ + $(top_srcdir)/src/H5ACpublic.h \ + $(top_srcdir)/src/H5Bpublic.h \ + $(top_srcdir)/src/H5Dpublic.h \ + $(top_srcdir)/src/H5Epublic.h \ + $(top_srcdir)/src/H5Epubgen.h \ + $(top_srcdir)/src/H5Fpublic.h \ + $(top_srcdir)/src/H5FDpublic.h \ + $(top_srcdir)/src/H5FPpublic.h \ + $(top_srcdir)/src/H5Gpublic.h \ + $(top_srcdir)/src/H5Opublic.h \ + $(top_srcdir)/src/H5HGpublic.h \ + $(top_srcdir)/src/H5HLpublic.h \ + $(top_srcdir)/src/H5MMpublic.h \ + $(top_srcdir)/src/H5Ppublic.h \ + $(top_srcdir)/src/H5Tpublic.h \ + $(top_srcdir)/src/H5Zpublic.h \ + $(top_srcdir)/src/H5Rpublic.h \ + $(top_srcdir)/src/H5Spublic.h \ + $(top_srcdir)/src/H5FDcore.h \ + $(top_srcdir)/src/H5FDfamily.h \ + $(top_srcdir)/src/H5FDgass.h \ + $(top_srcdir)/src/H5FDlog.h \ + $(top_srcdir)/src/H5FDmpi.h \ + $(top_srcdir)/src/H5FDfphdf5.h \ + $(top_srcdir)/src/H5FDmpio.h \ + $(top_srcdir)/src/H5FDmpiposix.h \ + $(top_srcdir)/src/H5FDmulti.h \ + $(top_srcdir)/src/H5FDsec2.h \ + $(top_srcdir)/src/H5FDsrb.h \ + $(top_srcdir)/src/H5FDstdio.h \ + $(top_srcdir)/src/H5FDstream.h talign.lo: \ $(top_srcdir)/tools/lib/talign.c \ $(top_srcdir)/src/hdf5.h \ @@ -565,4 +606,7 @@ talign.lo: \ $(top_srcdir)/src/H5FDsrb.h \ $(top_srcdir)/src/H5FDstdio.h \ $(top_srcdir)/src/H5FDstream.h \ + $(top_srcdir)/src/H5private.h \ + $(top_srcdir)/src/H5MPprivate.h \ + $(top_srcdir)/src/H5FSprivate.h \ $(top_srcdir)/tools/lib/h5tools.h diff --git a/tools/misc/Dependencies b/tools/misc/Dependencies index 5e4f493..3abc7ef 100644 --- a/tools/misc/Dependencies +++ b/tools/misc/Dependencies @@ -44,7 +44,7 @@ h5debug.lo: \ $(top_srcdir)/src/H5Zpublic.h \ $(top_srcdir)/src/H5Fpkg.h \ $(top_srcdir)/src/H5FOprivate.h \ - $(top_srcdir)/src/H5TBprivate.h \ + $(top_srcdir)/src/H5SLprivate.h \ $(top_srcdir)/src/H5HLprivate.h \ $(top_srcdir)/src/H5HLpublic.h \ $(top_srcdir)/src/H5Iprivate.h \ -- cgit v0.12