guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 53/69: Implement scm_{to,from}_wchar inline


From: Andy Wingo
Subject: [Guile-commits] 53/69: Implement scm_{to,from}_wchar inline
Date: Fri, 7 Jan 2022 08:27:18 -0500 (EST)

wingo pushed a commit to branch wip-inline-digits
in repository guile.

commit 1b14d58a644922485118ef7a7bc6a49cf80337ef
Author: Andy Wingo <wingo@pobox.com>
AuthorDate: Thu Jan 6 21:15:16 2022 +0100

    Implement scm_{to,from}_wchar inline
    
    * libguile/numbers.c (scm_to_wchar, scm_from_wchar): Implement inline.
---
 libguile/numbers.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/libguile/numbers.c b/libguile/numbers.c
index 9ea860600..10efb303a 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -7072,13 +7072,17 @@ scm_from_uint64 (uint64_t arg)
   return scm_integer_from_uint64 (arg);
 }
 
-#define TYPE                     scm_t_wchar
-#define TYPE_MIN                 (int32_t)-1
-#define TYPE_MAX                 (int32_t)0x10ffff
-#define SIZEOF_TYPE              4
-#define SCM_TO_TYPE_PROTO(arg)   scm_to_wchar (arg)
-#define SCM_FROM_TYPE_PROTO(arg) scm_from_wchar (arg)
-#include "conv-integer.i.c"
+wchar_t
+scm_to_wchar (SCM arg)
+{
+  return inum_in_range (arg, -1, 0x10ffff);
+}
+
+SCM
+scm_from_wchar (wchar_t arg)
+{
+  return SCM_I_MAKINUM (arg);
+}
 
 void
 scm_to_mpz (SCM val, mpz_t rop)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]