00001 /* 00002 * soi_missing.h ~soi/CM/include/soi_missing.h 00003 * 00004 * Definitions of standard missing or fill values for SOI datasets 00005 * and programs. 00006 * Additional information is in the following man pages: 00007 * soi_NaN.h 00008 * SOI TechNote 115 00009 * 00010 * 00011 * Bugs: 00012 * 00013 * Revision history is at the end of the file. 00014 */ 00015 #ifndef SOI_MISSING_INCL 00016 /****************************************************************************/ 00017 /************************** INCLUDE STATEMENTS ****************************/ 00018 /****************************************************************************/ 00019 00020 #ifndef SOI_VERSION_INCL 00021 #include <soi_version.h> 00022 #endif 00023 00024 /****************************************************************************/ 00025 /**************************** DEFINE STATEMENTS ***************************/ 00026 /****************************************************************************/ 00027 00028 #define SOI_MISSING_VERSION_NUM (0.9) 00029 #define SOI_MISSING_INCL 1 00030 00031 #define B_MISSING (-128) 00032 #define S_MISSING (-32768) 00033 #define I_MISSING (-2147483647-1) 00034 #define UB_MISSING (255) 00035 #define US_MISSING (65535) 00036 #define UI_MISSING (2147483647) 00037 #define F_MISSING (A_Quiet_fNaN()) 00038 #define D_MISSING (A_Quiet_dNaN()) 00039 00040 #define T_MISSING (-211087684800.0) 00041 #define T_MISSING_STR ("-4712.01.01_12:00:00.000_UT") 00042 00043 #ifndef MISSING 00044 #define MISSING (-8388608.0e10) 00045 #endif 00046 00047 /****************************************************************************/ 00048 /******************************* TYPEDEFS *********************************/ 00049 /****************************************************************************/ 00050 00051 /****************************************************************************/ 00052 /********************* GLOBAL & EXTERN DECLARATIONS ***********************/ 00053 /****************************************************************************/ 00054 00055 /****************************************************************************/ 00056 /**************************** MACRO DEFINITIONS ***************************/ 00057 /****************************************************************************/ 00058 00059 #define is_B_MISSING(v) (v == B_MISSING) 00060 #define is_S_MISSING(v) (v == S_MISSING) 00061 #define is_I_MISSING(v) (v == I_MISSING) 00062 #define is_UB_MISSING(v) (v == UB_MISSING) 00063 #define is_US_MISSING(v) (v == US_MISSING) 00064 #define is_UI_MISSING(v) (v == UI_MISSING) 00065 #define is_F_MISSING(v) (IsfNaN(v)) 00066 #define is_D_MISSING(v) (IsdNaN(v)) 00067 #define is_C_MISSING(v) (IsfNaN((v).r) || IsfNaN((v).i)) 00068 00069 #define is_T_MISSING(v) (v == T_MISSING) 00070 00071 /****************************************************************************/ 00072 /*************************** FUNCTION PROTOTYPES **************************/ 00073 /****************************************************************************/ 00074 00075 #endif 00076 /* 00077 * Revision History 00078 */ 00079 00080 /* 00081 * Revision 1.1 1994/02/16 23:21:14 CM 00082 * Initial revision 00083 * */ 00084 00085 /* 00086 $Id: soi_missing.h,v 1.1 2009/04/24 21:53:02 production Exp $ 00087 $Source: /home/cvsuser/cvsroot/JSOC/proj/jpe/apps/soi_missing.h,v $ 00088 $Author: production $ 00089 */ 00090 /* $Log: soi_missing.h,v $ 00091 /* Revision 1.1 2009/04/24 21:53:02 production 00092 /* *** empty log message *** 00093 /* 00094 * Revision 1.7 1997/12/15 18:18:12 phil 00095 * added is_T_MISSING 00096 * 00097 * Revision 1.6 1997/04/16 21:54:02 kehcheng 00098 * added #include <soi_version.h> 00099 * 00100 * Revision 1.5 1995/08/29 18:15:21 CM 00101 * auto rcsfix by CM 00102 * */