xo-umbrella2/xo-numeric/include/xo/numeric/IntegerOps.hpp
Roland Conybeare 2d92eec35c git subrepo clone git@github.com:Rconybea/xo-numeric.git xo-numeric
subrepo:
  subdir:   "xo-numeric"
  merged:   "7750c868"
upstream:
  origin:   "git@github.com:Rconybea/xo-numeric.git"
  branch:   "main"
  commit:   "7750c868"
git-subrepo:
  version:  "0.4.9"
  origin:   "???"
  commit:   "???"
2026-06-06 22:14:02 -04:00

50 lines
1.8 KiB
C++

/** @file IntegerOps.hpp
*
* @author Roland Conybeare, Feb 2026
**/
#pragma once
#include "Numeric.hpp"
#include <xo/procedure2/RuntimeContext.hpp>
#include <xo/object2/Integer.hpp>
namespace xo {
namespace scm {
class IntegerOps {
public:
using AGCObject = xo::mm::AGCObject;
public:
static obj<AGCObject> multiply(obj<ARuntimeContext> rcx,
DInteger * x, DInteger * y);
static obj<AGCObject> divide(obj<ARuntimeContext> rcx,
DInteger * x, DInteger * y);
static obj<AGCObject> add(obj<ARuntimeContext> rcx,
DInteger * x, DInteger * y);
static obj<AGCObject> subtract(obj<ARuntimeContext> rcx,
DInteger * x, DInteger * y);
static obj<AGCObject> cmp_equal(obj<ARuntimeContext> rcx,
DInteger * x, DInteger * y);
static obj<AGCObject> cmp_notequal(obj<ARuntimeContext> rcx,
DInteger * x, DInteger * y);
static obj<AGCObject> cmp_less(obj<ARuntimeContext> rcx,
DInteger * x, DInteger * y);
static obj<AGCObject> cmp_lessequal(obj<ARuntimeContext> rcx,
DInteger * x, DInteger * y);
static obj<AGCObject> cmp_greater(obj<ARuntimeContext> rcx,
DInteger * x, DInteger * y);
static obj<AGCObject> cmp_greatequal(obj<ARuntimeContext> rcx,
DInteger * x, DInteger * y);
};
}
}
/* end IntegerOps.hpp */