shithub: femtolisp

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