-- (C) Copyright 1999 by John Halleck -- All rights reserved. -- Find the value of sqrt (X*X + Y*Y) -- This implementation doesn't use square root and doesn't overflow unless -- the result does. See the package body for details. generic type Float_Type is digits <>; package Generic_Pythagorean_Sums is pragma Pure (Generic_Pythagorean_Sums); function P_Sum (X, Y : Float_Type) return Float_Type; end Generic_Pythagorean_Sums;