Unfortunately, we don't have the built-in function like that.
However, you can create your own function to check if a value is an integer. Or you can take a reference here to acheive it.
forall X -> int is_null(X x) asm "ISNULL";
forall X -> int is_int(X x) asm "<{ TRY:<{ 0 PUSHINT ADD DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS";
forall X -> int is_cell(X x) asm "<{ TRY:<{ CTOS DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS";
forall X -> int is_slice(X x) asm "<{ TRY:<{ SBITS DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS";
forall X -> int is_tuple(X x) asm "ISTUPLE";
Remember, FunC's type system will usually make it unnecessary to check for a specific type at runtime, as the type constraints are already imposed at the compilation level
.
For instance, if a function is designed to accept only integers as input, the compiler will enforce this requirement, and an error will be thrown if a non-integer is passed.