00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 static char *source_file = __FILE__;
00038 static char *rcs_id = "$Source$ $Revision$";
00039 #include "defs.h"
00040 #include "erglob.h"
00041 #include "config_host.h"
00042 #include "targ_const.h"
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 INT __c_q_to_a(char*, QUAD_TYPE, INT*);
00055 double __c_dble_q(QUAD_TYPE, INT*);
00056 float __c_sngl_q(QUAD_TYPE, INT*);
00057 INT32 __c_ji_qint(QUAD_TYPE, INT*);
00058 UINT32 __c_ji_quint(QUAD_TYPE, INT*);
00059 INT64 __c_ki_qint(QUAD_TYPE, INT*);
00060 UINT64 __c_ki_quint(QUAD_TYPE, INT*);
00061 QUAD_TYPE __c_a_to_q(char*, INT*);
00062 QUAD_TYPE __c_q_extd(double, INT*);
00063 QUAD_TYPE __c_q_ext(float, INT *);
00064 QUAD_TYPE __c_q_flotj(INT32, INT*);
00065 QUAD_TYPE __c_q_flotju(UINT32, INT*);
00066 QUAD_TYPE __c_q_flotk(INT64, INT*);
00067 QUAD_TYPE __c_q_flotku(UINT64, INT*);
00068 QUAD_TYPE __c_q_add(QUAD_TYPE, QUAD_TYPE, INT*);
00069 QUAD_TYPE __c_q_sub(QUAD_TYPE, QUAD_TYPE, INT*);
00070 QUAD_TYPE __c_q_mul(QUAD_TYPE, QUAD_TYPE, INT*);
00071 QUAD_TYPE __c_q_div(QUAD_TYPE, QUAD_TYPE, INT*);
00072 QUAD_TYPE __c_q_sqrt(QUAD_TYPE, INT*);
00073 QUAD_TYPE __c_q_neg(QUAD_TYPE, INT*);
00074 INT __c_q_eq(QUAD_TYPE, QUAD_TYPE, INT*);
00075 INT __c_q_ne(QUAD_TYPE, QUAD_TYPE, INT*);
00076 INT __c_q_lt(QUAD_TYPE, QUAD_TYPE, INT*);
00077 INT __c_q_le(QUAD_TYPE, QUAD_TYPE, INT*);
00078 INT __c_q_gt(QUAD_TYPE, QUAD_TYPE, INT*);
00079 INT __c_q_ge(QUAD_TYPE, QUAD_TYPE, INT*);
00080
00081
00082 QUAD_TYPE My_Atoq(char *str)
00083 {
00084 INT err;
00085 char *sstr;
00086
00087 for ( sstr = str; *sstr; sstr++ ) {
00088 if (*sstr == 'q' || *sstr == 'Q') {
00089 *sstr='E';
00090 break;
00091 }
00092 }
00093 return (__c_a_to_q(str,&err));
00094 }
00095
00096 INT QUADOP_EQ(QUAD_TYPE a, QUAD_TYPE b)
00097 {
00098 INT err;
00099 return(__c_q_eq(a,b,&err));
00100 }
00101
00102 INT QUADOP_NE(QUAD_TYPE a, QUAD_TYPE b)
00103 {
00104 INT err;
00105 return(__c_q_ne(a,b,&err));
00106 }
00107
00108 INT QUADOP_GE(QUAD_TYPE a, QUAD_TYPE b)
00109 {
00110 INT err;
00111 return(__c_q_ge(a,b,&err));
00112 }
00113
00114 INT QUADOP_GT(QUAD_TYPE a, QUAD_TYPE b)
00115 {
00116 INT err;
00117 return(__c_q_gt(a,b,&err));
00118 }
00119
00120 INT QUADOP_LE(QUAD_TYPE a, QUAD_TYPE b)
00121 {
00122 INT err;
00123 return(__c_q_le(a,b,&err));
00124 }
00125
00126 INT QUADOP_LT(QUAD_TYPE a, QUAD_TYPE b)
00127 {
00128 INT err;
00129 return(__c_q_lt(a,b,&err));
00130 }
00131
00132 QUAD_TYPE QUADOP_ADD(QUAD_TYPE a,QUAD_TYPE b)
00133 {
00134 INT err;
00135 return(__c_q_add(a,b,&err));
00136 }
00137
00138 QUAD_TYPE QUADOP_SUB(QUAD_TYPE a,QUAD_TYPE b)
00139 {
00140 INT err;
00141 return(__c_q_sub(a,b,&err));
00142 }
00143
00144 QUAD_TYPE QUADOP_MPY(QUAD_TYPE a,QUAD_TYPE b)
00145 {
00146 INT err;
00147 return(__c_q_mul(a,b,&err));
00148 }
00149
00150 QUAD_TYPE QUADOP_DIV(QUAD_TYPE a,QUAD_TYPE b)
00151 {
00152 INT err;
00153 return(__c_q_div(a,b,&err));
00154 }
00155
00156 QUAD_TYPE QUADOP_NEGATE(QUAD_TYPE a)
00157 {
00158 INT err;
00159 return(__c_q_neg(a,&err));
00160 }
00161
00162 double QUADOP_QTOD (QUAD_TYPE a)
00163 {
00164 INT err;
00165 return(__c_dble_q(a,&err));
00166 }
00167
00168 float QUADOP_QTOS (QUAD_TYPE a)
00169 {
00170 INT err;
00171 return(__c_sngl_q(a,&err));
00172 }
00173
00174 INT QUADOP_QTOI (QUAD_TYPE a)
00175 {
00176 INT err;
00177 return(__c_ji_qint(a,&err));
00178 }
00179
00180 UINT QUADOP_QTOU (QUAD_TYPE a)
00181 {
00182 INT err;
00183 return(__c_ji_quint(a,&err));
00184 }
00185
00186 QUAD_TYPE QUADOP_UTOQ (UINT a)
00187 {
00188 INT err;
00189 return(__c_q_flotju(a,&err));
00190 }
00191
00192 QUAD_TYPE QUADOP_STOQ (float a)
00193 {
00194 INT err;
00195 return(__c_q_ext(a,&err));
00196 }
00197
00198 QUAD_TYPE QUADOP_DTOQ (double a)
00199 {
00200 INT err;
00201 return(__c_q_extd(a,&err));
00202 }
00203
00204 QUAD_TYPE QUADOP_ITOQ (INT a)
00205 {
00206 INT err;
00207 return(__c_q_flotj(a,&err));
00208 }
00209
00210 QUAD_TYPE QUADOP_SQRT(QUAD_TYPE a)
00211 {
00212 INT err;
00213 return(__c_q_sqrt(a,&err));
00214 }
00215