1D Arrays (original) (raw)
1D Arrays
[Common]
| Classes | |
|---|---|
| struct | Gan_BitArray |
| 1-dimensional array of bits More... | |
| Defines | |
| #define | GAN_ARRAY_TYPE unsigned char |
| #define | GAN_ARRAY_TYPE short |
| #define | GAN_ARRAY_TYPE unsigned short |
| #define | GAN_ARRAY_TYPE int |
| #define | GAN_ARRAY_TYPE unsigned int |
| #define | GAN_ARRAY_TYPE long |
| #define | GAN_ARRAY_TYPE unsigned long |
| #define | GAN_ARRAY_TYPE float |
| #define | GAN_ARRAY_TYPE double |
| #define | GAN_ARRAY_TYPE void * |
| #define | GAN_ARRAY_FILLFUNC gan_fill_array_uc |
| #define | GAN_ARRAY_FILLFUNC gan_fill_array_s |
| #define | GAN_ARRAY_FILLFUNC gan_fill_array_us |
| #define | GAN_ARRAY_FILLFUNC gan_fill_array_i |
| #define | GAN_ARRAY_FILLFUNC gan_fill_array_ui |
| #define | GAN_ARRAY_FILLFUNC gan_fill_array_l |
| #define | GAN_ARRAY_FILLFUNC gan_fill_array_ul |
| #define | GAN_ARRAY_FILLFUNC gan_fill_array_f |
| #define | GAN_ARRAY_FILLFUNC gan_fill_array_d |
| #define | GAN_ARRAY_FILLFUNC gan_fill_array_p |
| #define | GAN_ARRAY_COPYFUNC gan_copy_array_uc |
| #define | GAN_ARRAY_COPYFUNC gan_copy_array_s |
| #define | GAN_ARRAY_COPYFUNC gan_copy_array_us |
| #define | GAN_ARRAY_COPYFUNC gan_copy_array_i |
| #define | GAN_ARRAY_COPYFUNC gan_copy_array_ui |
| #define | GAN_ARRAY_COPYFUNC gan_copy_array_l |
| #define | GAN_ARRAY_COPYFUNC gan_copy_array_ul |
| #define | GAN_ARRAY_COPYFUNC gan_copy_array_f |
| #define | GAN_ARRAY_COPYFUNC gan_copy_array_d |
| #define | GAN_ARRAY_COPYFUNC gan_copy_array_p |
| #define | GAN_FILL_DEC(t, f) void gan_fill_array_ ## f ( t *arr, unsigned long size, long stride, t val ) |
| #define | GAN_COPY_DEC(c, t) |
| #define | GAN_BITWORD_SIZE 32 |
| #define | GAN_BITWORD_FULL (gan_uint32) GAN_UINT32_MAX |
| #define | GAN_MSB_SET (gan_uint32) (1<<31) |
| #define | GAN_LSB_SET (gan_uint32) 1 |
| Typedefs | |
| typedef gan_uint32 | Gan_BitWord |
| 32-bit word | |
| typedef Gan_BitArray | Gan_BitArray |
| 1-dimensional array of bits | |
| Enumerations | |
| enum | Gan_Alignment { GAN_WORD_ALIGNMENT, GAN_BYTE_ALIGNMENT, GAN_BIT_ALIGNMENT } |
| Alignment options when computing bounds of a bit array. | |
| Functions | |
| void | gan_fill_array_uc (unsigned char *arr, unsigned long size, long stride, unsigned char val) |
| Fill array of objects. | |
| void | gan_copy_array_uc (const unsigned char *source, long s_stride, unsigned long size, unsigned char *dest, long d_stride) |
| Copy array of objects. Copy source array of objects of type #unsigned char to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| void | gan_fill_array_s (short *arr, unsigned long size, long stride, short val) |
| Fill array of objects. | |
| void | gan_copy_array_s (const short *source, long s_stride, unsigned long size, short *dest, long d_stride) |
| Copy array of objects. Copy source array of objects of type #short to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| void | gan_fill_array_us (unsigned short *arr, unsigned long size, long stride, unsigned short val) |
| Fill array of objects. | |
| void | gan_copy_array_us (const unsigned short *source, long s_stride, unsigned long size, unsigned short *dest, long d_stride) |
| Copy array of objects. Copy source array of objects of type #unsigned short to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| void | gan_fill_array_i (int *arr, unsigned long size, long stride, int val) |
| Fill array of objects. | |
| void | gan_copy_array_i (const int *source, long s_stride, unsigned long size, int *dest, long d_stride) |
| Copy array of objects. Copy source array of objects of type #int to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| void | gan_fill_array_ui (unsigned int *arr, unsigned long size, long stride, unsigned int val) |
| Fill array of objects. | |
| void | gan_copy_array_ui (const unsigned int *source, long s_stride, unsigned long size, unsigned int *dest, long d_stride) |
| Copy array of objects. Copy source array of objects of type #unsigned int to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| void | gan_fill_array_l (long *arr, unsigned long size, long stride, long val) |
| Fill array of objects. | |
| void | gan_copy_array_l (const long *source, long s_stride, unsigned long size, long *dest, long d_stride) |
| Copy array of objects. Copy source array of objects of type #long to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| void | gan_fill_array_ul (unsigned long *arr, unsigned long size, long stride, unsigned long val) |
| Fill array of objects. | |
| void | gan_copy_array_ul (const unsigned long *source, long s_stride, unsigned long size, unsigned long *dest, long d_stride) |
| Copy array of objects. Copy source array of objects of type #unsigned long to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| void | gan_fill_array_f (float *arr, unsigned long size, long stride, float val) |
| Fill array of objects. | |
| void | gan_copy_array_f (const float *source, long s_stride, unsigned long size, float *dest, long d_stride) |
| Copy array of objects. Copy source array of objects of type #float to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| void | gan_fill_array_d (double *arr, unsigned long size, long stride, double val) |
| Fill array of objects. | |
| void | gan_copy_array_d (const double *source, long s_stride, unsigned long size, double *dest, long d_stride) |
| Copy array of objects. Copy source array of objects of type #double to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| void | gan_fill_array_p (void **arr, unsigned long size, long stride, void *val) |
| Fill array of objects. | |
| void | gan_copy_array_p (const void **source, long s_stride, unsigned long size, void **dest, long d_stride) |
| Copy array of objects. Copy source array of objects of type #void * to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| GAN_FILL_DEC (unsigned char, uc) | |
| GAN_FILL_DEC (short, s) | |
| GAN_FILL_DEC (unsigned short, us) | |
| GAN_FILL_DEC (int, i) | |
| GAN_FILL_DEC (unsigned int, ui) | |
| GAN_FILL_DEC (long, l) | |
| GAN_FILL_DEC (unsigned long, ul) | |
| GAN_FILL_DEC (double, d) | |
| GAN_FILL_DEC (float, f) | |
| GAN_FILL_DEC (void *, p) | |
| GAN_COPY_DEC (c, char) | |
| GAN_COPY_DEC (uc, unsigned char) | |
| GAN_COPY_DEC (s, short) | |
| GAN_COPY_DEC (us, unsigned short) | |
| GAN_COPY_DEC (i, int) | |
| GAN_COPY_DEC (ui, unsigned int) | |
| GAN_COPY_DEC (l, long) | |
| GAN_COPY_DEC (ul, unsigned long) | |
| GAN_COPY_DEC (f, float) | |
| GAN_COPY_DEC (d, double) | |
| GAN_COPY_DEC (p, void *) | |
| GAN_FILL_DEC (gan_uint8, ui8) | |
| Fill array of 8-bit unsigned integer objects. | |
| GAN_COPY_DEC (ui8, gan_uint8) | |
| Copy array of 8-bit unsigned integer objects. Copy source array of objects of type #gan_uint8 to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| GAN_FILL_DEC (gan_uint16, ui16) | |
| Fill array of 16-bit unsigned integer objects. | |
| GAN_COPY_DEC (ui16, gan_uint16) | |
| Copy array of 16-bit unsigned integer objects. Copy source array of objects of type #gan_uint16 to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| GAN_FILL_DEC (gan_uint32, ui32) | |
| Fill array of 32-bit unsigned integer objects. | |
| GAN_COPY_DEC (ui32, gan_uint32) | |
| Copy array of 32-bit unsigned integer objects. Copy source array of objects of type #gan_uint32 to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| GAN_FILL_DEC (gan_int32, i32) | |
| Fill array of 32-bit signed integer objects. | |
| GAN_COPY_DEC (i32, gan_int32) | |
| Copy array of 32-bit unsigned integer objects. Copy source array of objects of type #gan_int32 to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| GAN_FILL_DEC (gan_ui64, ui64) | |
| Fill array of 64-bit unsigned integer objects. | |
| GAN_COPY_DEC (ui64, gan_ui64) | |
| Copy array of 64-bit unsigned integer objects. Copy source array of objects of type #gan_ui64 to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| GAN_FILL_DEC (gan_float32, f32) | |
| Fill array of 32-bit floating point objects. | |
| GAN_COPY_DEC (f32, gan_float32) | |
| Copy array of 32-bit floating point objects. Copy source array of objects of type #gan_float32 to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| GAN_FILL_DEC (gan_float64, f64) | |
| Fill array of 64-bit floating point objects. | |
| GAN_COPY_DEC (f64, gan_float64) | |
| Copy array of 64-bit floating point objects. Copy source array of objects of type #gan_float64 to dest array. The stride arguments indicate the spacing between elements of the arrays. | |
| Gan_BitArray * | gan_bit_array_form_data (Gan_BitArray *ba, Gan_BitWord *data, unsigned data_words, unsigned int no_bits) |
| Form new bit array using pre-allocated data array. | |
| Gan_BitArray * | gan_bit_array_ms_form (Gan_MemoryStack *ms, Gan_BitArray *ba, unsigned int no_bits) |
| Form new bit array using stack memory style memory allocation. | |
| Gan_Bool | gan_bit_array_set_size (Gan_BitArray *ba, unsigned int no_bits) |
| Reset size of existing bit array. | |
| void | gan_bit_array_free (Gan_BitArray *ba) |
| Free bit array. | |
| void | gan_bit_array_free_va (Gan_BitArray *ba,...) |
| Free NULL terminated list of bit arrays. | |
| Gan_Bool | gan_bit_array_fill (Gan_BitArray *ba, Gan_Bool val) |
| Set all bits in a bit array. | |
| Gan_Bool | gan_bit_array_invert_i (Gan_BitArray *ba) |
| Invert all the bits in a bit array. | |
| Gan_BitArray * | gan_bit_array_invert_s (const Gan_BitArray *ba) |
| Invert all the bits in a bit array. | |
| Gan_Bool | gan_bit_array_and_i (Gan_BitArray *ba_dst, const Gan_BitArray *ba) |
| Perform binary AND operation between two bit arrays. | |
| Gan_Bool | gan_bit_array_nand_i (Gan_BitArray *ba_dst, const Gan_BitArray *ba) |
| Perform binary NAND (not and) operation between bit arrays. | |
| Gan_Bool | gan_bit_array_or_i (Gan_BitArray *ba_dst, const Gan_BitArray *ba) |
| Gan_Bool | gan_bit_array_eor_i (Gan_BitArray *ba_dst, const Gan_BitArray *ba) |
| Gan_Bool | gan_bit_array_andnot_i (Gan_BitArray *ba_dst, const Gan_BitArray *ba) |
| Perform binary AND-NOT operation between bit arrays. | |
| Gan_BitArray * | gan_bit_array_and_s (const Gan_BitArray *ba1, const Gan_BitArray *ba2) |
| Gan_BitArray * | gan_bit_array_nand_s (const Gan_BitArray *ba1, const Gan_BitArray *ba2) |
| Gan_BitArray * | gan_bit_array_or_s (const Gan_BitArray *ba1, const Gan_BitArray *ba2) |
| Gan_BitArray * | gan_bit_array_eor_s (const Gan_BitArray *ba1, const Gan_BitArray *ba2) |
| Gan_BitArray * | gan_bit_array_andnot_s (const Gan_BitArray *ba1, const Gan_BitArray *ba2) |
| Gan_Bool | gan_bit_array_insert (const Gan_BitArray *src, unsigned int offset_src, Gan_BitArray *dst, unsigned int offset_dst, unsigned int no_bits) |
| Insert part of one bit array in another. | |
| Gan_Bool | gan_bit_array_copy_q (const Gan_BitArray *ba_source, Gan_BitArray *ba_dest) |
| Copy one bit array to another. | |
| Gan_BitArray * | gan_bit_array_copy_s (const Gan_BitArray *ba_source) |
| Return a copy of a bit array. | |
| Gan_BitArray * | gan_bit_array_expand_q (const Gan_BitArray *ba, const Gan_BitArray *ref_ba, Gan_BitArray *exp_ba) |
| Expand bit array by padding it with zeros in a reference bit array. | |
| Gan_BitArray * | gan_bit_array_expand_s (const Gan_BitArray *ba, const Gan_BitArray *ref_ba) |
| Expand bit array by padding it with zeros in a reference bit array. | |
| Gan_Bool | gan_bit_array_dilate_q (Gan_BitArray *ba_source, unsigned int no_bits, Gan_BitArray *ba_dest) |
| Dilate bit array and write result into another. | |
| Gan_BitArray * | gan_bit_array_dilate_s (Gan_BitArray *ba, unsigned int no_bits) |
| Dilate bit array in-place. | |
| Gan_Bool | gan_bit_array_shift_q (Gan_BitArray *ba_source, int no_bits, Gan_BitArray *ba_dest) |
| Shift bit array and write result into another. | |
| Gan_BitArray * | gan_bit_array_shift_s (Gan_BitArray *ba, int no_bits) |
| Shift bit array in-place. | |
| unsigned int | gan_bit_array_get_first_set_bit (Gan_BitArray *ba) |
| Get the first set bit in a bit array. | |
| Gan_Bool | gan_bit_array_fill_part (Gan_BitArray *ba, unsigned int offset, unsigned int no_bits, Gan_Bool val) |
| Fill part of a bit array. | |
| Gan_Bool | gan_bit_array_invert_part (Gan_BitArray *ba, unsigned int offset, unsigned int no_bits) |
| Invert part of a bit array. | |
| void | gan_bit_array_fprint (FILE *fp, const Gan_BitArray *ba, int indent) |
| Print bit array in ASCII to file. | |
| unsigned | GAN_NO_BITWORDS (unsigned no_bits) |
| Macro: Number of bit-words given number of bits. | |
| Gan_BitArray * | gan_bit_array_form (Gan_BitArray *ba, unsigned int no_bits) |
| Macro: Form bit array. | |
| Gan_BitArray * | gan_bit_array_alloc (unsigned int no_bits) |
| Macro: Allocate new bit array. | |
| Gan_BitArray * | gan_bit_array_ms_malloc (unsigned int no_bits) |
| Macro: Allocate new bit array using stack-style memory allocation. | |
| Gan_Bool | gan_bit_array_print (const Gan_BitArray *bit_array, int indent) |
| Macro: Print bit array in ASCII to standard output. | |
| Gan_Bool | gan_bit_array_set_bit (Gan_BitArray *bit_array, int pos) |
| Macro: Set bit in bit list to 1 (true). | |
| Gan_Bool | gan_bit_array_get_bit (const Gan_BitArray *bit_array, int pos) |
| Macro: get bit of bit array. | |
| Gan_Bool | gan_bit_array_clear_bit (Gan_BitArray *bit_array, int pos) |
| Macro: clear bit in bit list to 0 (false). | |
| Gan_Bool | gan_bit_array_twiddle_bit (Gan_BitArray *bit_array, int pos, Gan_Bool val) |
| Macro: set/clear bit depending on Boolean argument. | |
| Gan_Bool | gan_bit_array_invert_bit (Gan_BitArray *bit_array, int pos) |
| Macro: Invert bit. | |
| Gan_Bool * | gan_bit_array_dilate_i (Gan_BitArray *ba, unsigned int no_pixels) |
| Macro: Dilate bit array. |
Define Documentation
| #define GAN_COPY_DEC | ( | c, |
|---|---|---|
| t | ) |
| | **Value:**void\ gan_copy_array_ ## c ( const t *source, long s_stride, unsigned long size,\ t *dest, long d_stride ) | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Function Documentation
| | Perform binary AND operation between two bit arrays. Returns:GAN_TRUE on success, GAN_FALSE on failure.Perform binary AND operation between bit arrays ba and ba_dst, writing the result into ba_dst. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Perform binary AND operation between bit arrays. **Returns:**The result as a new bit array.Perform binary AND operation between bit arrays ba1 and ba2, returning the result as a new bit array. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Perform binary AND-NOT operation between bit arrays. Returns:GAN_TRUE on success, GAN_FALSE on failure.Perform binary AND-NOT operation between bit arrays ba and ba_dst, writing the result into ba_dst. | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Perform binary AND-NOT operation between bit arrays. **Returns:**The result as a new bit array.Perform binary AND-NOT operation between bit arrays ba1 and ba2, returning the result as a new bit array. | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Copy one bit array to another. Returns:GAN_TRUE on success, GAN_FALSE on failure.Copy bit array ba_source to ba_dest. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| | Return a copy of a bit array. **Returns:**A new copy of the bit array ba_source.Return a copy of bit array ba_source. | | ------------------------------------------------------------------------------------------------------------------------------ |
| | Macro: Dilate bit array. Parameters: ba Bit array no_pixels Number of pixels to dilate bit array Returns:GAN_TRUE on success, GAN_FALSE on failure.Dilate input bit array ba by no_pixels, and write result in-place into ba. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| | Dilate bit array and write result into another. Parameters: ba_source Input bit array no_bits Number of bits to dilate bit array ba_dest Result bit array Returns:GAN_TRUE on success, GAN_FALSE on failure.Dilate input bit array ba_source by no_bits, and write result into another bit array ba_dest. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Dilate bit array in-place. Parameters: ba Input bit array no_bits Number of bits to dilate bit array Returns:GAN_TRUE on success, GAN_FALSE on failure.Dilate input bit array ba by no_bits in-place. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Perform binary EOR (exclusive or) operation between bit arrays. Returns:GAN_TRUE on success, GAN_FALSE on failure.Perform binary EOR (exclusive or) operation between bit arrays ba and ba_dst, writing the result into ba_dst. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| | Perform binary EOR (exclusive or) operation between bit arrays. **Returns:**The result as a new bit array.Perform binary EOR (exclusive or) operation between bit arrays ba1 and ba2, returning the result as a new bit array. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Expand bit array by padding it with zeros in a reference bit array. Parameters: ba Input bit array ref_ba Reference bit array specifying padded bits exp_ba Expanded bit array or NULL. Returns:GAN_TRUE on success, GAN_FALSE on failure.Expand bit array ba by padding it with zeros in a reference bit array ref_ba. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Expand bit array by padding it with zeros in a reference bit array. Parameters: ba Input bit array ref_ba Reference bit array specifying padded bits **Returns:**Expanded bit array as a new bit array, or NULL on failure.Expand bit array ba by padding it with zeros in a reference bit array ref_ba. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Set all bits in a bit array. Returns:GAN_TRUE on success, GAN_FALSE on failure.Set all bits in bit array ba to the given boolean value val. | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Fill part of a bit array. Returns:GAN_TRUE on success, GAN_FALSE on failure.Fill part of a bit array, specified by the start point offset and the given number of bits no_bits. The part is filled with the given boolean value val. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Form new bit array using pre-allocated data array. Parameters: ba Existing bit array or NULL data Block of memory to use for bit array data_words Number of words in data array no_bits Number of bits in bit array **Returns:**Formed bit array, or NULL on error.Form new bit array of size no_bits using pre-allocated data array data. If data is not NULL, the number of data_words must be enough to store no_bits bits. | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Free NULL terminated list of bit arrays. **Returns:**No value.Free list of bit arrays starting with ba and terminated with NULL. | | ------------------------------------------------------------------------------------------------------------------------------------- |
| unsigned int gan_bit_array_get_first_set_bit | ( | Gan_BitArray * | ba | ) |
|---|
| | Get the first set bit in a bit array. **Returns:**The bit that is set or UINT_MAX if all are zero | | ----------------------------------------------------------------------------------------------------- |
| | Insert part of one bit array in another. Parameters: src Source bit array offset_src Offset of start of insertion region in src dst Destination bit array offset_dst Offset of start of insertion region in dst no_bits Number of bits to insert Returns:GAN_TRUE on success, GAN_FALSE on failure.Insert part of bit array src in bit array dst | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Invert all the bits in a bit array. Returns:GAN_TRUE on success, GAN_FALSE on failure.Invert all the bits in a bit array ba. | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Invert part of a bit array. Returns:GAN_TRUE on success, GAN_FALSE on failure.Invert part of a bit array, specified by the start point offset and the given number of bits no_bits. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Invert all the bits in a bit array. **Returns:**A new inverted bit array.Invert all the bits in a bit array ba, returning the result as anew bit array. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| | Form new bit array using stack memory style memory allocation. Parameters: ms Pointer to memory stack structure ba Existing bit array or NULL no_bits Number of bits in bit array **Returns:**Formed bit array, or NULL on error.Form new bit array of size no_bits using stack-style memory allocation. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Perform binary NAND (not and) operation between bit arrays. Returns:GAN_TRUE on success, GAN_FALSE on failure.Perform binary NAND (not and) operation between bit arrays ba and ba_dst, writing the result into ba_dst. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Perform binary NAND (not and) operation between bit arrays. **Returns:**The result as a new bit array.Perform binary NAND (not and) operation between bit arrays ba1 and ba2, returning the result as a new bit array. | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Perform binary OR operation between bit arrays. Returns:GAN_TRUE on success, GAN_FALSE on failure.Perform binary OR operation between bit arrays ba and ba_dst, writing the result into ba_dst. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Perform binary OR operation between bit arrays. **Returns:**The result as a new bit array.Perform binary OR operation between bit arrays ba1 and ba2, returning the result as a new bit array. | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Macro: Print bit array in ASCII to standard output. Print bit array in ASCII to standard output. Implemented as a macro call to gan_bit_array_fprint(). | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Reset size of existing bit array. Returns:GAN_TRUE on success, GAN_FALSE on failure.Reset size of existing bit array ba to no_bits. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Shift bit array and write result into another. Parameters: ba_source Input bit array no_bits Number of bits to shift bit array ba_dest Result bit array Returns:GAN_TRUE on success, GAN_FALSE on failure.Shift input bit array ba_source by no_bits, and write result into another bit array ba_dest. If no_bits is >= 0, the shift is towards the end of the bit array, and vice veraa. | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Shift bit array in-place. Parameters: ba Input bit array no_bits Number of bits to shift bit array Returns:GAN_TRUE on success, GAN_FALSE on failure.Shift input bit array ba by no_bits in-place. If no_bits is >= 0, the shift is towards the end of the bit array, and vice veraa. | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void gan_copy_array_d | ( | const double * | source, |
|---|---|---|---|
| long | s_stride, | ||
| unsigned long | size, | ||
| double * | dest, | ||
| long | d_stride | ||
| ) |
| | Copy array of objects. Copy source array of objects of type #double to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void gan_copy_array_f | ( | const float * | source, |
|---|---|---|---|
| long | s_stride, | ||
| unsigned long | size, | ||
| float * | dest, | ||
| long | d_stride | ||
| ) |
| | Copy array of objects. Copy source array of objects of type #float to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void gan_copy_array_i | ( | const int * | source, |
|---|---|---|---|
| long | s_stride, | ||
| unsigned long | size, | ||
| int * | dest, | ||
| long | d_stride | ||
| ) |
| | Copy array of objects. Copy source array of objects of type #int to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void gan_copy_array_l | ( | const long * | source, |
|---|---|---|---|
| long | s_stride, | ||
| unsigned long | size, | ||
| long * | dest, | ||
| long | d_stride | ||
| ) |
| | Copy array of objects. Copy source array of objects of type #long to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void gan_copy_array_p | ( | const void ** | source, |
|---|---|---|---|
| long | s_stride, | ||
| unsigned long | size, | ||
| void ** | dest, | ||
| long | d_stride | ||
| ) |
| | Copy array of objects. Copy source array of objects of type #void * to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| void gan_copy_array_s | ( | const short * | source, |
|---|---|---|---|
| long | s_stride, | ||
| unsigned long | size, | ||
| short * | dest, | ||
| long | d_stride | ||
| ) |
| | Copy array of objects. Copy source array of objects of type #short to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void gan_copy_array_uc | ( | const unsigned char * | source, |
|---|---|---|---|
| long | s_stride, | ||
| unsigned long | size, | ||
| unsigned char * | dest, | ||
| long | d_stride | ||
| ) |
| | Copy array of objects. Copy source array of objects of type #unsigned char to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| void gan_copy_array_ui | ( | const unsigned int * | source, |
|---|---|---|---|
| long | s_stride, | ||
| unsigned long | size, | ||
| unsigned int * | dest, | ||
| long | d_stride | ||
| ) |
| | Copy array of objects. Copy source array of objects of type #unsigned int to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void gan_copy_array_ul | ( | const unsigned long * | source, |
|---|---|---|---|
| long | s_stride, | ||
| unsigned long | size, | ||
| unsigned long * | dest, | ||
| long | d_stride | ||
| ) |
| | Copy array of objects. Copy source array of objects of type #unsigned long to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| void gan_copy_array_us | ( | const unsigned short * | source, |
|---|---|---|---|
| long | s_stride, | ||
| unsigned long | size, | ||
| unsigned short * | dest, | ||
| long | d_stride | ||
| ) |
| | Copy array of objects. Copy source array of objects of type #unsigned short to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_COPY_DEC | ( | f64 | , |
|---|---|---|---|
| gan_float64 | |||
| ) |
| | Copy array of 64-bit floating point objects. Copy source array of objects of type #gan_float64 to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_COPY_DEC | ( | f32 | , |
|---|---|---|---|
| gan_float32 | |||
| ) |
| | Copy array of 32-bit floating point objects. Copy source array of objects of type #gan_float32 to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_COPY_DEC | ( | ui64 | , |
|---|---|---|---|
| gan_ui64 | |||
| ) |
| | Copy array of 64-bit unsigned integer objects. Copy source array of objects of type #gan_ui64 to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_COPY_DEC | ( | i32 | , |
|---|---|---|---|
| gan_int32 | |||
| ) |
| | Copy array of 32-bit unsigned integer objects. Copy source array of objects of type #gan_int32 to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_COPY_DEC | ( | ui32 | , |
|---|---|---|---|
| gan_uint32 | |||
| ) |
| | Copy array of 32-bit unsigned integer objects. Copy source array of objects of type #gan_uint32 to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_COPY_DEC | ( | ui16 | , |
|---|---|---|---|
| gan_uint16 | |||
| ) |
| | Copy array of 16-bit unsigned integer objects. Copy source array of objects of type #gan_uint16 to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_COPY_DEC | ( | ui8 | , |
|---|---|---|---|
| gan_uint8 | |||
| ) |
| | Copy array of 8-bit unsigned integer objects. Copy source array of objects of type #gan_uint8 to dest array. The stride arguments indicate the spacing between elements of the arrays. **Returns:**No value. | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void gan_fill_array_d | ( | double * | arr, |
|---|---|---|---|
| unsigned long | size, | ||
| long | stride, | ||
| double | val | ||
| ) |
| | Fill array of objects. **Returns:**No value.Fill array arr of objects of type #double with a constant value val. | | ----------------------------------------------------------------------------------------------------------------------- |
| void gan_fill_array_f | ( | float * | arr, |
|---|---|---|---|
| unsigned long | size, | ||
| long | stride, | ||
| float | val | ||
| ) |
| | Fill array of objects. **Returns:**No value.Fill array arr of objects of type #float with a constant value val. | | ---------------------------------------------------------------------------------------------------------------------- |
| void gan_fill_array_i | ( | int * | arr, |
|---|---|---|---|
| unsigned long | size, | ||
| long | stride, | ||
| int | val | ||
| ) |
| | Fill array of objects. **Returns:**No value.Fill array arr of objects of type #int with a constant value val. | | -------------------------------------------------------------------------------------------------------------------- |
| void gan_fill_array_l | ( | long * | arr, |
|---|---|---|---|
| unsigned long | size, | ||
| long | stride, | ||
| long | val | ||
| ) |
| | Fill array of objects. **Returns:**No value.Fill array arr of objects of type #long with a constant value val. | | --------------------------------------------------------------------------------------------------------------------- |
| void gan_fill_array_p | ( | void ** | arr, |
|---|---|---|---|
| unsigned long | size, | ||
| long | stride, | ||
| void * | val | ||
| ) |
| | Fill array of objects. **Returns:**No value.Fill array arr of objects of type #void * with a constant value val. | | ------------------------------------------------------------------------------------------------------------------------ |
| void gan_fill_array_s | ( | short * | arr, |
|---|---|---|---|
| unsigned long | size, | ||
| long | stride, | ||
| short | val | ||
| ) |
| | Fill array of objects. **Returns:**No value.Fill array arr of objects of type #short with a constant value val. | | ---------------------------------------------------------------------------------------------------------------------- |
| void gan_fill_array_uc | ( | unsigned char * | arr, |
|---|---|---|---|
| unsigned long | size, | ||
| long | stride, | ||
| unsigned char | val | ||
| ) |
| | Fill array of objects. **Returns:**No value.Fill array arr of objects of type #unsigned char with a constant value val. | | ------------------------------------------------------------------------------------------------------------------------------ |
| void gan_fill_array_ui | ( | unsigned int * | arr, |
|---|---|---|---|
| unsigned long | size, | ||
| long | stride, | ||
| unsigned int | val | ||
| ) |
| | Fill array of objects. **Returns:**No value.Fill array arr of objects of type #unsigned int with a constant value val. | | ----------------------------------------------------------------------------------------------------------------------------- |
| void gan_fill_array_ul | ( | unsigned long * | arr, |
|---|---|---|---|
| unsigned long | size, | ||
| long | stride, | ||
| unsigned long | val | ||
| ) |
| | Fill array of objects. **Returns:**No value.Fill array arr of objects of type #unsigned long with a constant value val. | | ------------------------------------------------------------------------------------------------------------------------------ |
| void gan_fill_array_us | ( | unsigned short * | arr, |
|---|---|---|---|
| unsigned long | size, | ||
| long | stride, | ||
| unsigned short | val | ||
| ) |
| | Fill array of objects. **Returns:**No value.Fill array arr of objects of type #unsigned short with a constant value val. | | ------------------------------------------------------------------------------------------------------------------------------- |
| GAN_FILL_DEC | ( | gan_float64 | , |
|---|---|---|---|
| f64 | |||
| ) |
| | Fill array of 64-bit floating point objects. **Returns:**No value.Fill array arr of objects of type #gan_float64 with a constant value val. | | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_FILL_DEC | ( | gan_float32 | , |
|---|---|---|---|
| f32 | |||
| ) |
| | Fill array of 32-bit floating point objects. **Returns:**No value.Fill array arr of objects of type #gan_float32 with a constant value val. | | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_FILL_DEC | ( | gan_ui64 | , |
|---|---|---|---|
| ui64 | |||
| ) |
| | Fill array of 64-bit unsigned integer objects. **Returns:**No value.Fill array arr of objects of type #gan_ui64 with a constant value val. | | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_FILL_DEC | ( | gan_int32 | , |
|---|---|---|---|
| i32 | |||
| ) |
| | Fill array of 32-bit signed integer objects. **Returns:**No value.Fill array arr of objects of type #gan_int32 with a constant value val. | | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_FILL_DEC | ( | gan_uint32 | , |
|---|---|---|---|
| ui32 | |||
| ) |
| | Fill array of 32-bit unsigned integer objects. **Returns:**No value.Fill array arr of objects of type #gan_uint32 with a constant value val. | | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_FILL_DEC | ( | gan_uint16 | , |
|---|---|---|---|
| ui16 | |||
| ) |
| | Fill array of 16-bit unsigned integer objects. **Returns:**No value.Fill array arr of objects of type #gan_uint16 with a constant value val. | | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| GAN_FILL_DEC | ( | gan_uint8 | , |
|---|---|---|---|
| ui8 | |||
| ) |
| | Fill array of 8-bit unsigned integer objects. **Returns:**No value.Fill array arr of objects of type #gan_uint8 with a constant value val. | | -------------------------------------------------------------------------------------------------------------------------------------------------- |
