From 3bd18880a4178a415a3a86a0df09f0c516fa7f3a Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Sat, 23 Jan 2021 00:05:40 -0500 Subject: [PATCH] Issue #370 - bignum support for c->scm, WIP thread data --- libs/cyclone/foreign.sld | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libs/cyclone/foreign.sld b/libs/cyclone/foreign.sld index ca2ac566..61dd58f4 100644 --- a/libs/cyclone/foreign.sld +++ b/libs/cyclone/foreign.sld @@ -119,6 +119,8 @@ (string-append "opaque_ptr(" ,code ")")) ((c-void) "Cyc_VOID") + ((data) + "data") (else (error "scm->c unable to convert scheme object of type " ,type))))))) @@ -151,6 +153,13 @@ "make_double(" var ", " ,code ");") (string-append "&" var) ))) + ((bignum bigint) + (let ((var (mangle (gensym 'var)))) + (cons + (string-append + "alloc_bignum(data," var ");" + var "->bn = " ,code ";") + (string-append var)))) ((bool) (cons "" @@ -184,6 +193,8 @@ (cons (string-append ,code ";") "Cyc_VOID")) + ((data) + "data") (else (error "c->scm unable to convert C object of type " ,type)))))))