Provided by: libgetdata-doc_0.11.0-4_all bug

NAME

       gd_native_type — returns the native data type of a field in a Dirfile

SYNOPSIS

       #include <getdata.h>

       gd_type_t gd_native_type(DIRFILE *dirfile, const char *field_code);

DESCRIPTION

       The  gd_native_type()  function  queries  a  dirfile(5)  database specified by dirfile and
       determines the  native  type  of  data  specified  by  field_code,  which  may  contain  a
       representation suffix.

       The  dirfile argument must point to a valid DIRFILE object previously created by a call to
       gd_open(3).

       The native data type of a field of a given entry type is calculated as:

       BIT
       INDEX   GD_UINT64;

       CONST
       CARRAY  the data type of the field;

       DIVIDE
       MULTIPLY
               if either input field is complex valued: GD_COMPLEX128, otherwise: GD_FLOAT64;

       INDIR   the data type of the input CARRAY;

       LINCOM
       POLYNOM if any of the scalar parameters is complex valued, or if the native data  type  of
               any of the input fields is complex valued: GD_COMPLEX128, otherwise: GD_FLOAT64;

       LINTERP if the look-up table is complex valued: GD_COMPLEX128, otherwise: GD_FLOAT64;

       MPLEX
       WINDOW  the native data type of the data field;

       PHASE   the native data type of the input field;

       RAW     the data type of the raw data on disk;

       RECIP   if  the  dividend  or  the  native data type of the input field is complex valued:
               GD_COMPLEX128, otherwise: GD_FLOAT64;

       SARRAY
       SINDIR
       STRING  GD_STRING;

       SBIT    GD_INT64.

       Furthermore, if the supplied field_code contains a representation suffix, and  the  native
       data  type  of  the  field  is  complex  valued,  the  native  type  returned  will be the
       corresponding real valued type.

RETURN VALUE

       Upon successful completion, gd_native_type() returns the native data  type  of  the  field
       code specified.  This will equal one of the symbols:

              GD_UINT8, GD_INT8, GD_UINT16, GD_INT16, GD_UINT32, GD_INT32, GD_FLOAT32,
              GD_FLOAT64, GD_COMPLEX64, GD_COMPLEX128, GD_STRING.

       The meanings of these symbols are explained in the gd_getdata(3) manual page.

       On error, this function returns GD_UNKNOWN and stores a negative-valued error code in  the
       DIRFILE object which may be retrieved by a subsequent call to gd_error(3).  Possible error
       codes are:

       GD_E_ALLOC
               The library was unable to allocate memory.

       GD_E_BAD_CODE
               The field specified by field_code or one of the fields it uses as  input  was  not
               found in the database.

       GD_E_BAD_DIRFILE
               The supplied dirfile was invalid.

       GD_E_DIMENSION
               A scalar field was found where a vector field was expected.

       GD_E_IO An error occurred while trying to read a LINTERP table from disk.

       GD_E_LUT
               A LINTERP table was malformed.

       GD_E_RECURSE_LEVEL
               Too  many levels of recursion were encountered while trying to resolve field_code.
               This usually indicates  a  circular  dependency  in  field  specification  in  the
               dirfile.

       A descriptive error string for the error may be obtained by calling gd_error_string(3).

HISTORY

       The  get_native_type()  function  appeared  in  GetData-0.6.0.  The return type for STRING
       fields was GD_NULL.

       In GetData-0.7.0, this function was renamed to gd_native_type().

       Before GetData-0.10.0, the return type for STRING fields was GD_NULL.

SEE ALSO

       gd_error(3), gd_error_string(3) gd_getdata(3), gd_open(3), dirfile(5)