mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-12-27 08:49:16 +08:00
f3e711e2b8
re: https://github.com/Unidata/netcdf-c/issues/2177 re: https://github.com/Unidata/netcdf-c/pull/2178 Provide get/set functions to store global data alignment information and apply it when a file is created. The api is as follows: ```` int nc_set_alignment(int threshold, int alignment); int nc_get_alignment(int* thresholdp, int* alignmentp); ```` If defined, then for every file created opened after the call to nc_set_alignment, for every new variable added to the file, the most recently set threshold and alignment values will be applied to that variable. The nc_get_alignment function return the last values set by nc_set_alignment. If nc_set_alignment has not been called, then it returns the value 0 for both threshold and alignment. The alignment parameters are stored in the NCglobalstate object (see below) for use as needed. Repeated calls to nc_set_alignment will overwrite any existing values in NCglobalstate. The alignment parameters are applied in libhdf5/hdf5create.c and libhdf5/hdf5open.c The set/get alignment functions are defined in libsrc4/nc4internal.c. A test program was added as nc_test4/tst_alignment.c. ## Misc. Changes Unrelated to Alignment * The NCRCglobalstate type was renamed to NCglobalstate to indicate that it represented more general global state than just .rc data. It was also moved to nc4internal.h. This led to a large number of small changes: mostly renaming. The global state management functions were moved to nc4internal.c. * The global chunk cache variables have been moved into NCglobalstate. As warranted, other global state will be moved as well. * Some misc. problems with the nczarr performance tests were corrected. |
||
---|---|---|
.. | ||
.gitignore | ||
ceconstraints.h | ||
CMakeLists.txt | ||
err_macros.h | ||
fbits.h | ||
hdf4dispatch.h | ||
hdf5dispatch.h | ||
hdf5internal.h | ||
isnan.h | ||
Makefile.am | ||
nc3dispatch.h | ||
nc3internal.h | ||
nc4dispatch.h | ||
nc4internal.h | ||
nc_hashmap.h | ||
nc_logging.h | ||
nc_provenance.h | ||
nc_tests.h | ||
nc.h | ||
ncauth.h | ||
ncbytes.h | ||
ncconfigure.h | ||
nccrc.h | ||
ncdap.h | ||
ncdimscale.h | ||
ncdispatch.h | ||
ncexhash.h | ||
ncexternl.h | ||
ncfilter.h | ||
nchashmap.h | ||
nchttp.h | ||
ncindex.h | ||
ncjson.h | ||
nclist.h | ||
nclog.h | ||
ncmodel.h | ||
ncoffsets.h | ||
ncpathmgr.h | ||
ncrc.h | ||
ncs3sdk.h | ||
nctestserver.h | ||
nctime.h | ||
ncuri.h | ||
ncurlmodel.h | ||
ncutf8.h | ||
ncxcache.h | ||
ncxml.h | ||
netcdf_aux.h | ||
netcdf_dispatch.h.in | ||
netcdf_f.h | ||
netcdf_filter_build.h | ||
netcdf_filter_hdf5_build.h | ||
netcdf_filter.h | ||
netcdf_json.h | ||
netcdf_mem.h | ||
netcdf_meta.h.in | ||
netcdf_par.h | ||
netcdf.h | ||
onstack.h | ||
rnd.h | ||
XGetopt.h |