gml_Tables.h

Go to the documentation of this file.
00001 /** @file gml_Tables.h
00002  *  
00003  *     Precomputed integer tables for the basic math functions.
00004  *  
00005  *  Copyright (c) 2004 CLIPS-IMAG
00006  * 
00007  *  See the file "gml_LicenseTerms.txt" for information on usage and
00008  *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
00009  */
00010 #ifndef __GML_TABLES__
00011 #define __GML_TABLES__
00012 
00013 #include <assert.h>
00014 #include "gml/base/gml_Types.h"
00015 
00016 extern UInt8 gml_gTable_ReciprocalMantissa_7_10[1024];
00017 extern UInt16 gml_gTable_ReciprocalMantissa_15_10[1024];
00018 extern UInt32 gml_gTable_ReciprocalMantissa_23_10[1024];
00019 extern SInt16 gml_gTable_Sin_7[128];
00020 extern SInt16 gml_gTable_Cos_7[128];
00021 extern UInt16 gml_gTable_Sqrt_7[128];
00022 extern UInt16 gml_gTable_Cbrt_7[128];
00023 extern UInt16 gml_gTable_Log1p_7[128];
00024 extern UInt16 gml_gTable_Gauss_7[128];
00025 extern SInt16 gml_gTable_Sin_8[256];
00026 extern SInt16 gml_gTable_Cos_8[256];
00027 extern UInt16 gml_gTable_Sqrt_8[256];
00028 extern UInt16 gml_gTable_Cbrt_8[256];
00029 extern UInt16 gml_gTable_Log1p_8[256];
00030 extern UInt16 gml_gTable_Gauss_8[256];
00031 extern SInt16 gml_gTable_Sin_9[512];
00032 extern SInt16 gml_gTable_Cos_9[512];
00033 extern UInt16 gml_gTable_Sqrt_9[512];
00034 extern UInt16 gml_gTable_Cbrt_9[512];
00035 extern UInt16 gml_gTable_Log1p_9[512];
00036 extern UInt16 gml_gTable_Gauss_9[512];
00037 
00038 inline static UInt8 ReciprocalMantissa_7_10bit (UInt16 arg)
00039 {
00040   assert (arg < 0x400);
00041   return gml_gTable_ReciprocalMantissa_7_10[arg];
00042 }
00043 
00044 inline static UInt16 ReciprocalMantissa_15_10bit (UInt16 arg)
00045 {
00046   assert (arg < 0x400);
00047   return gml_gTable_ReciprocalMantissa_15_10[arg];
00048 }
00049 
00050 inline static UInt32 ReciprocalMantissa_23_10bit (UInt16 arg)
00051 {
00052   assert (arg < 0x400);
00053   return gml_gTable_ReciprocalMantissa_23_10[arg];
00054 }
00055 
00056 inline static SInt16 Sin_7bit (UInt16 arg)
00057 {
00058   assert (arg < 0x80);
00059   return gml_gTable_Sin_7[arg];
00060 }
00061 
00062 inline static SInt16 Cos_7bit (UInt16 arg)
00063 {
00064   assert (arg < 0x80);
00065   return gml_gTable_Cos_7[arg];
00066 }
00067 
00068 inline static UInt16 Sqrt_7bit (UInt16 arg)
00069 {
00070   assert (arg < 0x80);
00071   return gml_gTable_Sqrt_7[arg];
00072 }
00073 
00074 inline static UInt16 Cbrt_7bit (UInt16 arg)
00075 {
00076   assert (arg < 0x80);
00077   return gml_gTable_Cbrt_7[arg];
00078 }
00079 
00080 inline static UInt16 Log1p_7bit (UInt16 arg)
00081 {
00082   assert (arg < 0x80);
00083   return gml_gTable_Log1p_7[arg];
00084 }
00085 
00086 inline static UInt16 Gauss_7bit (UInt16 arg)
00087 {
00088   assert (arg < 0x80);
00089   return gml_gTable_Gauss_7[arg];
00090 }
00091 
00092 inline static SInt16 Sin_8bit (UInt16 arg)
00093 {
00094   assert (arg < 0x100);
00095   return gml_gTable_Sin_8[arg];
00096 }
00097 
00098 inline static SInt16 Cos_8bit (UInt16 arg)
00099 {
00100   assert (arg < 0x100);
00101   return gml_gTable_Cos_8[arg];
00102 }
00103 
00104 inline static UInt16 Sqrt_8bit (UInt16 arg)
00105 {
00106   assert (arg < 0x100);
00107   return gml_gTable_Sqrt_8[arg];
00108 }
00109 
00110 inline static UInt16 Cbrt_8bit (UInt16 arg)
00111 {
00112   assert (arg < 0x100);
00113   return gml_gTable_Cbrt_8[arg];
00114 }
00115 
00116 inline static UInt16 Log1p_8bit (UInt16 arg)
00117 {
00118   assert (arg < 0x100);
00119   return gml_gTable_Log1p_8[arg];
00120 }
00121 
00122 inline static UInt16 Gauss_8bit (UInt16 arg)
00123 {
00124   assert (arg < 0x100);
00125   return gml_gTable_Gauss_8[arg];
00126 }
00127 
00128 inline static SInt16 Sin_9bit (UInt16 arg)
00129 {
00130   assert (arg < 0x200);
00131   return gml_gTable_Sin_9[arg];
00132 }
00133 
00134 inline static SInt16 Cos_9bit (UInt16 arg)
00135 {
00136   assert (arg < 0x200);
00137   return gml_gTable_Cos_9[arg];
00138 }
00139 
00140 inline static UInt16 Sqrt_9bit (UInt16 arg)
00141 {
00142   assert (arg < 0x200);
00143   return gml_gTable_Sqrt_9[arg];
00144 }
00145 
00146 inline static UInt16 Cbrt_9bit (UInt16 arg)
00147 {
00148   assert (arg < 0x200);
00149   return gml_gTable_Cbrt_9[arg];
00150 }
00151 
00152 inline static UInt16 Log1p_9bit (UInt16 arg)
00153 {
00154   assert (arg < 0x200);
00155   return gml_gTable_Log1p_9[arg];
00156 }
00157 
00158 inline static UInt16 Gauss_9bit (UInt16 arg)
00159 {
00160   assert (arg < 0x200);
00161   return gml_gTable_Gauss_9[arg];
00162 }
00163 
00164 
00165 #endif /* __GML_TABLES__ */
Generated on Tue Jun 12 14:03:27 2007 for gml by Doxygen 1.5.2.