summaryrefslogtreecommitdiffstats
path: root/ffi.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-11-18 06:29:30 -0800
committerKaz Kylheku <kaz@kylheku.com>2019-11-18 14:26:20 -0800
commit7e661d803f3cb87a62a8728af948fc0e23168083 (patch)
treeb7fab5d68481e2aa1b9faf8fc92896c64e586be0 /ffi.c
parent1ffda63139995634596762ea9fa0f19de2dcce9c (diff)
downloadtxr-7e661d803f3cb87a62a8728af948fc0e23168083.tar.gz
txr-7e661d803f3cb87a62a8728af948fc0e23168083.tar.bz2
txr-7e661d803f3cb87a62a8728af948fc0e23168083.zip
ffi: rename functions in the carray-num group.
* ffi.c (carray_unum, carray_num, unum_carray, num_carray): Functions renamed to carray_uint, carray_int, uint_carray, int_carray. (ffi_init): Functions registered under new names: carray-uint, carray-int, uint-carray, int-carray. Compat values of 227 or less provide the old old names. * ffi.h (carray_unum, carray_num, unum_carray, num_carray): Declarations renamed. * txr.1: Updated to new names; compat note added.
Diffstat (limited to 'ffi.c')
-rw-r--r--ffi.c39
1 files changed, 27 insertions, 12 deletions
diff --git a/ffi.c b/ffi.c
index dbaa1ce5..fe7cf5d6 100644
--- a/ffi.c
+++ b/ffi.c
@@ -59,6 +59,7 @@
#include "utf8.h"
#include "hash.h"
#include "ffi.h"
+#include "txr.h"
#define zalloca(size) memset(alloca(size), 0, size)
@@ -5355,9 +5356,9 @@ val carray_pun(val carray, val type)
return make_carray(type, scry->data, size / tft->size, carray, 0);
}
-val carray_unum(val num, val eltype_in)
+val carray_uint(val num, val eltype_in)
{
- val self = lit("carray-unum");
+ val self = lit("carray-uint");
val eltype = default_arg(eltype_in, ffi_type_compile(uchar_s));
struct txr_ffi_type *tft = ffi_type_struct(eltype);
@@ -5390,9 +5391,9 @@ val carray_unum(val num, val eltype_in)
}
}
-val carray_num(val num, val eltype_in)
+val carray_int(val num, val eltype_in)
{
- val self = lit("carray-num");
+ val self = lit("carray-int");
val eltype = default_arg(eltype_in, ffi_type_compile(uchar_s));
struct txr_ffi_type *tft = ffi_type_struct(eltype);
@@ -5428,9 +5429,9 @@ val carray_num(val num, val eltype_in)
}
}
-val unum_carray(val carray)
+val uint_carray(val carray)
{
- val self = lit("unum-carray");
+ val self = lit("uint-carray");
struct carray *scry = carray_struct_checked(self, carray);
struct txr_ffi_type *etft = scry->eltft;
ucnum size = (ucnum) etft->size * (ucnum) scry->nelem;
@@ -5441,9 +5442,9 @@ val unum_carray(val carray)
return normalize(ubn);
}
-val num_carray(val carray)
+val int_carray(val carray)
{
- val self = lit("num-carray");
+ val self = lit("int-carray");
struct carray *scry = carray_struct_checked(self, carray);
struct txr_ffi_type *etft = scry->eltft;
ucnum size = (ucnum) etft->size * (ucnum) scry->nelem;
@@ -5858,10 +5859,24 @@ void ffi_init(void)
reg_fun(intern(lit("carray-put"), user_package), func_n2(carray_put));
reg_fun(intern(lit("carray-putz"), user_package), func_n2(carray_putz));
reg_fun(intern(lit("carray-pun"), user_package), func_n2(carray_pun));
- reg_fun(intern(lit("carray-unum"), user_package), func_n2o(carray_unum, 1));
- reg_fun(intern(lit("carray-num"), user_package), func_n2o(carray_num, 1));
- reg_fun(intern(lit("unum-carray"), user_package), func_n1(unum_carray));
- reg_fun(intern(lit("num-carray"), user_package), func_n1(num_carray));
+ {
+ val ca_uint = func_n2o(carray_uint, 1);
+ val ca_int = func_n2o(carray_int, 1);
+ val uint_ca = func_n1(uint_carray);
+ val int_ca = func_n1(int_carray);
+
+ reg_fun(intern(lit("carray-uint"), user_package), ca_uint);
+ reg_fun(intern(lit("carray-int"), user_package), ca_int);
+ reg_fun(intern(lit("uint-carray"), user_package), uint_ca);
+ reg_fun(intern(lit("int-carray"), user_package), int_ca);
+
+ if (opt_compat && opt_compat <= 227) {
+ reg_fun(intern(lit("carray-unum"), user_package), ca_uint);
+ reg_fun(intern(lit("carray-num"), user_package), ca_int);
+ reg_fun(intern(lit("unum-carray"), user_package), uint_ca);
+ reg_fun(intern(lit("num-carray"), user_package), int_ca);
+ }
+ }
reg_fun(intern(lit("put-carray"), user_package), func_n3o(put_carray, 1));
reg_fun(intern(lit("fill-carray"), user_package), func_n3o(fill_carray, 1));
reg_fun(intern(lit("make-union"), user_package), func_n3o(make_union, 1));