Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

DataContainer


Files

file  psType.h
 Contains support for basic types.

Data Structures

struct  psType
 The type of a data type. More...
struct  psMathType
struct  psMath
 The type of a basic data type. More...

Defines

#define PS_TYPE_MASK   PS_TYPE_U8
 the psElemType to use for mask image
#define PS_TYPE_MASK_DATA   U8
 the data member to use for mask image
#define PS_TYPE_MASK_NAME   "psU8"
 the data type for mask as a string
#define PS_MIN_S8   INT8_MIN
 minimum valid psS8 value
#define PS_MIN_S16   INT16_MIN
 minimum valid psS16 value
#define PS_MIN_S32   INT32_MIN
 minimum valid psS32 value
#define PS_MIN_S64   INT64_MIN
 minimum valid psS64 value
#define PS_MIN_U8   0
 minimum valid psU8 value
#define PS_MIN_U16   0
 minimum valid psU16 value
#define PS_MIN_U32   0
 minimum valid psU32 value
#define PS_MIN_U64   0
 minimum valid psU64 value
#define PS_MIN_F32   -FLT_MAX
 minimum valid psF32 value
#define PS_MIN_F64   -DBL_MAX
 minimum valid psF64 value
#define PS_MIN_C32   -FLT_MAX
 minimum valid real or imaginary psC32 value
#define PS_MIN_C64   -DBL_MAX
 minimum valid real or imaginary psC32 value
#define PS_MAX_S8   INT8_MAX
 maximum valid psS8 value
#define PS_MAX_S16   INT16_MAX
 maximum valid psS16 value
#define PS_MAX_S32   INT32_MAX
 maximum valid psS32 value
#define PS_MAX_S64   INT64_MAX
 maximum valid psS64 value
#define PS_MAX_U8   UINT8_MAX
 maximum valid psU8 value
#define PS_MAX_U16   UINT16_MAX
 maximum valid psU16 value
#define PS_MAX_U32   UINT32_MAX
 maximum valid psU32 value
#define PS_MAX_U64   UINT64_MAX
 maximum valid psU64 value
#define PS_MAX_F32   FLT_MAX
 maximum valid psF32 value
#define PS_MAX_F64   DBL_MAX
 maximum valid psF64 value
#define PS_MAX_C32   FLT_MAX
 maximum valid real or imaginary psC32 value
#define PS_MAX_C64   DBL_MAX
 maximum valid real or imaginary psC32 value
#define PS_TYPE_BOOL_NAME   "psBool"
#define PS_TYPE_S8_NAME   "psS8"
#define PS_TYPE_S16_NAME   "psS16"
#define PS_TYPE_S32_NAME   "psS32"
#define PS_TYPE_S64_NAME   "psS64"
#define PS_TYPE_U8_NAME   "psU8"
#define PS_TYPE_U16_NAME   "psU16"
#define PS_TYPE_U32_NAME   "psU32"
#define PS_TYPE_U64_NAME   "psU64"
#define PS_TYPE_F32_NAME   "psF32"
#define PS_TYPE_F64_NAME   "psF64"
#define PS_TYPE_C32_NAME   "psC32"
#define PS_TYPE_C64_NAME   "psC64"
#define PS_TYPE_NAME(value, type)
#define PS_BADPIXEL_BITMASK   0x0f
 Macro to get the bad pixel reason code (stored as part of mask value).
#define PS_GET_BADPIXEL(maskValue)   (maskValue & PS_BADPIXEL_BITMASK)
#define PS_IS_BADPIXEL(maskValue)   (PS_GET_BADPIXEL(maskValue) != 0)
#define PS_SET_BADPIXEL(maskValue, reasonCode)
 Macro to apply a bad pixel reason code to mask image.
#define PS_IS_PSELEMTYPE_INT(x)   ((x & 0x100) == 0x100)
 Macro to determine if the psElemType is an integer.
#define PS_IS_PSELEMTYPE_UNSIGNED(x)   ((x & 0x200) == 0x200)
 Macro to determine if the psElemType is unsigned.
