Alien-Judy
view release on metacpan or search on metacpan
src/judy-1.0.5/src/JudyCommon/JudyPrivate.h view on Meta::CPAN
// Given a pointer to an array of "even" (native), same-sized objects
// (indexes), the current population of the array, an offset in the array, and
// a new Index to insert, "shift up" the array elements (Indexes) above the
// insertion point and insert the new Index. Assume there is sufficient memory
// to do this.
//
// In these macros, "i_offset" is an index offset, and "b_off" is a byte
// offset for odd Index sizes.
//
// Note: Endian issues only arise fro insertion, not deletion, and even for
// insertion, they are transparent when native (even) objects are used, and
// handled explicitly for odd (non-native) Index sizes.
//
// Note: The following macros are tricky enough that there is some test code
// for them appended to this file.
#define JU_INSERTINPLACE(PARRAY,POP1,OFFSET,INDEX) \
assert((long) (POP1) > 0); \
assert((Word_t) (OFFSET) <= (Word_t) (POP1)); \
{ \
Word_t i_offset = (POP1); \
( run in 0.635 second using v1.01-cache-2.11-cpan-a1d94b6210f )