gbits.c(3)

NAME
gbits.c - Functions to pack and unpack bits to/from a packed bit string.

SYNOPSIS

#include 'grib2_int.h'

  Functions

void g2c_gbit_int (unsigned char *in, int *iout, int iskip, int nbits)
Extract arbitrary size values from a packed bit string, right justifying each value in the unpacked iout array.
int g2c_gbits_int (unsigned char *in, int *iout, int iskip, int nbits, int nskip, int n)
Extract arbitrary size values from a packed bit string, right justifying each value in the unpacked iout array.
void gbit (unsigned char *in, g2int *iout, g2int iskip, g2int nbits)
Get arbitrary size values from a packed bit string, right justifying each value in the unpacked iout array.
void gbits (unsigned char *in, g2int *iout, g2int iskip, g2int nbits, g2int nskip, g2int n)
Unpack arbitrary size values from a packed bit string, right justifying each value in the unpacked iout array.
void sbit (unsigned char *out, g2int *in, g2int iskip, g2int nbits)
Store arbitrary size values into a packed bit string, taking the low order bits from each value in the unpacked array.
void sbits (unsigned char *out, g2int *in, g2int iskip, g2int nbits, g2int nskip, g2int n)
Store arbitrary size values into a packed bit string, taking the low order bits from each value in the unpacked array.

Detailed Description

Functions to pack and unpack bits to/from a packed bit string.

Author
    NOAA Programmer

Definition in file gbits.c.

Function Documentation

  void g2c_gbit_int (unsigned char * in, int * iout, int iskip, int nbits)

Extract arbitrary size values from a packed bit string, right justifying each value in the unpacked iout array. This is similar to gbit(), but with int types instead of g2int.

Parameters
    in pointer to character array input.
    iout pointer that gets the unpacked array output.
    iskip initial number of bits to skip.
    nbits number of bits to take.

Author
    NOAA Programmer

Definition at line 113 of file gbits.c.

References g2c_gbits_int().

  int g2c_gbits_int (unsigned char * in, int * iout, int iskip, int nbits, int nskip, int n)

Extract arbitrary size values from a packed bit string, right justifying each value in the unpacked iout array. This is similar to gbits(), but with int types instead of g2int.

Parameters
    in Pointer to character array input.
    iout Pointer that gets the unpacked array output.
    iskip Initial number of bits to skip.
    nbits Number of bits to take.
    nskip Additional number of bits to skip on each iteration.
    n Number of iterations.

Returns

    •   G2C_NOERROR No error.

    •   G2C_ENOMEM Out of memory.

Author
    Ed Hartnett

Date
    8/31/22

Definition at line 137 of file gbits.c.

References G2C_EINVAL, G2C_ENOMEM, G2C_NOERROR, and gbits().

Referenced by g2c_gbit_int().

  void gbit (unsigned char * in, g2int * iout, g2int iskip, g2int nbits)

Get arbitrary size values from a packed bit string, right justifying each value in the unpacked iout array.

Parameters
    in pointer to character array input.
    iout pointer that gets the unpacked array output.
    iskip initial number of bits to skip.
    nbits number of bits to take.

Author
    NOAA Programmer

Definition at line 20 of file gbits.c.

References gbits().

Referenced by comunpack(), g2_addfield(), g2_addgrid(), g2_addlocal(), g2_getfld(), g2_gribend(), g2_info(), g2_unpack1(), g2_unpack2(), g2_unpack3(), g2_unpack4(), g2_unpack5(), g2_unpack6(), g2c_check_msg(), g2c_unpack7_int(), and seekgb().

  void gbits (unsigned char * in, g2int * iout, g2int iskip, g2int nbits, g2int nskip, g2int n)

Unpack arbitrary size values from a packed bit string, right justifying each value in the unpacked iout array.

Parameters
    in Pointer to character array input.
    iout Pointer that gets the unpacked array output.
    iskip Initial number of bits to skip.
    nbits Number of bits to take.
    nskip Additional number of bits to skip on each iteration.
    n Number of iterations.

Author
    NOAA Programmer

Definition at line 57 of file gbits.c.

Referenced by aecunpack_int(), comunpack(), g2_unpack3(), g2_unpack4(), g2_unpack6(), g2c_gbits_int(), gbit(), pngunpack_int(), simunpack(), and specunpack().

  void sbit (unsigned char * out, g2int * in, g2int iskip, g2int nbits)

Store arbitrary size values into a packed bit string, taking the low order bits from each value in the unpacked array.

Parameters
    out Pointer to packed array output. Must be allocated large enough to hold output.
    in Pointer that gets the unpacked array input.
    iskip Initial number of bits to skip.
    nbits Number of bits to pack.

Author
    NOAA Programmer

Definition at line 38 of file gbits.c.

References sbits().

Referenced by compack(), g2_addfield(), g2_addgrid(), g2_addlocal(), g2_create(), g2_gribend(), misspack(), and simpack().

  void sbits (unsigned char * out, g2int * in, g2int iskip, g2int nbits, g2int nskip, g2int n)

Store arbitrary size values into a packed bit string, taking the low order bits from each value in the unpacked array.

Parameters
    out Pointer to packed array output. Must be allocated large enough to hold output.
    in Pointer that gets the unpacked array input.
    iskip Initial number of bits to skip.
    nbits Number of bits to pack.
    nskip Additional number of bits to skip on each iteration.
    n Number of iterations.

Author
    NOAA Programmer

Definition at line 178 of file gbits.c.

Referenced by aecpack_int(), compack(), g2_addfield(), g2_addgrid(), jpcpack_int(), misspack(), pngpack_int(), sbit(), and simpack().

Author

Generated automatically by Doxygen for NCEPLIBS-g2c from the source code.