#define PS_IS_PSELEMTYPE_REAL(x)   ((x & 0x400) == 0x400)
 Macro to determine if the psElemType is a real (non-complex) floating-point type.
#define PS_IS_PSELEMTYPE_COMPLEX(x)   ((x & 0x800) == 0x800)
 Macro to determine if the psElemType is complex number type.
#define PS_IS_PSELEMTYPE_BOOL(x)   ((x & 0x1000) == 0x1000)
 Macro to determine if the psElemType is boolean type.
#define PSELEMTYPE_SIZEOF(x)   (x & 0xFF)
 Macro to determine the storage size, in bytes, of the psElemType.

Typedefs

typedef uint8_t psU8
 Basic data types used by the containers. 8-bit unsigned int.
typedef uint16_t psU16
 16-bit unsigned int
typedef uint32_t psU32
 32-bit unsigned int
typedef uint64_t psU64
 64-bit unsigned int
typedef int8_t psS8
 8-bit signed int
typedef int16_t psS16
 16-bit signed int
typedef int32_t psS32
 32-bit signed int
typedef int64_t psS64
 64-bit signed int
typedef float psF32
 32-bit floating point
typedef double psF64
 64-bit floating point
typedef float _Complex psC32
 complex with 32-bit floating point Real and Imagary numbers
typedef double _Complex psC64
 complex with 64-bit floating point Real and Imagary numbers
typedef char * psString
 string value
typedef void * psPtr
 void pointer
typedef bool psBool
 boolean value
typedef psU8 psMaskType
 the C datatype for a mask image
typedef psBool psBOOL
 allow psBOOL to be used instead of psBool (for macros)

Enumerations

enum  psElemType {
  PS_TYPE_S8 = 0x0101, PS_TYPE_S16 = 0x0102, PS_TYPE_S32 = 0x0104, PS_TYPE_S64 = 0x0108, PS_TYPE_U8 = 0x0301, PS_TYPE_U16 = 0x0302, PS_TYPE_U32 = 0x0304, PS_TYPE_U64 = 0x0308, PS_TYPE_F32 = 0x0404, PS_TYPE_F64 = 0x0408,
  PS_TYPE_C32 = 0x0808, PS_TYPE_C64 = 0x0810, PS_TYPE_BOOL = 0x1301
}
 Enumeration of data types for function elements. More...
enum  psDataType {
  PS_DATA_S32 = PS_TYPE_S32, PS_DATA_F32 = PS_TYPE_F32, PS_DATA_F64 = PS_TYPE_F64, PS_DATA_BOOL = PS_TYPE_BOOL, PS_DATA_STRING = 0x10000, PS_DATA_ARRAY, PS_DATA_BITSET, PS_DATA_CELL, PS_DATA_CHIP, PS_DATA_CUBE,
  PS_DATA_FITS, PS_DATA_HASH, PS_DATA_HISTOGRAM, PS_DATA_IMAGE, PS_DATA_KERNEL, PS_DATA_LIST, PS_DATA_LOOKUPTABLE, PS_DATA_METADATA, PS_DATA_METADATAITEM, PS_DATA_MINIMIZATION,
  PS_DATA_PIXELS, PS_DATA_PLANE, PS_DATA_PLANEDISTORT, PS_DATA_PLANETRANSFORM, PS_DATA_POLYNOMIAL1D, PS_DATA_POLYNOMIAL2D, PS_DATA_POLYNOMIAL3D, PS_DATA_POLYNOMIAL4D, PS_DATA_PROJECTION, PS_DATA_READOUT,
  PS_DATA_REGION, PS_DATA_SCALAR, PS_DATA_SPHERE, PS_DATA_SPHEREROT, PS_DATA_SPLINE1D, PS_DATA_STATS, PS_DATA_TIME, PS_DATA_VECTOR, PS_DATA_UNKNOWN, PS_DATA_METADATA_MULTI
}
 Enumeration primarily used with metadata which defines a data structure e.g. More...
enum  psDimen { PS_DIMEN_SCALAR, PS_DIMEN_VECTOR, PS_DIMEN_TRANSV, PS_DIMEN_IMAGE, PS_DIMEN_OTHER }
 Dimensions of a data type. More...


