// 1 < m < 2^32, standard representation
+namespace cln {
+
static const _cl_MI int32_plus (cl_heap_modint_ring* R, const _cl_MI& x, const _cl_MI& y)
{
var uint32 xr = cl_I_to_UL(x.rep);
SUBCLASS_cl_heap_modint_ring()
public:
// Constructor.
- cl_heap_modint_ring_int32 (const cl_I& m)
- : cl_heap_modint_ring (m, &std_setops, &int32_addops, &int32_mulops) {}
- // Virtual destructor.
+ cl_heap_modint_ring_int32 (const cl_I& m);
+ // Destructor.
~cl_heap_modint_ring_int32 () {}
};
+
+static void cl_modint_ring_int32_destructor (cl_heap* pointer)
+{
+ (*(cl_heap_modint_ring_int32*)pointer).~cl_heap_modint_ring_int32();
+}
+
+cl_class cl_class_modint_ring_int32 = {
+ cl_modint_ring_int32_destructor,
+ cl_class_flags_modint_ring
+};
+
+// Constructor.
+inline cl_heap_modint_ring_int32::cl_heap_modint_ring_int32(const cl_I& m)
+ : cl_heap_modint_ring (m, &std_setops, &int32_addops, &int32_mulops)
+{
+ type = &cl_class_modint_ring_int32;
+}
+
+} // namespace cln