(define-cpp-type cl_heap_number_ring* static
  id: cl_heap_number_ring*
  class: cl_heap_number_ring
  cpp-type-dcl: "cl_heap_number_ring *%s"
  cast: "((cl_heap_number_ring *)(%s))"
  callback-res-converter: "(cl_heap_number_ring *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type const-cl_modint_ring& static
  id: cl_modint_ring*
  class: cl_modint_ring
  cpp-type-dcl: "const cl_modint_ring &%s"
  cast: "((const cl_modint_ring &)(%s))"
  arg-type: "const cl_modint_ring *%s"
  arg-converter: "*(%s)"
  res-type: "const cl_modint_ring *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(const cl_modint_ring *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_modint_ring& static
  id: cl_modint_ring*
  class: cl_modint_ring
  cpp-type-dcl: "cl_modint_ring &%s"
  cast: "((cl_modint_ring &)(%s))"
  arg-type: "cl_modint_ring *%s"
  arg-converter: "*(%s)"
  res-type: "cl_modint_ring *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_modint_ring *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_heap_modint_ring* static
  id: cl_heap_modint_ring*
  class: cl_heap_modint_ring
  cpp-type-dcl: "cl_heap_modint_ring *%s"
  cast: "((cl_heap_modint_ring *)(%s))"
  callback-res-converter: "(cl_heap_modint_ring *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_modint_ring static
  id: cl_modint_ring*
  class: cl_modint_ring
  cpp-type-dcl: "cl_modint_ring %s"
  cast: "((cl_modint_ring)(%s))"
  arg-type: "cl_modint_ring *%s"
  arg-converter: "*(%s)"
  res-type: "cl_modint_ring *%s"
  res-converter: "new cl_modint_ring (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_modint_ring *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_modint_ring* static
  id: cl_modint_ring*
  class: cl_modint_ring
  cpp-type-dcl: "cl_modint_ring *%s"
  cast: "((cl_modint_ring *)(%s))"
  callback-res-converter: "(cl_modint_ring *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-variable-setter cl_modint0_ring)
(define-cpp-data-slot-setter cl_composite_condition p)
(define-cpp-data-slot-setter cl_composite_condition factor)
(define-cpp-type cl_composite_condition& static
  id: cl_composite_condition*
  class: cl_composite_condition
  cpp-type-dcl: "cl_composite_condition &%s"
  cast: "((cl_composite_condition &)(%s))"
  arg-type: "cl_composite_condition *%s"
  arg-converter: "*(%s)"
  res-type: "cl_composite_condition *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_composite_condition *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_composite_condition static
  id: cl_composite_condition*
  class: cl_composite_condition
  cpp-type-dcl: "cl_composite_condition %s"
  cast: "((cl_composite_condition)(%s))"
  arg-type: "cl_composite_condition *%s"
  arg-converter: "*(%s)"
  res-type: "cl_composite_condition *%s"
  res-converter: "new cl_composite_condition (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_composite_condition *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_composite_condition* static
  id: cl_composite_condition*
  class: cl_composite_condition
  cpp-type-dcl: "cl_composite_condition *%s"
  cast: "((cl_composite_condition *)(%s))"
  callback-res-converter: "(cl_composite_condition *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter _cl_MI rep)
(define-cpp-type _cl_MI* static
  id: _cl_MI*
  class: _cl_MI
  cpp-type-dcl: "_cl_MI *%s"
  cast: "((_cl_MI *)(%s))"
  callback-res-converter: "(_cl_MI *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_MI static
  id: _cl_MI*
  class: _cl_MI
  cpp-type-dcl: "_cl_MI %s"
  cast: "((_cl_MI)(%s))"
  arg-type: "_cl_MI *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_MI *%s"
  res-converter: "new _cl_MI (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_MI *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type const-cl_heap_modint_ring* static
  id: cl_heap_modint_ring*
  class: cl_heap_modint_ring
  cpp-type-dcl: "const cl_heap_modint_ring *%s"
  cast: "((const cl_heap_modint_ring *)(%s))"
  callback-res-converter: "(const cl_heap_modint_ring *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_MI& static
  id: _cl_MI*
  class: _cl_MI
  cpp-type-dcl: "_cl_MI &%s"
  cast: "((_cl_MI &)(%s))"
  arg-type: "_cl_MI *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_MI *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_MI *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_MI* static
  id: cl_MI*
  class: cl_MI
  cpp-type-dcl: "cl_MI *%s"
  cast: "((cl_MI *)(%s))"
  callback-res-converter: "(cl_MI *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_MI static
  id: cl_MI*
  class: cl_MI
  cpp-type-dcl: "cl_MI %s"
  cast: "((cl_MI)(%s))"
  arg-type: "cl_MI *%s"
  arg-converter: "*(%s)"
  res-type: "cl_MI *%s"
  res-converter: "new cl_MI (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_MI *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type const_cl_MI& static
  id: _cl_MI*
  class: _cl_MI
  cpp-type-dcl: "const _cl_MI &%s"
  cast: "((const _cl_MI &)(%s))"
  arg-type: "const _cl_MI *%s"
  arg-converter: "*(%s)"
  res-type: "const _cl_MI *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(const _cl_MI *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_MI& static
  id: cl_MI*
  class: cl_MI
  cpp-type-dcl: "cl_MI &%s"
  cast: "((cl_MI &)(%s))"
  arg-type: "cl_MI *%s"
  arg-converter: "*(%s)"
  res-type: "cl_MI *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_MI *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter cl_MI_x condition)
(define-cpp-type cl_MI_x static
  id: cl_MI_x*
  class: cl_MI_x
  cpp-type-dcl: "cl_MI_x %s"
  cast: "((cl_MI_x)(%s))"
  arg-type: "cl_MI_x *%s"
  arg-converter: "*(%s)"
  res-type: "cl_MI_x *%s"
  res-converter: "new cl_MI_x (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_MI_x *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type const-cl_MI& static
  id: cl_MI*
  class: cl_MI
  cpp-type-dcl: "const cl_MI &%s"
  cast: "((const cl_MI &)(%s))"
  arg-type: "const cl_MI *%s"
  arg-converter: "*(%s)"
  res-type: "const cl_MI *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(const cl_MI *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_MI_x& static
  id: cl_MI_x*
  class: cl_MI_x
  cpp-type-dcl: "cl_MI_x &%s"
  cast: "((cl_MI_x &)(%s))"
  arg-type: "cl_MI_x *%s"
  arg-converter: "*(%s)"
  res-type: "cl_MI_x *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_MI_x *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_MI_x* static
  id: cl_MI_x*
  class: cl_MI_x
  cpp-type-dcl: "cl_MI_x *%s"
  cast: "((cl_MI_x *)(%s))"
  callback-res-converter: "(cl_MI_x *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter _cl_modint_setops fprint)
(define-cpp-type |void(*)(cl_heap_modint_ring*,ostream&,const_cl_MI&)| function-type
  signature: ((cl_heap_modint_ring* ostream& const_cl_MI&) void)
  cpp-type-dcl: "void (*%s)(cl_heap_modint_ring *, ostream &, const _cl_MI &)"
  id: |void(*)(cl_heap_modint_ring**,ostream**,_cl_MI**)|)
(define-cpp-data-slot-setter _cl_modint_setops equal)
(define-cpp-type |cl_boolean(*)(cl_heap_modint_ring*,const_cl_MI&,const_cl_MI&)| function-type
  signature: ((cl_heap_modint_ring* const_cl_MI& const_cl_MI&) cl_boolean)
  cpp-type-dcl: "cl_boolean (*%s)(cl_heap_modint_ring *, const _cl_MI &, const _cl_MI &)"
  id: |cl_boolean(*)(cl_heap_modint_ring**,_cl_MI**,_cl_MI**)|)
(define-cpp-data-slot-setter _cl_modint_setops random)
(define-cpp-type |_cl_MI(*)(cl_heap_modint_ring*,cl_random_state&)| function-type
  signature: ((cl_heap_modint_ring* cl_random_state&) _cl_MI)
  cpp-type-dcl: "_cl_MI (*%s)(cl_heap_modint_ring *, cl_random_state &)"
  id: |_cl_MI*(*)(cl_heap_modint_ring**,cl_random_state**)|)
(define-cpp-type _cl_modint_setops& static
  id: _cl_modint_setops*
  class: _cl_modint_setops
  cpp-type-dcl: "_cl_modint_setops &%s"
  cast: "((_cl_modint_setops &)(%s))"
  arg-type: "_cl_modint_setops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_modint_setops *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_modint_setops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_modint_setops static
  id: _cl_modint_setops*
  class: _cl_modint_setops
  cpp-type-dcl: "_cl_modint_setops %s"
  cast: "((_cl_modint_setops)(%s))"
  arg-type: "_cl_modint_setops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_modint_setops *%s"
  res-converter: "new _cl_modint_setops (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_modint_setops *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_modint_setops* static
  id: _cl_modint_setops*
  class: _cl_modint_setops
  cpp-type-dcl: "_cl_modint_setops *%s"
  cast: "((_cl_modint_setops *)(%s))"
  callback-res-converter: "(_cl_modint_setops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter _cl_modint_addops zero)
(define-cpp-type |_cl_MI(*)(cl_heap_modint_ring*)| function-type
  signature: ((cl_heap_modint_ring*) _cl_MI)
  cpp-type-dcl: "_cl_MI (*%s)(cl_heap_modint_ring *)"
  id: |_cl_MI*(*)(cl_heap_modint_ring**)|)
(define-cpp-data-slot-setter _cl_modint_addops zerop)
(define-cpp-type |cl_boolean(*)(cl_heap_modint_ring*,const_cl_MI&)| function-type
  signature: ((cl_heap_modint_ring* const_cl_MI&) cl_boolean)
  cpp-type-dcl: "cl_boolean (*%s)(cl_heap_modint_ring *, const _cl_MI &)"
  id: |cl_boolean(*)(cl_heap_modint_ring**,_cl_MI**)|)
(define-cpp-data-slot-setter _cl_modint_addops plus)
(define-cpp-type |_cl_MI(*)(cl_heap_modint_ring*,const_cl_MI&,const_cl_MI&)| function-type
  signature: ((cl_heap_modint_ring* const_cl_MI& const_cl_MI&) _cl_MI)
  cpp-type-dcl: "_cl_MI (*%s)(cl_heap_modint_ring *, const _cl_MI &, const _cl_MI &)"
  id: |_cl_MI*(*)(cl_heap_modint_ring**,_cl_MI**,_cl_MI**)|)
(define-cpp-data-slot-setter _cl_modint_addops minus)
(define-cpp-data-slot-setter _cl_modint_addops uminus)
(define-cpp-type |_cl_MI(*)(cl_heap_modint_ring*,const_cl_MI&)| function-type
  signature: ((cl_heap_modint_ring* const_cl_MI&) _cl_MI)
  cpp-type-dcl: "_cl_MI (*%s)(cl_heap_modint_ring *, const _cl_MI &)"
  id: |_cl_MI*(*)(cl_heap_modint_ring**,_cl_MI**)|)
(define-cpp-type _cl_modint_addops& static
  id: _cl_modint_addops*
  class: _cl_modint_addops
  cpp-type-dcl: "_cl_modint_addops &%s"
  cast: "((_cl_modint_addops &)(%s))"
  arg-type: "_cl_modint_addops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_modint_addops *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_modint_addops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_modint_addops static
  id: _cl_modint_addops*
  class: _cl_modint_addops
  cpp-type-dcl: "_cl_modint_addops %s"
  cast: "((_cl_modint_addops)(%s))"
  arg-type: "_cl_modint_addops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_modint_addops *%s"
  res-converter: "new _cl_modint_addops (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_modint_addops *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_modint_addops* static
  id: _cl_modint_addops*
  class: _cl_modint_addops
  cpp-type-dcl: "_cl_modint_addops *%s"
  cast: "((_cl_modint_addops *)(%s))"
  callback-res-converter: "(_cl_modint_addops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter _cl_modint_mulops one)
(define-cpp-data-slot-setter _cl_modint_mulops canonhom)
(define-cpp-type |_cl_MI(*)(cl_heap_modint_ring*,const-cl_I&)| function-type
  signature: ((cl_heap_modint_ring* const-cl_I&) _cl_MI)
  cpp-type-dcl: "_cl_MI (*%s)(cl_heap_modint_ring *, const cl_I &)"
  id: |_cl_MI*(*)(cl_heap_modint_ring**,cl_I**)|)
