summaryrefslogtreecommitdiff
path: root/src/scheme/ao_scheme_poly.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-12-14 23:04:39 -0800
committerKeith Packard <keithp@keithp.com>2017-12-14 23:04:39 -0800
commit32f6877288ea6b7eb1cae9a42fbe8e2c5dbb2f08 (patch)
tree4e23989a62ae144b8cbf1d2fd135ca8a6bd743dc /src/scheme/ao_scheme_poly.c
parent2e11cae044cd2c053049effd76df9c5adecb84d7 (diff)
altos/scheme: swap BIGINT and STRING types
This lets BIGINT be a primitive type, allowing it to use all 32 bits for storage. This does make strings another byte longer, and also slightly harder to deal with. It's a trade off. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/scheme/ao_scheme_poly.c')
-rw-r--r--src/scheme/ao_scheme_poly.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/scheme/ao_scheme_poly.c b/src/scheme/ao_scheme_poly.c
index 0bb427b9..2ea221ec 100644
--- a/src/scheme/ao_scheme_poly.c
+++ b/src/scheme/ao_scheme_poly.c
@@ -24,10 +24,12 @@ static const struct ao_scheme_funcs ao_scheme_funcs[AO_SCHEME_NUM_TYPE] = {
.write = ao_scheme_cons_write,
.display = ao_scheme_cons_display,
},
- [AO_SCHEME_STRING] = {
- .write = ao_scheme_string_write,
- .display = ao_scheme_string_display,
+#ifdef AO_SCHEME_FEATURE_BIGINT
+ [AO_SCHEME_BIGINT] = {
+ .write = ao_scheme_bigint_write,
+ .display = ao_scheme_bigint_write,
},
+#endif
[AO_SCHEME_INT] = {
.write = ao_scheme_int_write,
.display = ao_scheme_int_write,
@@ -60,12 +62,10 @@ static const struct ao_scheme_funcs ao_scheme_funcs[AO_SCHEME_NUM_TYPE] = {
.write = ao_scheme_bool_write,
.display = ao_scheme_bool_write,
},
-#ifdef AO_SCHEME_FEATURE_BIGINT
- [AO_SCHEME_BIGINT] = {
- .write = ao_scheme_bigint_write,
- .display = ao_scheme_bigint_write,
+ [AO_SCHEME_STRING] = {
+ .write = ao_scheme_string_write,
+ .display = ao_scheme_string_display,
},
-#endif
#ifdef AO_SCHEME_FEATURE_FLOAT
[AO_SCHEME_FLOAT] = {
.write = ao_scheme_float_write,