@@ -132,7 +132,7 @@ Result<PythonCompiler::EvalResult> PythonCompiler::evaluate(
132132 ->m_symtab ->get_symbol (run_fn);
133133 LCOMPILERS_ASSERT (fn)
134134 if (ASRUtils::get_FunctionType (fn)->m_return_var_type ->type == ASR::ttypeType::Character) {
135- char *r = e->strfn (run_fn);
135+ char *r = e->execfn < char *> (run_fn);
136136 result.type = EvalResult::string;
137137 result.str = r;
138138 } else {
@@ -143,11 +143,11 @@ Result<PythonCompiler::EvalResult> PythonCompiler::evaluate(
143143 ->m_symtab ->get_symbol (run_fn);
144144 LCOMPILERS_ASSERT (fn)
145145 if (ASRUtils::get_FunctionType (fn)->m_return_var_type ->type == ASR::ttypeType::UnsignedInteger) {
146- uint8_t r = e->int8fn (run_fn);
146+ uint8_t r = e->execfn < uint8_t > (run_fn);
147147 result.type = EvalResult::unsignedInteger1;
148148 result.u32 = r;
149149 } else {
150- int8_t r = e->int8fn (run_fn);
150+ int8_t r = e->execfn < int8_t > (run_fn);
151151 result.type = EvalResult::integer1;
152152 result.i32 = r;
153153 }
@@ -156,11 +156,11 @@ Result<PythonCompiler::EvalResult> PythonCompiler::evaluate(
156156 ->m_symtab ->get_symbol (run_fn);
157157 LCOMPILERS_ASSERT (fn)
158158 if (ASRUtils::get_FunctionType (fn)->m_return_var_type ->type == ASR::ttypeType::UnsignedInteger) {
159- uint16_t r = e->int16fn (run_fn);
159+ uint16_t r = e->execfn < uint16_t > (run_fn);
160160 result.type = EvalResult::unsignedInteger2;
161161 result.u32 = r;
162162 } else {
163- int16_t r = e->int16fn (run_fn);
163+ int16_t r = e->execfn < int16_t > (run_fn);
164164 result.type = EvalResult::integer2;
165165 result.i32 = r;
166166 }
@@ -169,11 +169,11 @@ Result<PythonCompiler::EvalResult> PythonCompiler::evaluate(
169169 ->m_symtab ->get_symbol (run_fn);
170170 LCOMPILERS_ASSERT (fn)
171171 if (ASRUtils::get_FunctionType (fn)->m_return_var_type ->type == ASR::ttypeType::UnsignedInteger) {
172- uint32_t r = e->int32fn (run_fn);
172+ uint32_t r = e->execfn < uint32_t > (run_fn);
173173 result.type = EvalResult::unsignedInteger4;
174174 result.u32 = r;
175175 } else {
176- int32_t r = e->int32fn (run_fn);
176+ int32_t r = e->execfn < int32_t > (run_fn);
177177 result.type = EvalResult::integer4;
178178 result.i32 = r;
179179 }
@@ -182,34 +182,34 @@ Result<PythonCompiler::EvalResult> PythonCompiler::evaluate(
182182 ->m_symtab ->get_symbol (run_fn);
183183 LCOMPILERS_ASSERT (fn)
184184 if (ASRUtils::get_FunctionType (fn)->m_return_var_type ->type == ASR::ttypeType::UnsignedInteger) {
185- uint64_t r = e->int64fn (run_fn);
185+ uint64_t r = e->execfn < uint64_t > (run_fn);
186186 result.type = EvalResult::unsignedInteger8;
187187 result.u64 = r;
188188 } else {
189- int64_t r = e->int64fn (run_fn);
189+ int64_t r = e->execfn < int64_t > (run_fn);
190190 result.type = EvalResult::integer8;
191191 result.i64 = r;
192192 }
193193 } else if (return_type == " real4" ) {
194- float r = e->floatfn (run_fn);
194+ float r = e->execfn < float > (run_fn);
195195 result.type = EvalResult::real4;
196196 result.f32 = r;
197197 } else if (return_type == " real8" ) {
198- double r = e->doublefn (run_fn);
198+ double r = e->execfn < double > (run_fn);
199199 result.type = EvalResult::real8;
200200 result.f64 = r;
201201 } else if (return_type == " complex4" ) {
202- std::complex <float > r = e->complex4fn (run_fn);
202+ std::complex <float > r = e->execfn <std:: complex < float >> (run_fn);
203203 result.type = EvalResult::complex4;
204204 result.c32 .re = r.real ();
205205 result.c32 .im = r.imag ();
206206 } else if (return_type == " complex8" ) {
207- std::complex <double > r = e->complex8fn (run_fn);
207+ std::complex <double > r = e->execfn <std:: complex < double >> (run_fn);
208208 result.type = EvalResult::complex8;
209209 result.c64 .re = r.real ();
210210 result.c64 .im = r.imag ();
211211 } else if (return_type == " void" ) {
212- e->voidfn (run_fn);
212+ e->execfn < void > (run_fn);
213213 result.type = EvalResult::statement;
214214 } else if (return_type == " none" ) {
215215 result.type = EvalResult::none;
0 commit comments