Define Documentation

#define PS_BADPIXEL_BITMASK   0x0f
 

Macro to get the bad pixel reason code (stored as part of mask value).

Definition at line 235 of file psType.h.

#define PS_GET_BADPIXEL maskValue   )     (maskValue & PS_BADPIXEL_BITMASK)
 

Definition at line 236 of file psType.h.

#define PS_IS_BADPIXEL maskValue   )     (PS_GET_BADPIXEL(maskValue) != 0)
 

Definition at line 238 of file psType.h.

#define PS_IS_PSELEMTYPE_BOOL  )     ((x & 0x1000) == 0x1000)
 

Macro to determine if the psElemType is boolean type.

Definition at line 255 of file psType.h.

#define PS_IS_PSELEMTYPE_COMPLEX  )     ((x & 0x800) == 0x800)
 

Macro to determine if the psElemType is complex number type.

Definition at line 253 of file psType.h.

#define PS_IS_PSELEMTYPE_INT  )     ((x & 0x100) == 0x100)
 

Macro to determine if the psElemType is an integer.

Definition at line 247 of file psType.h.

#define PS_IS_PSELEMTYPE_REAL  )     ((x & 0x400) == 0x400)
 

Macro to determine if the psElemType is a real (non-complex) floating-point type.

Definition at line 251 of file psType.h.

#define PS_IS_PSELEMTYPE_UNSIGNED  )     ((x & 0x200) == 0x200)
 

Macro to determine if the psElemType is unsigned.

Definition at line 249 of file psType.h.

#define PS_MAX_C32   FLT_MAX
 

maximum valid real or imaginary psC32 value

Definition at line 172 of file psType.h.

#define PS_MAX_C64   DBL_MAX
 

maximum valid real or imaginary psC32 value

Definition at line 173 of file psType.h.

#define PS_MAX_F32   FLT_MAX
 

maximum valid psF32 value

Definition at line 170 of file psType.h.

#define PS_MAX_F64   DBL_MAX
 

maximum valid psF64 value

Definition at line 171 of file psType.h.

#define PS_MAX_S16   INT16_MAX
 

maximum valid psS16 value

Definition at line 163 of file psType.h.

#define PS_MAX_S32   INT32_MAX
 

maximum valid psS32 value

Definition at line 164 of file psType.h.

#define PS_MAX_S64   INT64_MAX
 

maximum valid psS64 value

Definition at line 165 of file psType.h.

#define PS_MAX_S8   INT8_MAX
 

maximum valid psS8 value

Definition at line 162 of file psType.h.

#define PS_MAX_U16   UINT16_MAX
 

maximum valid psU16 value

Definition at line 167 of file psType.h.

#define PS_MAX_U32   UINT32_MAX
 

maximum valid psU32 value

Definition at line 168 of file psType.h.

#define PS_MAX_U64   UINT64_MAX
 

maximum valid psU64 value

Definition at line 169 of file psType.h.

#define PS_MAX_U8   UINT8_MAX
 

maximum valid psU8 value

Definition at line 166 of file psType.h.

#define PS_MIN_C32   -FLT_MAX
 

minimum valid real or imaginary psC32 value

Definition at line 159 of file psType.h.

#define PS_MIN_C64   -DBL_MAX
 

minimum valid real or imaginary psC32 value

Definition at line 160 of file psType.h.

#define PS_MIN_F32   -FLT_MAX
 

minimum valid psF32 value

Definition at line 157 of file psType.h.

#define PS_MIN_F64   -DBL_MAX
 

minimum valid psF64 value

Definition at line 158 of file psType.h.

#define PS_MIN_S16   INT16_MIN
 

minimum valid psS16 value

Definition at line 150 of file psType.h.

#define PS_MIN_S32   INT32_MIN
 

minimum valid psS32 value

Definition at line 151 of file psType.h.

#define PS_MIN_S64   INT64_MIN
 

minimum valid psS64 value

Definition at line 152 of file psType.h.

#define PS_MIN_S8   INT8_MIN
 

minimum valid psS8 value

Definition at line 149 of file psType.h.

#define PS_MIN_U16   0
 

minimum valid psU16 value

