shithub: femtolisp

ref: 7bcf6ac7b612306d197d063aaf6d971ca5dd2e3f
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);