HDF5 Extras  0.0.1
Convenience Functions for using HDF5 Better
Macros | Variables
globals.h File Reference
#include <sys/types.h>
#include <limits.h>
#include <float.h>
#include <math.h>
#include <complex.h>
#include "gmalloc.h"
#include "bstrlib.h"
#include "hdf5mine.h"

Go to the source code of this file.

Macros

#define TRUE   1
 
#define FALSE   0
 
#define ERROR   -1
 
#define GS_DATATYPE_UNK   0
 DATA_TYPE. More...
 
#define GS_DATATYPE_UI1   1
 
#define GS_DATATYPE_UI8   2
 
#define GS_DATATYPE_SI8   3
 
#define GS_DATATYPE_CI8   4
 
#define GS_DATATYPE_UI16   5
 
#define GS_DATATYPE_SI16   6
 
#define GS_DATATYPE_CI16   7
 
#define GS_DATATYPE_UI32   8
 
#define GS_DATATYPE_SI32   9
 
#define GS_DATATYPE_CI32   10
 
#define GS_DATATYPE_CI64   11
 
#define GS_DATATYPE_R32   12
 
#define GS_DATATYPE_R64   13
 
#define GS_DATATYPE_C64   14
 
#define GS_DATATYPE_C128   15
 
#define GS_DATATYPE_UI64   16
 
#define GS_DATATYPE_SI64   17
 
#define GS_DATATYPE_MAX   17
 
#define MIN(a, b)   ((a<b) ? a : b)
 
#define MAX(a, b)   ((a>b) ? a : b)
 
#define ABS(x)   ((x<0) ? (-1*(x)) : x)
 
#define EQUALN(a, b, n)   (bstrnicmp(a,b,n)==0)
 
#define EQUAL(a, b)   (bstricmp(a,b)==0)
 
#define EQUALC(a, b)   (strcasecmp(a,b)==0)
 
#define ByteCopy(s, d, n)   bcopy((char *) (s),(char *) (d), n)
 
#define BstringCopy(s, d, n)   bassignblk((bstring)(d), (char *)(s), n)
 

Variables

bstring status_string
 
bstring error_string
 
bstring file_metadata_name
 

Macro Definition Documentation

#define GS_DATATYPE_UNK   0

DATA_TYPE.

The Data_Type* #defines are used for the 17 possible data types that are supported for images in a GeoSCi file. They are:
GS_DATATYPE_UI1 1
GS_DATATYPE_UI8 2
GS_DATATYPE_SI8 3
GS_DATATYPE_CI8 4
GS_DATATYPE_UI16 5
GS_DATATYPE_SI16 6
GS_DATATYPE_CI16 7
GS_DATATYPE_UI32 8
GS_DATATYPE_SI32 9
GS_DATATYPE_CI32 10
GS_DATATYPE_CI64 11
GS_DATATYPE_R32 12
GS_DATATYPE_R64 13
GS_DATATYPE_C64 14
GS_DATATYPE_C128 15
GS_DATATYPE_UI64 16
GS_DATATYPE_SI64 17

Details:

Datatypes in GeoSciPy consist of a set of pre-defined symbols that can be used for creating new data in files.

The following lists the datatype symbols and their definitions:

  • GS_DATATYPE_UI1 Unsigned Integer, 1-bit. This is used for creating bitmaps, or other logical-type variables that can only take on 2 values: 0 and 1.
    Declaration in C: u_int8_t
  • GS_DATATYPE_UI8 Unsigned Integer, 8-bit. This can be used for creating images that can take on the values 0 through 255. Many different kinds of data use this type.
    Declaration in C: u_int8_t
  • GS_DATATYPE_SI8 Signed Integer, 8-bit. This is for data where the value of the data goes from -128 to +127.
    Declaration in C: int8_t
  • GS_DATATYPE_CI8 Complex Integer, 8-bit. This is used for data where the real part of a complex number is represented by a signed-4-bit integer, and so is the imaginary part, making a total of 8 bits for the complex number. This is relatively rare.
    Declaration in C: ..currently not supported..
  • GS_DATATYPE_UI16 Unsigned Integer, 16-bit. This can be used for creating images that can take on the values 0 through 65535.
    Declaration in C: u_int16_t
  • GS_DATATYPE_SI16 Signed Integer, 16-bit. This is for data where the value of the data goes from -32768 to +32767.
    Declaration in C: int16_t
  • GS_DATATYPE_CI16 Complex Integer, 16-bit. This is used for data where the real part of a complex number is represented by a signed-8-bit integer, and so is the imaginary part, making a total of 16 bits for the complex number.
    Declaration in C: ci16_t
  • GS_DATATYPE_UI32 Unsigned Integer, 32-bit. This can be used for creating images that can take on the values 0 through (2^32) - 1.
    Declaration in C: u_int32_t
  • GS_DATATYPE_SI32 Signed Integer, 32-bit. This is for data where the value of the data goes from -(2^31) to (2^31)-1.
    Declaration in C: int32_t
  • GS_DATATYPE_CI32 Complex Integer, 32-bit. This is used for data where the real part of a complex number is represented by a signed-16-bit integer, and so is the imaginary part, making a total of 32 bits for the complex number.
    Declaration in C: ci32_t
  • GS_DATATYPE_CI64 Complex Integer, 64-bit. This is used for data where the real part of a complex number is represented by a signed-32-bit integer, and so is the imaginary part, making a total of 64 bits for the complex number.
    Declaration in C: ci64_t
  • GS_DATATYPE_R32 Real, 32-bit. This is for real data where the value of the data goes from approximately -3.402823466e+38 to 3.402823466e+38, with about 7 digits of precision.
    Declaration in C: float
  • GS_DATATYPE_R64 Real, 64-bit. This is for real data where the value of the data goes from approximately -1.797693135e+308 to 1.797693135e+308, with about 16 digits of precision.
    Declaration in C: double
  • GS_DATATYPE_C64 Complex, 64-bit. This is used for data where the real part of a complex number is represented by a 32-bit real number, and so is the imaginary part, making a total of 64 bits for the complex number.
    Declaration in C: c64_t
  • GS_DATATYPE_C128 Complex, 128-bit. This is used for data where the real part of a complex number is represented by a 64-bit real number, and so is the imaginary part, making a total of 128 bits for the complex number.
    Declaration in C: c128_t
  • GS_DATATYPE_UI64 Unsigned Integer, 64-bit. This can be used for creating images that can take on the values 0 through (2^64) - 1.
    Declaration in C: u_int64_t
  • GS_DATATYPE_SI64 Signed Integer, 64-bit. This is for data where the value of the data goes from -(2^63) to (2^63)-1.
    Declaration in C: int64_t