shithub: femtolisp

ref: 1fa5ecb395cf9771300fae5da9e38b69e3aa48a9
dir: /equal.h/

View raw version
#pragma once

// comparable with ==
#define eq_comparable(a, b) (!(((a)|(b))&1))
#define eq_comparablep(a) (!((a)&1)) /* mag: UNUSED? */

value_t fl_compare(value_t a, value_t b);
value_t fl_equal(value_t a, value_t b);
int equal_lispvalue(value_t a, value_t b);
uintptr_t hash_lispvalue(value_t a);
value_t compare_(value_t a, value_t b, bool eq);
int numeric_compare(value_t a, value_t b, bool eq, bool eqnans, bool typeerr);
void comparehash_init(void);