tinymux/mux/include/funmath.h
Stephen Dennis 614d2049be Add limath() for 64-bit integer list reductions
Integer-only counterpart to lmath() supporting add, sub, mul, div, mod,
min, max, and median. Validates integer input, fails with #-1 LIST TOO
LONG on overflow rather than silently truncating. Even-length median
uses overflow-safe a + (b - a) / 2 form. 14 smoke tests, Tier 2
complete.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 23:28:11 -06:00

106 lines
2.1 KiB
C

/*! \file funmath.h
* \brief declarations for math-related functions.
*
*/
#include "copyright.h"
#ifndef FUNMATH_H
#define FUNMATH_H
XFUNCTION(fun_add);
XFUNCTION(fun_ladd);
XFUNCTION(fun_iadd);
XFUNCTION(fun_sub);
XFUNCTION(fun_isub);
XFUNCTION(fun_mul);
XFUNCTION(fun_imul);
XFUNCTION(fun_gt);
XFUNCTION(fun_gte);
XFUNCTION(fun_lt);
XFUNCTION(fun_lte);
XFUNCTION(fun_eq);
XFUNCTION(fun_neq);
XFUNCTION(fun_max);
XFUNCTION(fun_lmax);
XFUNCTION(fun_lmin);
XFUNCTION(fun_lmath);
XFUNCTION(fun_limath);
XFUNCTION(fun_min);
XFUNCTION(fun_sign);
XFUNCTION(fun_isign);
XFUNCTION(fun_shl);
XFUNCTION(fun_shr);
XFUNCTION(fun_inc);
XFUNCTION(fun_dec);
XFUNCTION(fun_trunc);
XFUNCTION(fun_fdiv);
XFUNCTION(fun_idiv);
XFUNCTION(fun_floordiv);
XFUNCTION(fun_mod);
XFUNCTION(fun_remainder);
XFUNCTION(fun_abs);
XFUNCTION(fun_iabs);
XFUNCTION(fun_dist2d);
XFUNCTION(fun_dist3d);
XFUNCTION(fun_vadd);
XFUNCTION(fun_vsub);
XFUNCTION(fun_vmul);
XFUNCTION(fun_vdot);
XFUNCTION(fun_vcross);
XFUNCTION(fun_vmag);
XFUNCTION(fun_vunit);
XFUNCTION(fun_floor);
XFUNCTION(fun_ceil);
XFUNCTION(fun_round);
XFUNCTION(fun_pi);
XFUNCTION(fun_e);
XFUNCTION(fun_ctu);
XFUNCTION(fun_sin);
XFUNCTION(fun_cos);
XFUNCTION(fun_tan);
XFUNCTION(fun_asin);
XFUNCTION(fun_acos);
XFUNCTION(fun_atan);
XFUNCTION(fun_atan2);
XFUNCTION(fun_exp);
XFUNCTION(fun_power);
XFUNCTION(fun_fmod);
XFUNCTION(fun_ln);
XFUNCTION(fun_log);
XFUNCTION(fun_sqrt);
XFUNCTION(fun_isnum);
XFUNCTION(fun_israt);
XFUNCTION(fun_isint);
XFUNCTION(fun_and);
XFUNCTION(fun_or);
XFUNCTION(fun_andbool);
XFUNCTION(fun_orbool);
XFUNCTION(fun_cand);
XFUNCTION(fun_cor);
XFUNCTION(fun_firstof);
XFUNCTION(fun_strfirstof);
XFUNCTION(fun_allof);
XFUNCTION(fun_strallof);
XFUNCTION(fun_candbool);
XFUNCTION(fun_corbool);
XFUNCTION(fun_xor);
XFUNCTION(fun_not);
XFUNCTION(fun_t);
XFUNCTION(fun_spellnum);
XFUNCTION(fun_roman);
XFUNCTION(fun_land);
XFUNCTION(fun_lor);
XFUNCTION(fun_lxor);
XFUNCTION(fun_lband);
XFUNCTION(fun_lbor);
XFUNCTION(fun_lbxor);
XFUNCTION(fun_band);
XFUNCTION(fun_bor);
XFUNCTION(fun_bnand);
XFUNCTION(fun_bxor);
XFUNCTION(fun_crc32);
XFUNCTION(fun_sha1);
XFUNCTION(fun_digest);
#endif // !FUNMATH_H