10 declare function hRndCallback(
byval sym
as FBSYMBOL
ptr )
as integer
16 @FB_RTL_LONGINTDIV, @
"__divdi3", _
17 FB_DATATYPE_LONGINT, FB_FUNCMODE_CDECL, _
18 NULL, FB_RTL_OPT_NONE, _
21 ( FB_DATATYPE_LONGINT, FB_PARAMMODE_BYVAL, FALSE ), _
22 ( FB_DATATYPE_LONGINT, FB_PARAMMODE_BYVAL, FALSE ) _
27 @FB_RTL_ULONGINTDIV, @
"__udivdi3", _
28 FB_DATATYPE_ULONGINT, FB_FUNCMODE_CDECL, _
29 NULL, FB_RTL_OPT_NONE, _
32 ( FB_DATATYPE_ULONGINT, FB_PARAMMODE_BYVAL, FALSE ), _
33 ( FB_DATATYPE_ULONGINT, FB_PARAMMODE_BYVAL, FALSE ) _
38 @FB_RTL_LONGINTMOD, @
"__moddi3", _
39 FB_DATATYPE_LONGINT, FB_FUNCMODE_CDECL, _
40 NULL, FB_RTL_OPT_NONE, _
43 ( FB_DATATYPE_LONGINT, FB_PARAMMODE_BYVAL, FALSE ), _
44 ( FB_DATATYPE_LONGINT, FB_PARAMMODE_BYVAL, FALSE ) _
49 @FB_RTL_ULONGINTMOD, @
"__umoddi3", _
50 FB_DATATYPE_ULONGINT, FB_FUNCMODE_CDECL, _
51 NULL, FB_RTL_OPT_NONE, _
54 ( FB_DATATYPE_ULONGINT, FB_PARAMMODE_BYVAL, FALSE ), _
55 ( FB_DATATYPE_ULONGINT, FB_PARAMMODE_BYVAL, FALSE ) _
60 @FB_RTL_DBL2ULONGINT, @
"__fixunsdfdi", _
61 FB_DATATYPE_ULONGINT, FB_FUNCMODE_CDECL, _
62 NULL, FB_RTL_OPT_NONE, _
65 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
70 @FB_RTL_POW, @
"pow", _
71 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
72 NULL, FB_RTL_OPT_NONE, _
75 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ), _
76 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
81 @
"randomize", @
"fb_Randomize", _
82 FB_DATATYPE_VOID, FB_FUNCMODE_FBCALL, _
86 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, TRUE, -1.0 ), _
87 ( FB_DATATYPE_LONG, FB_PARAMMODE_BYVAL, TRUE, 0 ) _
93 FB_DATATYPE_DOUBLE, FB_FUNCMODE_FBCALL, _
97 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, TRUE, 1.0 ) _
102 @FB_RTL_SIN, @
"sinf", _
103 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
104 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
107 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
112 @FB_RTL_SIN, @
"sin", _
113 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
114 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
117 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
122 @FB_RTL_ASIN, @
"asinf", _
123 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
124 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
127 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
132 @FB_RTL_ASIN, @
"asin", _
133 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
134 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
137 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
142 @FB_RTL_COS, @
"cosf", _
143 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
144 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
147 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
152 @FB_RTL_COS, @
"cos", _
153 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
154 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
157 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
162 @FB_RTL_ACOS, @
"acosf", _
163 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
164 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
167 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
172 @FB_RTL_ACOS, @
"acos", _
173 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
174 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
177 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
182 @FB_RTL_TAN, @
"tanf", _
183 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
184 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
187 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
192 @FB_RTL_TAN, @
"tan", _
193 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
194 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
197 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
202 @FB_RTL_ATAN, @
"atanf", _
203 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
204 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
207 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
212 @FB_RTL_ATAN, @
"atan", _
213 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
214 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
217 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
222 @FB_RTL_sqrt, @
"sqrtf", _
223 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
224 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
227 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
232 @FB_RTL_sqrt, @
"sqrt", _
233 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
234 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
237 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
242 @FB_RTL_log, @
"logf", _
243 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
244 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
247 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
252 @FB_RTL_log, @
"log", _
253 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
254 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
257 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
262 @FB_RTL_exp, @
"expf", _
263 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
264 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
267 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
272 @FB_RTL_exp, @
"exp", _
273 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
274 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
277 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
282 @FB_RTL_floor, @
"floorf", _
283 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
284 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
287 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
292 @FB_RTL_floor, @
"floor", _
293 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
294 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
297 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
302 @FB_RTL_abs, @
"abs", _
303 FB_DATATYPE_LONG, FB_FUNCMODE_CDECL, _
304 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
307 ( FB_DATATYPE_LONG, FB_PARAMMODE_BYVAL, FALSE ) _
312 @FB_RTL_abs, @
"llabs", _
313 FB_DATATYPE_LONGINT, FB_FUNCMODE_CDECL, _
314 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
317 ( FB_DATATYPE_LONGINT, FB_PARAMMODE_BYVAL, FALSE ) _
322 @FB_RTL_abs, @
"fabsf", _
323 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
324 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
327 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
332 @FB_RTL_abs, @
"fabs", _
333 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
334 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
337 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
342 @FB_RTL_sgn, @
"fb_SGNb", _
343 FB_DATATYPE_LONG, FB_FUNCMODE_FBCALL, _
344 NULL, FB_RTL_OPT_OVER, _
347 ( FB_DATATYPE_BYTE, FB_PARAMMODE_BYVAL, FALSE ) _
352 @FB_RTL_sgn, @
"fb_SGNs", _
353 FB_DATATYPE_LONG, FB_FUNCMODE_FBCALL, _
354 NULL, FB_RTL_OPT_OVER, _
357 ( FB_DATATYPE_SHORT, FB_PARAMMODE_BYVAL, FALSE ) _
362 @FB_RTL_sgn, @
"fb_SGNi", _
363 FB_DATATYPE_LONG, FB_FUNCMODE_FBCALL, _
364 NULL, FB_RTL_OPT_OVER, _
367 ( FB_DATATYPE_LONG, FB_PARAMMODE_BYVAL, FALSE ) _
372 @FB_RTL_sgn, @
"fb_SGNl", _
373 FB_DATATYPE_LONG, FB_FUNCMODE_FBCALL, _
374 NULL, FB_RTL_OPT_OVER, _
377 ( FB_DATATYPE_LONGINT, FB_PARAMMODE_BYVAL, FALSE ) _
382 @FB_RTL_sgn, @
"fb_SGNSingle", _
383 FB_DATATYPE_LONG, FB_FUNCMODE_FBCALL, _
384 NULL, FB_RTL_OPT_OVER, _
387 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
392 @FB_RTL_sgn, @
"fb_SGNDouble", _
393 FB_DATATYPE_LONG, FB_FUNCMODE_FBCALL, _
394 NULL, FB_RTL_OPT_OVER, _
397 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
402 @FB_RTL_fix, @
"fb_FIXSingle", _
403 FB_DATATYPE_SINGLE, FB_FUNCMODE_FBCALL, _
404 NULL, FB_RTL_OPT_OVER, _
407 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
412 @FB_RTL_fix, @
"fb_FIXDouble", _
413 FB_DATATYPE_DOUBLE, FB_FUNCMODE_FBCALL, _
414 NULL, FB_RTL_OPT_OVER, _
417 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
422 @FB_RTL_frac, @
"fb_FRACf", _
423 FB_DATATYPE_SINGLE, FB_FUNCMODE_FBCALL, _
424 NULL, FB_RTL_OPT_OVER, _
427 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
432 @FB_RTL_frac, @
"fb_FRACd", _
433 FB_DATATYPE_DOUBLE, FB_FUNCMODE_FBCALL, _
434 NULL, FB_RTL_OPT_OVER, _
437 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
442 @FB_RTL_ATAN2, @
"atan2f", _
443 FB_DATATYPE_SINGLE, FB_FUNCMODE_CDECL, _
444 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
447 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ), _
448 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
453 @FB_RTL_ATAN2, @
"atan2", _
454 FB_DATATYPE_DOUBLE, FB_FUNCMODE_CDECL, _
455 NULL, FB_RTL_OPT_OVER
or FB_RTL_OPT_GCCBUILTIN, _
458 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ), _
459 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
464 @FB_RTL_FTOSL, @FB_RTL_FTOSL, _
465 FB_DATATYPE_LONGINT, FB_FUNCMODE_CDECL, _
466 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
469 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
474 @FB_RTL_DTOSL,@FB_RTL_DTOSL, _
475 FB_DATATYPE_LONGINT, FB_FUNCMODE_CDECL, _
476 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
479 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
484 @FB_RTL_FTOSI, @FB_RTL_FTOSI, _
485 FB_DATATYPE_LONG, FB_FUNCMODE_CDECL, _
486 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
489 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
494 @FB_RTL_DTOSI, @FB_RTL_DTOSI, _
495 FB_DATATYPE_LONG, FB_FUNCMODE_CDECL, _
496 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
499 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
504 @FB_RTL_FTOSS, @FB_RTL_FTOSS, _
505 FB_DATATYPE_SHORT, FB_FUNCMODE_CDECL, _
506 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
509 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
514 @FB_RTL_DTOSS, @FB_RTL_DTOSS, _
515 FB_DATATYPE_SHORT, FB_FUNCMODE_CDECL, _
516 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
519 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
524 @FB_RTL_FTOSB, @FB_RTL_FTOSB, _
525 FB_DATATYPE_BYTE, FB_FUNCMODE_CDECL, _
526 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
529 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
534 @FB_RTL_DTOSB, @FB_RTL_DTOSB, _
535 FB_DATATYPE_BYTE, FB_FUNCMODE_CDECL, _
536 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
539 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
544 @FB_RTL_FTOUL, @FB_RTL_FTOUL, _
545 FB_DATATYPE_ULONGINT, FB_FUNCMODE_CDECL, _
546 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
549 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
554 @FB_RTL_DTOUL, @FB_RTL_DTOUL, _
555 FB_DATATYPE_ULONGINT, FB_FUNCMODE_CDECL, _
556 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
559 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
564 @FB_RTL_FTOUI, @FB_RTL_FTOUI, _
565 FB_DATATYPE_ULONG, FB_FUNCMODE_CDECL, _
566 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
569 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
574 @FB_RTL_DTOUI, @FB_RTL_DTOUI, _
575 FB_DATATYPE_ULONG, FB_FUNCMODE_CDECL, _
576 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
579 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
584 @FB_RTL_FTOUS, @FB_RTL_FTOUS, _
585 FB_DATATYPE_USHORT, FB_FUNCMODE_CDECL, _
586 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
589 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
594 @FB_RTL_DTOUS, @FB_RTL_DTOUS, _
595 FB_DATATYPE_USHORT, FB_FUNCMODE_CDECL, _
596 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
599 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
604 @FB_RTL_FTOUB, @FB_RTL_FTOUB, _
605 FB_DATATYPE_UBYTE, FB_FUNCMODE_CDECL, _
606 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
609 ( FB_DATATYPE_SINGLE, FB_PARAMMODE_BYVAL, FALSE ) _
614 @FB_RTL_DTOUB, @FB_RTL_DTOUB, _
615 FB_DATATYPE_UBYTE, FB_FUNCMODE_CDECL, _
616 NULL, FB_RTL_OPT_IRHLCBUILTIN, _
619 ( FB_DATATYPE_DOUBLE, FB_PARAMMODE_BYVAL, FALSE ) _
645 byval xexpr
as ASTNODE
ptr, _
646 byval yexpr
as ASTNODE
ptr _
649 dim as ASTNODE
ptr proc =
any
657 if(
astNewARG( proc, xexpr ) = NULL )
then
662 if(
astNewARG( proc, yexpr ) = NULL )
then
674 byval dtype
as integer, _
675 byval lexpr
as ASTNODE
ptr, _
676 byval ldtype
as integer, _
677 byval rexpr
as ASTNODE
ptr, _
678 byval rdtype
as integer _
681 dim as ASTNODE
ptr proc =
any
682 dim as FBSYMBOL
ptr f =
any
686 if( typeGet( dtype ) = FB_DATATYPE_LONGINT )
then
687 f = PROCLOOKUP( LONGINTDIV )
689 f = PROCLOOKUP( ULONGINTDIV )
695 if(
astNewARG( proc, lexpr, ldtype ) = NULL )
then
699 if(
astNewARG( proc, rexpr, rdtype ) = NULL )
then
710 byval dtype
as integer, _
711 byval lexpr
as ASTNODE
ptr, _
712 byval ldtype
as integer, _
713 byval rexpr
as ASTNODE
ptr, _
714 byval rdtype
as integer _
717 dim as ASTNODE
ptr proc =
any
718 dim as FBSYMBOL
ptr f =
any
722 if( typeGet( dtype ) = FB_DATATYPE_LONGINT )
then
723 f = PROCLOOKUP( LONGINTMOD )
725 f = PROCLOOKUP( ULONGINTMOD )
731 if(
astNewARG( proc, lexpr, ldtype ) = NULL )
then
735 if(
astNewARG( proc, rexpr, rdtype ) = NULL )
then
746 byval expr
as ASTNODE
ptr, _
747 byval dtype
as integer _
750 dim as ASTNODE
ptr proc =
any
754 proc =
astNewCALL( PROCLOOKUP( DBL2ULONGINT) )
757 if(
astNewARG( proc, expr, dtype ) = NULL )
then
769 byval op as integer, _
770 byval expr
as ASTNODE
ptr _
773 dim as FBSYMBOL
ptr sym =
any
777 select case as const op
779 sym = PROCLOOKUP(
SGN )
782 sym = PROCLOOKUP(
ABS )
785 sym = PROCLOOKUP(
FIX )
788 sym = PROCLOOKUP(
FRAC )
791 sym = PROCLOOKUP(
SIN )
794 sym = PROCLOOKUP(
ASIN )
797 sym = PROCLOOKUP(
COS )
800 sym = PROCLOOKUP(
ACOS )
803 sym = PROCLOOKUP(
TAN )
806 sym = PROCLOOKUP( ATAN )
809 sym = PROCLOOKUP( SQRT )
812 sym = PROCLOOKUP(
LOG )
815 sym = PROCLOOKUP(
EXP )
818 sym = PROCLOOKUP( FLOOR )
832 byval op as integer, _
833 byval lexpr
as ASTNODE
ptr, _
834 byval rexpr
as ASTNODE
ptr _
837 dim as FBSYMBOL
ptr sym =
any
841 select case as const op
843 sym = PROCLOOKUP(
ATAN2 )
857 byval expr
as ASTNODE
ptr, _
858 byval to_dtype
as integer _
861 dim as FBSYMBOL
ptr sym =
any
865 var from_dtype = astGetDataType( expr )
867 select case as const( typeGetSizeType( to_dtype ) )
868 case FB_SIZETYPE_INT8
869 if( from_dtype = FB_DATATYPE_SINGLE )
then
870 sym = PROCLOOKUP( FTOSB )
872 sym = PROCLOOKUP( DTOSB )
875 case FB_SIZETYPE_UINT8
876 if( from_dtype = FB_DATATYPE_SINGLE )
then
877 sym = PROCLOOKUP( FTOUB )
879 sym = PROCLOOKUP( DTOUB )
882 case FB_SIZETYPE_INT16
883 if( from_dtype = FB_DATATYPE_SINGLE )
then
884 sym = PROCLOOKUP( FTOSS )
886 sym = PROCLOOKUP( DTOSS )
889 case FB_SIZETYPE_UINT16
890 if( from_dtype = FB_DATATYPE_SINGLE )
then
891 sym = PROCLOOKUP( FTOUS )
893 sym = PROCLOOKUP( DTOUS )
896 case FB_SIZETYPE_INT32
897 if( from_dtype = FB_DATATYPE_SINGLE )
then
898 sym = PROCLOOKUP( FTOSI )
900 sym = PROCLOOKUP( DTOSI )
903 case FB_SIZETYPE_UINT32
904 if( from_dtype = FB_DATATYPE_SINGLE )
then
905 sym = PROCLOOKUP( FTOUI )
907 sym = PROCLOOKUP( DTOUI )
910 case FB_SIZETYPE_INT64
911 if( from_dtype = FB_DATATYPE_SINGLE )
then
912 sym = PROCLOOKUP( FTOSL )
914 sym = PROCLOOKUP( DTOSL )
917 case FB_SIZETYPE_UINT64
918 if( from_dtype = FB_DATATYPE_SINGLE )
then
919 sym = PROCLOOKUP( FTOUL )
921 sym = PROCLOOKUP( DTOUL )
931 if(
astNewARG( proc, expr ) = NULL )
then
940 static as integer added = FALSE
942 if( added = FALSE )
then
944 select case env.clopt.target
945 case FB_COMPTARGET_WIN32, FB_COMPTARGET_CYGWIN