LALAtomicDatatypes.h File Reference

Author:
Creighton, J.The primative LAL datatypes.
More...

#include <lal/LALConfig.h>
#include <lal/LALRCSID.h>

Include dependency graph for LALAtomicDatatypes.h:

Go to the source code of this file.

Data Structures

struct  tagCOMPLEX8
 Single-precision floating-point complex number (8 bytes total). More...
struct  tagCOMPLEX16
 Double-precision floating-point complex number (16 bytes total). More...

Defines

#define LAL_INT8_C(v)   (v ## LL)
#define LAL_UINT8_C(v)   (v ## ULL)

Typedefs

typedef char CHAR
 One-byte signed integer.
typedef unsigned char UCHAR
 One-byte unsigned integer.
typedef unsigned char BOOLEAN
typedef short INT2
 Two-byte signed integer.
typedef unsigned short UINT2
 Two-byte unsigned integer.
typedef int INT4
 Four-byte signed integer.
typedef unsigned int UINT4
 Four-byte unsigned integer.
typedef long long INT8
 Eight-byte signed integer.
typedef unsigned long long UINT8
 Eight-byte unsigned integer.
typedef float REAL4
 Single precision real floating-point number (4 bytes).
typedef double REAL8
 Double precision real floating-point number (8 bytes).
typedef tagCOMPLEX8 COMPLEX8
 Single-precision floating-point complex number (8 bytes total).
typedef tagCOMPLEX16 COMPLEX16
 Double-precision floating-point complex number (16 bytes total).

Functions

 NRCSID (LALATOMICDATATYPESH,"$Id: LALAtomicDatatypes.h,v 1.9 2007/06/08 14:41:52 bema Exp $")


Detailed Description

Author:
Creighton, J.The primative LAL datatypes.

D. E., and Creighton, T. D.

Date:
Id
LALAtomicDatatypes.h,v 1.9 2007/06/08 14:41:52 bema Exp
This header defines the primative LAL datatypes. These datatypes are: CHAR, INT2, INT4, INT8 (signed integer types); UCHAR, UINT2 UINT4, UINT8 (unsigned integer types); REAL4, REAL8 (single- and double-precision floating point types); and COMPLEX8 and COMPLEX16 (single- and double-precision floating point complex types). Note that the complex types are implemented as structures. This is because LAL conforms to the C89 standard rather than the C99 standard. The non-complex datatypes are known as atomic datatypes: these may be passed directly to functions or used as the return value of XLAL functions.

The number in the name of each of these types (other than CHAR and UCHAR) is the number of 8-bit bytes that the datatype occupies. E.g., INT4 is a four-byte integer. In C99 it would be called int32_t. While the size of types such as int and long int are platform dependent, the sizes of INT4 and INT8 is always 4- and 8-bytes respectively (platform independent). REAL4 and REAL8 are always type float and double but LAL is only supported on platforms in which these types conform to the IEEE 754 standard.

This documentation shows how the datatypes are defined on today's most common (32-bit) platform. Be careful in particular about the integer type INT8. On 64-bit platforms it will usually be equivalent to type long int rather than type long long int.

Definition in file LALAtomicDatatypes.h.


Define Documentation

#define LAL_INT8_C ( v   )     (v ## LL)

Definition at line 355 of file LALAtomicDatatypes.h.

#define LAL_UINT8_C ( v   )     (v ## ULL)

Definition at line 356 of file LALAtomicDatatypes.h.


Typedef Documentation

typedef char CHAR

One-byte signed integer.

Definition at line 209 of file LALAtomicDatatypes.h.

typedef unsigned char UCHAR

One-byte unsigned integer.

Definition at line 210 of file LALAtomicDatatypes.h.

typedef unsigned char BOOLEAN

Definition at line 211 of file LALAtomicDatatypes.h.

typedef short INT2

Two-byte signed integer.

Definition at line 306 of file LALAtomicDatatypes.h.

typedef short UINT2

Two-byte unsigned integer.

Definition at line 307 of file LALAtomicDatatypes.h.

typedef int INT4

Four-byte signed integer.

Definition at line 318 of file LALAtomicDatatypes.h.

typedef int UINT4

Four-byte unsigned integer.

Definition at line 319 of file LALAtomicDatatypes.h.

typedef long long INT8

Eight-byte signed integer.

On some platforms this is equivalent to long int instead.

Definition at line 335 of file LALAtomicDatatypes.h.

typedef long long UINT8

Eight-byte unsigned integer.

On some platforms this is equivalent to unsigned long int instead.

Definition at line 336 of file LALAtomicDatatypes.h.

typedef float REAL4

Single precision real floating-point number (4 bytes).

Definition at line 365 of file LALAtomicDatatypes.h.

typedef double REAL8

Double precision real floating-point number (8 bytes).

Definition at line 372 of file LALAtomicDatatypes.h.

typedef struct tagCOMPLEX8 COMPLEX8

Single-precision floating-point complex number (8 bytes total).

typedef struct tagCOMPLEX16 COMPLEX16

Double-precision floating-point complex number (16 bytes total).


Function Documentation

NRCSID ( LALATOMICDATATYPESH  ,
"$Id: LALAtomicDatatypes.  h,
v 1.9 2007/06/08 14:41:52 bema Exp $"   
)


Generated on Tue Oct 14 02:33:01 2008 for LAL by  doxygen 1.5.2