>From 5c509db4db65e0078bbce53f776f0e9767dfb6de Mon Sep 17 00:00:00 2001
From: AwesomeAdam54321 <[email protected]>
Date: Mon, 9 Nov 2026 11:07:16 +0800
Subject: [PATCH] runtime: Add `bitvector` procedure.
* src/runtime/bitstr.scm: Define `bitvector` procedure.
* src/runtime/runtime.pkg: Export it.
---
src/runtime/bitstr.scm | 9 ++++++++-
src/runtime/runtime.pkg | 1 +
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/runtime/bitstr.scm b/src/runtime/bitstr.scm
index 9d8ba4aa1..d4aa6d2f5 100644
--- a/src/runtime/bitstr.scm
+++ b/src/runtime/bitstr.scm
@@ -114,4 +114,11 @@ USA.
(nbits (bit-string-length bit-string)))
(if (bit-string-ref bit-string (-1+ nbits)) ;Sign bit.
(- unsigned-result (expt 2 nbits))
- unsigned-result)))
\ No newline at end of file
+ unsigned-result)))
+
+(define (bitvector . bits)
+ (unsigned-integer->bit-string
+ (length bits)
+ (string->number
+ (list->string
+ (map (lambda (x) (if x #\1 #\0)) bits)) 2)))
diff --git a/src/runtime/runtime.pkg b/src/runtime/runtime.pkg
index 4aa487c40..5be481ca1 100644
--- a/src/runtime/runtime.pkg
+++ b/src/runtime/runtime.pkg
@@ -114,6 +114,7 @@ USA.
read-bits!
signed-integer->bit-string
unsigned-integer->bit-string
+ bitvector
write-bits!))
(define-package (runtime blowfish)
--
2.55.0