with Flts;
use Flts;

pragma Elaborate_All (Flts);

generic

  with function Approx(C: Component) return Flt is <>;
  with function MaxNorm(C: Component) return Radius is <>;

package Vectors.Sorting is

  function GT_MaxNorm(A,B: Component) return Boolean;
  procedure Dec_MaxNorm_Sort(W: in out Vector);
  procedure Default_Sort(W: in out Vector) renames Dec_MaxNorm_Sort;

  function GT_MaxNorm(Eps: Radius; Wr,Wi: Vector; I,J: Integer) return Boolean;
  procedure Dec_MaxNorm_Sort(Eps: in Radius; Wr,Wi: in out Vector);
  procedure Default_Sort(Eps: in Radius; Wr,Wi: in out Vector) renames Dec_MaxNorm_Sort;

end Vectors.Sorting;
