gd_native_type(3)

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 function queries a dirfile(5) database specified by and determines the native type of data specified by which may contain a representation suffix.

The argument must point to a valid DIRFILE object previously created by a call to

The native data type of a field of a given entry type is calculated as: GD_UINT64; the data type of the field; if either input field is complex valued: GD_COMPLEX128, otherwise: GD_FLOAT64; the data type of the input CARRAY; 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; if the look-up table is complex valued: GD_COMPLEX128, otherwise: GD_FLOAT64; the native data type of the data field; the native data type of the input field; the data type of the raw data on disk; if the dividend or the native data type of the input field is complex valued: GD_COMPLEX128, otherwise: GD_FLOAT64; GD_STRING; GD_INT64.

Furthermore, if the supplied 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, 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 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 Possible error codes are: The library was unable to allocate memory. The field specified by or one of the fields it uses as input was not found in the database. The supplied dirfile was invalid. A scalar field was found where a vector field was expected. An error occurred while trying to read a LINTERP table from disk. A LINTERP table was malformed. Too many levels of recursion were encountered while trying to resolve This usually indicates a circular dependency in field specification in the dirfile.

A descriptive error string for the error may be obtained by calling

HISTORY
The 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

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

SEE ALSO
dirfile(5)