00001 /* 00002 * soi_machine.h ~soi/(version)/include/soi_machine.h 00003 * 00004 * This file defines the numerical floating-point representation used by 00005 * the machine architecture. It is required by NaN.h and possibly other 00006 * programs manipulating numerical bit patterns. Only three possible 00007 * representations are recognized and generally supported: 00008 * IEEE End_Little (0 address on least significant bit) 00009 * IEEE End_Big (0 address on most significant bit) 00010 * non-IEEE 00011 * C++ programs should include the corresponding file "soi_machine.hxx". 00012 * Additional information is in the SOI Technical Note: 00013 * SOI-TN-90-103 00014 * 00015 * Responsible: Rick Bogart RBogart@solar.Stanford.EDU 00016 * 00017 * Bugs: 00018 * Only the following architectures are supported; all others are 00019 * (perhaps wrongly) assumed to be non-IEEE: 00020 * MIPS (DEC RISC machines; SGI) 00021 * SPARC 00022 * NeXT 00023 * soi_machine.hxx does not exist 00024 * 00025 * Revision history is at the end of the file. 00026 */ 00027 #ifndef SOI_machine_INCL 00028 00029 #ifndef SOI_VERSION_INCL 00030 #include <soi_version.h> 00031 #endif 00032 00033 /****************************************************************************/ 00034 /**************************** DEFINE STATEMENTS ***************************/ 00035 /****************************************************************************/ 00036 00037 #if defined MIPSEL 00038 # define IEEE 00039 # define IEEE_EL 00040 # undef IEEE_EB 00041 00042 #elif defined MIPSEB 00043 # define IEEE 00044 # define IEEE_EB 00045 # undef IEEE_EL 00046 00047 #elif defined __sparc 00048 # define IEEE 00049 # define IEEE_EB 00050 # undef IEEE_EL 00051 00052 #elif defined NeXT 00053 # define IEEE 00054 # define IEEE_EB 00055 # undef IEEE_EL 00056 00057 #elif defined __linux__ 00058 # define IEEE 00059 # define IEEE_EL 00060 # undef IEEE_EB 00061 00062 #else 00063 # undef IEEE 00064 # undef IEEE_EL 00065 # undef IEEE_EB 00066 #endif 00067 00068 #define SOI_MACHINE_VERSION_NUM (0.8) 00069 #define SOI_machine_INCL 1 00070 00071 #endif