shithub: femtolisp

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