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

srm_stds.h File Reference

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

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_MAJOR_VERSION   ((SRM_Integer_Positive)4)
#define SRM_MINOR_VERSION   ((SRM_Integer_Unsigned)4)
#define SRM_INTERIM_VERSION   '\0'
#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

EXPORT_DLL const char * SRM_GetImplVerInfo (void)

Variables

EXPORT_DLL const unsigned int __srm_64_pos_infinity [2]
EXPORT_DLL 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 EXPORT_DLL
 

Definition at line 157 of file srm_stds.h.

#define SRM_BIG_ENDIAN
 

Definition at line 176 of file srm_stds.h.

#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 283 of file srm_stds.h.

#define SRM_INTEGER_MAX   2147483647
 

Used to define the max integer value.

Definition at line 210 of file srm_stds.h.

#define SRM_INTEGER_MIN   (-2147483647-1)
 

Used to define the min integer value.

Definition at line 214 of file srm_stds.h.

#define SRM_INTEGER_POSITIVE_MAX   4294967295U
 

Used to define the max integer positive value.

Definition at line 226 of file srm_stds.h.

#define SRM_INTEGER_POSITIVE_MIN   1
 

Used to define the min integer positive value.

Definition at line 230 of file srm_stds.h.

#define SRM_INTEGER_UNSIGNED_MAX   4294967295U
 

Used to define the max integer unsigned value.

Definition at line 218 of file srm_stds.h.

#define SRM_INTEGER_UNSIGNED_MIN   0
 

Used to define the min integer unsigned value.

Definition at line 222 of file srm_stds.h.

#define SRM_INTERIM_VERSION   '\0'
 

Specifies the interim version letter of the release of the SRM implementation. This shall be '' for none; between 'a' and 'z' inclusive, for an unofficial interim version.

Definition at line 274 of file srm_stds.h.

#define SRM_MAJOR_VERSION   ((SRM_Integer_Positive)4)
 

Specifies the major version number of the release of the SRM implementation.

Definition at line 261 of file srm_stds.h.

#define SRM_MINOR_VERSION   ((SRM_Integer_Unsigned)4)
 

Specifies the minor version number of the release of the SRM implementation.

Definition at line 267 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 255 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 251 of file srm_stds.h.


Typedef Documentation

typedef int SRM_Integer
 

SRM's integer

Definition at line 184 of file srm_stds.h.

typedef unsigned int SRM_Integer_Positive
 

SRM's integer positive

Definition at line 190 of file srm_stds.h.

typedef unsigned int SRM_Integer_Unsigned
 

SRM's integer unsigned

Definition at line 187 of file srm_stds.h.

typedef double SRM_Long_Float
 

SRM's long float

Definition at line 194 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 201 of file srm_stds.h.


Function Documentation

EXPORT_DLL const char* SRM_GetImplVerInfo void   ) 
 

This function returns the implementation version of the SRM component.

Returns:
the appropriate version string


Variable Documentation

EXPORT_DLL const unsigned int __srm_64_neg_infinity[2]
 

Used to define the negative 64 infinity value.

Definition at line 245 of file srm_stds.h.

EXPORT_DLL const unsigned int __srm_64_pos_infinity[2]
 

Used to define the positive 64 infinity value.

Definition at line 238 of file srm_stds.h.


C API Version: 4.4 - December 7, 2009
Copyright © 2009 SEDRIS Docs by Doxygen 1.3.2