arithmetic/src/algebra/root/root.tmpl


%
%  Quake functions to instantiate operations on generic roots.
%

readonly proc Root (nm, rfield) is
  local base   = nm & "Root"
  local pfield = nm & "Polynomial"
  build_generic_intf (base, "RootBasic", [rfield, pfield], VISIBLE)
  build_generic_impl (base, "RootBasic", [rfield, pfield])
end

readonly proc RootApproximation (nm, rfield) is
  local base   = nm & "RootApproximation"
  local rtrans = nm & "Trans"
  local rroot  = nm & "Root"
  local cfield = nm & "Complex"
  local ctrans = nm & "ComplexTrans"
  local cpoly  = nm & "ComplexPolynomial"
  local croot  = nm & "ComplexRoot"
  build_generic_intf (base, "RootApproximation", [rfield,         rroot, cfield,                croot], VISIBLE)
  build_generic_impl (base, "RootApproximation", [rfield, rtrans, rroot, cfield, ctrans, cpoly, croot])
end