1/* Copyright 2009, UCAR/Unidata and OPeNDAP, Inc.
2   See the COPYRIGHT file for more information. */
3
4#ifndef OCDATATYPES_H
5#define OCDATATYPES_H
6
7/* Define some useful info about the supported
8   primitive datatypes*/
9
10#define DCHAR char
11#define DBYTE signed char
12#define DUBYTE unsigned char
13#define DINT16 short
14#define DUINT16 unsigned short
15#define DINT32 int
16#define DUINT32 unsigned int
17#define DINT64 int
18#define DUINT64 unsigned int
19#define DFLOAT32 float
20#define DFLOAT64 double
21
22#define OC_CHAR_MIN ((char)0x00)
23#define OC_CHAR_MAX ((char)0xff)
24#define OC_BYTE_MIN -128
25#define OC_BYTE_MAX 127
26#define OC_UBYTE_MIN 0
27#define OC_UBYTE_MAX 255U
28#define OC_INT16_MIN -32768
29#define OC_INT16_MAX 32767
30#define OC_UINT16_MIN 0
31#define OC_UINT16_MAX 65535U
32#define OC_INT32_MIN (-2147483647 - 1)
33#define OC_INT32_MAX 2147483647
34#define OC_UINT32_MIN 0
35#define OC_UINT32_MAX 4294967295U
36#define OC_INT64_MIN    (-9223372036854775807LL-1)
37#define OC_INT64_MAX    (9223372036854775807LL)
38#define OC_UINT64_MIN   0LL
39#define OC_UINT64_MAX   (18446744073709551615ULL)
40#define OC_FLOAT32_MAX 3.402823466E+38F /* max decimal value of a "float" */
41#define OC_FLOAT32_MIN (-OC_FLOAT_MAX)
42#define OC_FLOAT64_MAX 1.7976931348623157E+308 /* max decimal value of a double */
43#define OC_FLOAT64_MIN (-OC_FLOAT64_MAX)
44
45/* Similar to netcdf*/
46#define OC_FILL_CHAR ((char)0)
47#define OC_FILL_BYTE ((signed char)-127)
48#define OC_FILL_UBYTE   (255)
49#define OC_FILL_INT16 ((short)-32767)
50#define OC_FILL_UINT16  (65535)
51#define OC_FILL_INT32 (-2147483647L)
52#define OC_FILL_UINT32    (4294967295U)
53#define OC_FILL_INT64   ((long long)-9223372036854775806LL)
54#define OC_FILL_UINT64  ((unsigned long long)18446744073709551614ULL)
55#define OC_FILL_FLOAT32 (9.9692099683868690e+36f) /* near 15 * 2^119 */
56#define OC_FILL_FLOAT64 (9.9692099683868690e+36)
57#define OC_FILL_STRING  ""
58#define OC_FILL_URL  ""
59
60
61#endif /*OCDATATYPES_H*/


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed