#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.
 | 
| 
#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) | 
|   | 
      
        
          | #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