Definition at line 154 of file psType.h.

#define PS_MIN_U32   0
 

minimum valid psU32 value

Definition at line 155 of file psType.h.

#define PS_MIN_U64   0
 

minimum valid psU64 value

Definition at line 156 of file psType.h.

#define PS_MIN_U8   0
 

minimum valid psU8 value

Definition at line 153 of file psType.h.

#define PS_SET_BADPIXEL maskValue,
reasonCode   ) 
 

Value:

{ \
    maskValue = (psMaskType)((reasonCode & PS_BADPIXEL_BITMASK) | (maskValue & ~PS_BADPIXEL_BITMASK)); \
}
Macro to apply a bad pixel reason code to mask image.

Definition at line 241 of file psType.h.

#define PS_TYPE_BOOL_NAME   "psBool"
 

Definition at line 175 of file psType.h.

#define PS_TYPE_C32_NAME   "psC32"
 

Definition at line 186 of file psType.h.

#define PS_TYPE_C64_NAME   "psC64"
 

Definition at line 187 of file psType.h.

#define PS_TYPE_F32_NAME   "psF32"
 

Definition at line 184 of file psType.h.

#define PS_TYPE_F64_NAME   "psF64"
 

Definition at line 185 of file psType.h.

#define PS_TYPE_MASK   PS_TYPE_U8
 

the psElemType to use for mask image

Definition at line 142 of file psType.h.

#define PS_TYPE_MASK_DATA   U8
 

the data member to use for mask image

Definition at line 143 of file psType.h.

#define PS_TYPE_MASK_NAME   "psU8"
 

the data type for mask as a string

Definition at line 144 of file psType.h.

#define PS_TYPE_NAME value,
type   ) 
 

Definition at line 189 of file psType.h.

#define PS_TYPE_S16_NAME   "psS16"
 

Definition at line 177 of file psType.h.

#define PS_TYPE_S32_NAME   "psS32"
 

Definition at line 178 of file psType.h.

#define PS_TYPE_S64_NAME   "psS64"
 

Definition at line 179 of file psType.h.

#define PS_TYPE_S8_NAME   "psS8"
 

Definition at line 176 of file psType.h.

#define PS_TYPE_U16_NAME   "psU16"
 

Definition at line 181 of file psType.h.

#define PS_TYPE_U32_NAME   "psU32"
 

Definition at line 182 of file psType.h.

#define PS_TYPE_U64_NAME   "psU64"
 

Definition at line 183 of file psType.h.

#define PS_TYPE_U8_NAME   "psU8"
 

Definition at line 180 of file psType.h.

#define PSELEMTYPE_SIZEOF  )     (x & 0xFF)
 

Macro to determine the storage size, in bytes, of the psElemType.

Definition at line 257 of file psType.h.


Typedef Documentation

typedef psBool psBOOL
 

allow psBOOL to be used instead of psBool (for macros)

Definition at line 147 of file psType.h.

typedef bool psBool
 

boolean value

Definition at line 75 of file psType.h.

typedef float _Complex psC32
 

complex with 32-bit floating point Real and Imagary numbers

Definition at line 69 of file psType.h.

typedef double _Complex psC64
 

complex with 64-bit floating point Real and Imagary numbers

Definition at line 70 of file psType.h.

typedef float psF32
 

32-bit floating point

Definition at line 50 of file psType.h.

typedef double psF64
 

64-bit floating point

Definition at line 51 of file psType.h.

typedef psU8 psMaskType
 

the C datatype for a mask image

Definition at line 146 of file psType.h.

typedef void* psPtr
 

void pointer

Definition at line 74 of file psType.h.

typedef int16_t psS16
 

16-bit signed int

Definition at line 47 of file psType.h.

typedef int32_t psS32
 

32-bit signed int

Definition at line 48 of file psType.h.

typedef int64_t psS64
 

64-bit signed int

Definition at line 49 of file psType.h.

typedef int8_t psS8
 

8-bit signed int

Definition at line 46 of file psType.h.

typedef char* psString
 

string value

Definition at line 73 of file psType.h.

typedef uint16_t psU16
 

16-bit unsigned int

