Ignore:
Timestamp:
Mar 20, 2025, 1:21:53 PM (3 days ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Parents:
62b5940
Message:

more proofreading on introduction chapter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified doc/theses/fangren_yu_MMath/test.adb

    r62b5940 rf5bf3c2  
    1616        Function Func( V1 : Integer; V2 : Float ) return Float is begin return Float(V1) + V2; end;
    1717       
    18         Function "-"( L : Integer; R : Integer ) return Integer is begin return 3; end;
     18        Function "-"( L, R : Integer ) return Integer is begin return L + (-R); end; --  prevent infinite recusion
    1919       
    2020        i : Integer;
     
    2626            Re, Im : Float;
    2727        end record;
     28        c : Complex := (Re => 1.0, Im => 1.0);
    2829    Procedure Grind (X : Complex) is begin Put_Line( "Grind1" ); end;
    2930    Procedure Grind (X : Unbounded_String) is begin Put_Line( "Grind2" ); end;
    30         c : Complex;
    3131       
    3232        generic
     
    3939           Put_Line( "XXX" ); return X + X;   -- The formal operator "*".
    4040        end twice;
    41        
    42         generic
    43            type T is private;
    44            with function "+"( X, Y: T ) return T;
    45         function twice( X : T; Y : T ) return T;
    46        
    47         -- generic units cannot be overloaded
    48         function twice( X: T; Y : T ) return T is
    49         begin
    50            Put_Line( "XXX" ); return X + X;   -- The formal operator "*".
    51         end twice;
    5241
    5342        function Int_Twice is new Twice( Integer, "+" => "+" );
    5443        function float_Twice is new Twice( float, "+" => "+" );
     44       
     45        -- generic units cannot be overloaded
     46        -- generic
     47        --    type T is private;
     48        --    with function "+"( X, Y: T ) return T;
     49        -- function twice( X : T; Y : T ) return T;
     50        --
     51        -- function twice( X: T; Y : T ) return T is
     52        -- begin
     53        --    Put_Line( "XXX" ); return X + X;   -- The formal operator "*".
     54        -- end twice;
    5555begin
    5656        i := Random;
Note: See TracChangeset for help on using the changeset viewer.