diff options
author | Dana Robinson <43805+derobins@users.noreply.github.com> | 2023-06-05 15:04:56 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-05 15:04:56 (GMT) |
commit | 7ecf1d09afa9379186c2ace158fb60d4afd96f0e (patch) | |
tree | 529564764b9cc063dcf0f8741ce45d5c2fd11095 /src/H5private.h | |
parent | e3559c7b64e7963e3515c2ebfd7f1abad810ed19 (diff) | |
download | hdf5-7ecf1d09afa9379186c2ace158fb60d4afd96f0e.zip hdf5-7ecf1d09afa9379186c2ace158fb60d4afd96f0e.tar.gz hdf5-7ecf1d09afa9379186c2ace158fb60d4afd96f0e.tar.bz2 |
Convert H5F haddr_t macros to H5 (#3039)
Several macros for handling haddr_t values exist in H5Fprivate.h
and have H5F prefixes, even though they have nothing to do with
a particular file (e.g., H5F_addr_lt()).
These macros have been moved to H5private.h and renamed to have
an H5 prefix.
Affected macros:
H5F_addr_overflow
H5F_addr_defined
H5F_addr_eq
H5F_addr_ne
H5F_addr_lt
H5F_addr_le
H5F_addr_gt
H5F_addr_ge
H5F_addr_cmp
H5F_addr_overlap
H5F_addr_pow2 was unused and removed instead of converted.
Diffstat (limited to 'src/H5private.h')
-rw-r--r-- | src/H5private.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/H5private.h b/src/H5private.h index 91a4780..327e2c9 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -413,6 +413,35 @@ */ #define H5_REQUEST_NULL NULL +/* clang-format off */ +/* Address-related macros */ +#define H5_addr_overflow(X,Z) (HADDR_UNDEF == (X) || \ + HADDR_UNDEF == (X) + (haddr_t)(Z) || \ + (X) + (haddr_t)(Z) < (X)) +#define H5_addr_defined(X) ((X) != HADDR_UNDEF) +/* The H5_addr_eq() macro guarantees that Y is not HADDR_UNDEF by making + * certain that X is not HADDR_UNDEF and then checking that X equals Y + */ +#define H5_addr_eq(X,Y) ((X) != HADDR_UNDEF && (X) == (Y)) +#define H5_addr_ne(X,Y) (!H5_addr_eq((X),(Y))) +#define H5_addr_lt(X,Y) ((X) != HADDR_UNDEF && \ + (Y) != HADDR_UNDEF && \ + (X) < (Y)) +#define H5_addr_le(X,Y) ((X) != HADDR_UNDEF && \ + (Y) != HADDR_UNDEF && \ + (X) <= (Y)) +#define H5_addr_gt(X,Y) ((X) != HADDR_UNDEF && \ + (Y) != HADDR_UNDEF && \ + (X) > (Y)) +#define H5_addr_ge(X,Y) ((X) != HADDR_UNDEF && \ + (Y) != HADDR_UNDEF && \ + (X) >= (Y)) +#define H5_addr_cmp(X,Y) (H5_addr_eq((X), (Y)) ? 0 : \ + (H5_addr_lt((X), (Y)) ? -1 : 1)) +#define H5_addr_overlap(O1,L1,O2,L2) (((O1) < (O2) && ((O1) + (L1)) > (O2)) || \ + ((O1) >= (O2) && (O1) < ((O2) + (L2)))) +/* clang-format on */ + /* * Methods to compare the equality of floating-point values: * |