Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

srm_stds.h File Reference

Defines the 'base' SRM types. More...

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Defines

#define EXPORT_DLL
#define SRM_BIG_ENDIAN
#define SRM_INTEGER_MAX   2147483647
#define SRM_INTEGER_MIN   (-2147483647-1)
#define SRM_INTEGER_UNSIGNED_MAX   4294967295U
#define SRM_INTEGER_UNSIGNED_MIN   0
#define SRM_INTEGER_POSITIVE_MAX   4294967295U
#define SRM_INTEGER_POSITIVE_MIN   1
#define SRM_POSITIVE_INFINITY   (*(SRM_Long_Float *)__srm_64_pos_infinity)
#define SRM_NEGATIVE_INFINITY   (*(SRM_Long_Float *)__srm_64_neg_infinity)
#define SRM_EQUAL(a, b, delta)

Typedefs

typedef int SRM_Integer
typedef unsigned int SRM_Integer_Unsigned
typedef unsigned int SRM_Integer_Positive
typedef double SRM_Long_Float

Enumerations

enum  SRM_Boolean { SRM_FALSE = 0, SRM_TRUE = 1 }

Functions

const char * SRM_GetImplVerInfo (void)
 This function returns the implementation version of the SRM component.


Variables

const unsigned int __srm_64_pos_infinity [2]
const unsigned int __srm_64_neg_infinity [2]


Detailed Description

Defines the 'base' SRM types.

Author:
Bill Horan (SAIC)
CHANGE THIS FILE, IF NEEDED, TO MATCH YOUR MACHINE!

This file:

YOU WILL NEED TO CHANGE THIS FILE:

By 'default', this header file is designed for a Big Endian machine with a 32 bit integer. The 'default' type definitions are:

(SRM Base Type -- machine specific type)

IF THESE "machine specific" TYPES ARE NOT CORRECT FOR YOUR MACHINE, THEN CHANGE THE DEFINITIONS TO THE APPROPRIATE MACHINE SPECIFIC TYPES USED IN THE "typedef" STATEMENTS TO BE CORRECT FOR YOUR MACHINE.

For example, if on your machine an int is 16 bits, and a long int is 32 bits, then you would probably change the integer declarations to read as follows:

IF YOUR MACHINE IS NOT DEFINED AS A LITTLE ENDIAN MACHINE, THEN ADD THE APPROPRIATE #defined() TO THE LINE THAT READS

This file is the only SRM file that should need to be changed due to machine (platform/OS) differences.

For other release dates/detailed changes, contact SAIC.

Definition in file srm_stds.h.


Define Documentation

#define SRM_EQUAL a,
b,
delta   ) 
 

Value:

( ((a) == (b)) || \
     ((a)-(delta) < (b) && (a)+(delta) > (b)) )
MACRO: SRM_EQUAL

A convenient macro to test whether two floating point numbers are within delta of each other (to avoid the classic problem of using == to compare equality among floating point numbers)

Definition at line 197 of file srm_stds.h.

#define SRM_INTEGER_MAX   2147483647
 

Used to define the max integer value.

Definition at line 143 of file srm_stds.h.

#define SRM_INTEGER_MIN   (-2147483647-1)
 

Used to define the min integer value.

Definition at line 147 of file srm_stds.h.

#define SRM_INTEGER_POSITIVE_MAX   4294967295U
 

Used to define the max integer positive value.

Definition at line 159 of file srm_stds.h.

#define SRM_INTEGER_POSITIVE_MIN   1
 

Used to define the min integer positive value.

Definition at line 163 of file srm_stds.h.

#define SRM_INTEGER_UNSIGNED_MAX   4294967295U
 

Used to define the max integer unsigned value.

Definition at line 151 of file srm_stds.h.

#define SRM_INTEGER_UNSIGNED_MIN   0
 

Used to define the min integer unsigned value.

Definition at line 155 of file srm_stds.h.

#define SRM_NEGATIVE_INFINITY   (*(SRM_Long_Float *)__srm_64_neg_infinity)
 

The constant negative 64 infinity value.

Definition at line 188 of file srm_stds.h.

#define SRM_POSITIVE_INFINITY   (*(SRM_Long_Float *)__srm_64_pos_infinity)
 

The constant positive 64 infinity value.

Definition at line 184 of file srm_stds.h.


Typedef Documentation

typedef int SRM_Integer
 

SRM's integer

Definition at line 117 of file srm_stds.h.

typedef unsigned int SRM_Integer_Positive
 

SRM's integer positive

Definition at line 123 of file srm_stds.h.

typedef unsigned int SRM_Integer_Unsigned
 

SRM's integer unsigned

Definition at line 120 of file srm_stds.h.

typedef double SRM_Long_Float
 

SRM's long float

Definition at line 127 of file srm_stds.h.


Enumeration Type Documentation

enum SRM_Boolean
 

ENUM: SRM_Boolean

Boolean.

Enumeration values:
SRM_FALSE  False value
SRM_TRUE  True value

Definition at line 134 of file srm_stds.h.


Function Documentation

const char* SRM_GetImplVerInfo void   ) 
 

This function returns the implementation version of the SRM component.

Returns:
the appropriate version string


Variable Documentation

const unsigned int __srm_64_neg_infinity[2]
 

Used to define the negative 64 infinity value.

Definition at line 178 of file srm_stds.h.

const unsigned int __srm_64_pos_infinity[2]
 

Used to define the positive 64 infinity value.

Definition at line 171 of file srm_stds.h.


Spatial Reference Model C++ API Version 4.1 - 26 Jun 2006
Copyright © 2006 SEDRIS Docs by Doxygen 1.3.2