00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef Fennel_ExtCast_Included
00024 #define Fennel_ExtCast_Included
00025
00026 #include "fennel/calculator/RegisterReference.h"
00027 #include "fennel/calculator/ExtendedInstruction.h"
00028
00029 FENNEL_BEGIN_NAMESPACE
00030
00036 void
00037 castExactToStrA(
00038 RegisterRef<char*>* result,
00039 RegisterRef<int64_t>* src);
00040
00046 void
00047 castExactToStrA(
00048 RegisterRef<char*>* result,
00049 RegisterRef<int64_t>* src,
00050 RegisterRef<int32_t>* precision,
00051 RegisterRef<int32_t>* scale);
00052
00058 void
00059 castApproxToStrA(
00060 RegisterRef<char*>* result,
00061 RegisterRef<double>* src);
00062
00068 void
00069 castStrtoExactA(
00070 RegisterRef<int64_t>* result,
00071 RegisterRef<char*>* src);
00072
00079 void
00080 castStrToExactA(
00081 RegisterRef<int64_t>* result,
00082 RegisterRef<char*>* src,
00083 RegisterRef<int32_t>* precision,
00084 RegisterRef<int32_t>* scale);
00085
00091 void
00092 castStrToApproxA(
00093 RegisterRef<double>* result,
00094 RegisterRef<char*>* src);
00095
00101 void
00102 castBooleanToStrA(
00103 RegisterRef<char*>* result,
00104 RegisterRef<int64_t>* src);
00105
00106
00112 void
00113 castStrtoBooleanA(
00114 RegisterRef<bool>* result,
00115 RegisterRef<char*>* src);
00116
00122 void
00123 castStrToVarCharA(
00124 RegisterRef<char*>* result,
00125 RegisterRef<char*>* src);
00126
00132 void
00133 castStrToCharA(
00134 RegisterRef<char*>* result,
00135 RegisterRef<char*>* src);
00136
00137
00138 class ExtendedInstructionTable;
00139
00140 void
00141 ExtCastRegister(ExtendedInstructionTable* eit);
00142
00143
00144 FENNEL_END_NAMESPACE
00145
00146 #endif
00147
00148