|
Serene Runtime 1.0.0-dev
C runtime for the Serene programming language
|
#include <serene/rt/core.h>#include <serene/rt/core/numbers.h>#include <serene/rt/lists.h>#include <serene/rt/maps.h>#include <serene/rt/protocols.h>#include "base.h"Go to the source code of this file.
Macros | |
| #define | VALUE_TESTS(X) |
| #define | V_TEST_LOG(...) |
Functions | |
| static void | test_value_basics () |
| static void | test_value_f64_zero_eq_hash () |
| IEEE equality makes +0.0 and -0.0 equal, so the documented eq => hash invariant requires them to hash the same despite different bit patterns. | |
| static void | test_value_list_cons_type_check () |
| Consing onto a value that is neither nil nor a list must produce an error value, not reinterpret the payload as a list pointer. | |
| static void | test_value_map_unhashable_key () |
| A key the hash protocol cannot hash must come back as an error value from assoc, not abort the process from inside srn_value_hash. | |
| #define V_TEST_LOG | ( | ... | ) |
Definition at line 38 of file value_tests.h.
| #define VALUE_TESTS | ( | X | ) |
Definition at line 29 of file value_tests.h.
|
static |
Definition at line 41 of file value_tests.h.
|
static |
IEEE equality makes +0.0 and -0.0 equal, so the documented eq => hash invariant requires them to hash the same despite different bit patterns.
Definition at line 58 of file value_tests.h.
|
static |
Consing onto a value that is neither nil nor a list must produce an error value, not reinterpret the payload as a list pointer.
Definition at line 74 of file value_tests.h.
|
static |
A key the hash protocol cannot hash must come back as an error value from assoc, not abort the process from inside srn_value_hash.
Definition at line 90 of file value_tests.h.