Definition at line 43 of file psType.h.

typedef uint32_t psU32
 

32-bit unsigned int

Definition at line 44 of file psType.h.

typedef uint64_t psU64
 

64-bit unsigned int

Definition at line 45 of file psType.h.

typedef uint8_t psU8
 

Basic data types used by the containers. 8-bit unsigned int.

The basic types of the primitives used by psLib are defined within this enum. This enum is in turn used by the psType struct.

Definition at line 42 of file psType.h.


Enumeration Type Documentation

enum psDataType
 

Enumeration primarily used with metadata which defines a data structure e.g.

, list, array, FITS file, etc.

Enumeration values:
PS_DATA_S32  psS32
PS_DATA_F32  psF32
PS_DATA_F64  psF64
PS_DATA_BOOL  psBool
PS_DATA_STRING  psString (char *)
PS_DATA_ARRAY  psArray
PS_DATA_BITSET  psBitSet
PS_DATA_CELL  psCell
PS_DATA_CHIP  psChip
PS_DATA_CUBE  psCube
PS_DATA_FITS  psFits
PS_DATA_HASH  psHash
PS_DATA_HISTOGRAM  psHistogram
PS_DATA_IMAGE  psImage
PS_DATA_KERNEL  psKernel
PS_DATA_LIST  psList
PS_DATA_LOOKUPTABLE  psLookupTable
PS_DATA_METADATA  psMetadata
PS_DATA_METADATAITEM  psMetadataItem
PS_DATA_MINIMIZATION  psMinimization
PS_DATA_PIXELS  psPixels
PS_DATA_PLANE  psPlane
PS_DATA_PLANEDISTORT  psPlaneDistort
PS_DATA_PLANETRANSFORM  psPlaneTransform
PS_DATA_POLYNOMIAL1D  psPolynomial1D
PS_DATA_POLYNOMIAL2D  psPolynomial2D
PS_DATA_POLYNOMIAL3D  psPolynomial3D
PS_DATA_POLYNOMIAL4D  psPolynomial4D
PS_DATA_PROJECTION  psProjection
PS_DATA_READOUT  psReadout
PS_DATA_REGION  psRegion
PS_DATA_SCALAR  psScalar
PS_DATA_SPHERE  psSphere
PS_DATA_SPHEREROT  psSphereTransform
PS_DATA_SPLINE1D  psSpline1D
PS_DATA_STATS  psStats
PS_DATA_TIME  psTime
PS_DATA_VECTOR  psVector
PS_DATA_UNKNOWN  Other data of an unknown type.
PS_DATA_METADATA_MULTI  Used internally for metadata; not a 'real' type.

Definition at line 99 of file psType.h.

enum psDimen
 

Dimensions of a data type.

The dimensions of containers used by psLib are defined within this enum. This enum is used by the psType struct. *

Enumeration values:
PS_DIMEN_SCALAR  Scalar.
PS_DIMEN_VECTOR  Vector.
PS_DIMEN_TRANSV  Transposed vector.
PS_DIMEN_IMAGE  Image.
PS_DIMEN_OTHER  Something else that's not supported for arithmetic.

Definition at line 264 of file psType.h.

enum psElemType
 

Enumeration of data types for function elements.

Contains replacements for native types.

Enumeration values:
PS_TYPE_S8  Character.
PS_TYPE_S16  Short integer.
PS_TYPE_S32  Integer.
PS_TYPE_S64  Long integer.
PS_TYPE_U8  Unsigned character.
PS_TYPE_U16  Unsigned psS16 integer.
PS_TYPE_U32  Unsigned integer.
PS_TYPE_U64  Unsigned psS64 integer.
PS_TYPE_F32  Single-precision Floating point.
PS_TYPE_F64  Double-precision floating point.
PS_TYPE_C32  Complex numbers consisting of single-precision floating point.
PS_TYPE_C64  Complex numbers consisting of double-precision floating point.
PS_TYPE_BOOL  Boolean.

Definition at line 80 of file psType.h.


Generated on Thu Oct 13 14:33:51 2005 for Pan-STARRS Foundation Library by  doxygen 1.4.2