arithmetic/src/basictypes/polar/polar.tmpl


%
%  Quake functions to instantiate operations on generic polar numbers.
%

readonly proc Polar (nm, impl, rfield) is
  local rtrans = nm & "Trans"
  local cfield = nm & "Complex"
  local ctrans = nm & "ComplexTrans"
  local base   = nm & "Polar"
  build_generic_intf (base, "Polar"&impl, [rfield, cfield], VISIBLE)
  build_generic_impl (base, "Polar"&impl, [rfield, rtrans, cfield, ctrans])
end

readonly proc PolarFmtLex (nm, rfield) is
  local fmtlex = nm & "PolarFmtLex"
  local pfield = nm & "Polar"
  local rfmt   = nm & "FmtLex"
  build_generic_intf (fmtlex, "PolarFmtLex", [pfield,         rfmt], VISIBLE)
  build_generic_impl (fmtlex, "PolarFmtLex", [        rfield, rfmt])
end