/** @file FloatIntegerOps.hpp * * @author Roland Conybeare, Feb 2026 **/ #pragma once #include "Numeric.hpp" #include #include #include namespace xo { namespace scm { class FloatIntegerOps { public: using AGCObject = xo::mm::AGCObject; public: static obj multiply(obj rcx, DFloat * x, DInteger * y); static obj divide(obj rcx, DFloat * x, DInteger * y); static obj add(obj rcx, DFloat * x, DInteger * y); static obj subtract(obj rcx, DFloat * x, DInteger * y); static obj cmp_equal(obj rcx, DFloat * x, DInteger * y); static obj cmp_notequal(obj rcx, DFloat * x, DInteger * y); static obj cmp_less(obj rcx, DFloat * x, DInteger * y); }; class IntegerFloatOps { public: using AGCObject = xo::mm::AGCObject; public: static obj multiply(obj rcx, DInteger * x, DFloat * y); static obj divide(obj rcx, DInteger * x, DFloat * y); static obj add(obj rcx, DInteger * x, DFloat * y); static obj subtract(obj rcx, DInteger * x, DFloat * y); static obj cmp_equal(obj rcx, DInteger * x, DFloat * y); static obj cmp_notequal(obj rcx, DInteger * x, DFloat * y); static obj cmp_less(obj rcx, DInteger * x, DFloat * y); }; } } /* end FloatIntegerOps.hpp */