arithmetic/src/basictypes/complex/complex.tmpl


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

readonly proc Complex (nm, impl, rfield) is
  local base  = nm & "Complex"
  build_generic_intf (base, "Complex"&impl, [rfield], VISIBLE)
  build_generic_impl (base, "Complex"&impl, [rfield])
end

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

readonly proc ComplexFmtLex (nm, rfield) is
  local rfmt   = nm & "FmtLex"
  local cfield = nm & "Complex"
  local basic  = nm & "ComplexFmtLex"
  build_generic_intf (basic, "ComplexFmtLex", [        rfmt, cfield], VISIBLE)
  build_generic_impl (basic, "ComplexFmtLex", [rfield, rfmt])
end