2024-02-17 16:32:30 -08:00
|
|
|
#pragma once
|
2024-03-18 09:57:49 -07:00
|
|
|
|
|
|
|
// Boolean functions/type info
|
|
|
|
|
2024-02-17 16:32:30 -08:00
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
#include "types.h"
|
2024-09-11 11:53:48 -07:00
|
|
|
#include "optionals.h"
|
2024-09-08 14:17:15 -07:00
|
|
|
#include "util.h"
|
2024-02-17 16:32:30 -08:00
|
|
|
|
2024-02-17 20:27:02 -08:00
|
|
|
#define yes (Bool_t)true
|
|
|
|
#define no (Bool_t)false
|
|
|
|
|
2024-11-29 09:55:14 -08:00
|
|
|
PUREFUNC Text_t Bool$as_text(const void *b, bool colorize, const TypeInfo_t *type);
|
2024-11-09 12:11:11 -08:00
|
|
|
OptionalBool_t Bool$parse(Text_t text);
|
2025-03-05 15:20:54 -08:00
|
|
|
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); }
|
2024-02-17 16:32:30 -08:00
|
|
|
|
2024-09-30 11:39:30 -07:00
|
|
|
extern const TypeInfo_t Bool$info;
|
2024-02-17 16:32:30 -08:00
|
|
|
|
|
|
|
// vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1,\:0
|