tw28530.pp 649 B

12345678910111213141516171819202122232425
  1. { %NORUN }
  2. program tw28530;
  3. {$mode objfpc}
  4. type
  5. generic TDistanceFunction<t> = function (x,y : t) : Extended;
  6. generic PlanarCoordinate<t> = record
  7. x,y : t;
  8. d : specialize TDistanceFunction<t>;
  9. end;
  10. TScreenCoordinate = specialize PLanarCoordinate<word>;
  11. TDiscreteCoordinate = specialize PlanarCoordinate<integer>;
  12. TRealCoordinate = specialize PlanarCoordinate<extended>;
  13. TScreenDistance = specialize TDistanceFunction<word>;
  14. TDiscreteDistance = specialize TDistanceFunction<integer>;
  15. TRealDistance = specialize TDistanceFunction<Extended>;
  16. generic TPointSet<t> = array of specialize PlanarCoordinate<t>;
  17. begin
  18. end.