ref: a59678bdd9ddedee9cc73e928f063036ece46362
parent: c1ac6d795a28cd62ce5acf8fa75f2c381e59ef06
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Thu Apr 10 17:56:13 EDT 2025
add ptr?
--- a/src/builtins.c
+++ b/src/builtins.c
@@ -262,6 +262,20 @@
return isbignum(args[0]) ? sl_t : sl_nil;
}
+sl_purefn
+BUILTIN("ptr?", ptrp)
+{
+ argcount(nargs, 1);
+ sl_v v = args[0];
+ if(isubnum(v))
+ return ubnumtype(v) == T_P32 || ubnumtype(v) == T_P64 ? sl_t : sl_nil;
+ if(iscvalue(v)){
+ sl_cv *p = ptr(v);
+ return cv_numtype(p) == T_P32 || cv_numtype(p) == T_P64 ? sl_t : sl_nil;
+ }
+ return sl_nil;
+}
+
BUILTIN("fixnum", fixnum)
{
argcount(nargs, 1);