From 147e0f0269440fce15d6b88a8a90627f3a3b2df2 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 5 Mar 2025 18:20:54 -0500 Subject: Overhaul of constructors, making it more consistent and correct. Also changed T(), T, T_t, T_s type names to T(), T$$info, T$$type, T$$struct for unambiguity --- stdlib/bools.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'stdlib/bools.h') diff --git a/stdlib/bools.h b/stdlib/bools.h index c1b344b8..6d0300d5 100644 --- a/stdlib/bools.h +++ b/stdlib/bools.h @@ -9,12 +9,17 @@ #include "optionals.h" #include "util.h" -#define Bool_t bool #define yes (Bool_t)true #define no (Bool_t)false PUREFUNC Text_t Bool$as_text(const void *b, bool colorize, const TypeInfo_t *type); OptionalBool_t Bool$parse(Text_t text); +MACROLIKE Bool_t Bool$from_int(Int_t i) { return (i.small != 0); } +MACROLIKE Bool_t Bool$from_int64(Int64_t i) { return (i != 0); } +MACROLIKE Bool_t Bool$from_int32(Int32_t i) { return (i != 0); } +MACROLIKE Bool_t Bool$from_int16(Int16_t i) { return (i != 0); } +MACROLIKE Bool_t Bool$from_int8(Int8_t i) { return (i != 0); } +MACROLIKE Bool_t Bool$from_byte(uint8_t b) { return (b != 0); } extern const TypeInfo_t Bool$info; -- cgit v1.2.3