All pastes #406998 Raw Edit

Stuff

public text v1 · immutable
·published 2007-03-22 21:04 UTC
rendered paste body


generic
    type INDEP_TYPE  is digits <>;
    type DEP_TYPE    is digits <>;
    type INDEX is (<>);
    type INDEP_ARRAY is array (INDEX) of INDEP_TYPE;
    type DEP_ARRAY   is array (INDEX) of DEP_TYPE;
    
    
    Package PlotFct is
        
        procedure PLOT(INDEP_VAR     : in INDEP_ARRAY;
                    DEP_VAR       : in DEP_ARRAY);
    End PlotFct;
    
    





with Ada.Text_Io;


package body PlotFct is


    procedure PLOT(INDEP_VAR  : in INDEP_ARRAY;
                DEP_VAR       : in DEP_ARRAY) is

        -- prints my student header
        procedure Print16 is
        begin
            Ada.Text_Io.New_Line;
            Ada.Text_Io.Put("Course: CS450");
            Ada.Text_Io.Put("    Name: Juan Velasquez    NN: 16");
            Ada.Text_Io.New_Line;
        end Print16;


        --package int_io is NEW Ada.Text_IO.Integer_IO(INDEX);
        --package int_io is NEW Ada.Text_IO. (INDEX);
        package REAL_IO is new Ada.Text_IO.FLOAT_IO(DEP_TYPE);
        package ind_io is new Ada.Text_IO.Float_IO(INDEP_TYPE);
        package dep_io is new Ada.Text_IO.Float_IO(DEP_TYPE);
        
        it : INDEP_TYPE;
        dt : DEP_TYPE;
        ind : INDEX;

        i : Integer;
        

    begin
        
        
        -- print my student header
        Print16;
        
        Ada.Text_Io.Put("Dependant Variable");
        
        
        Ada.Text_Io.Put("f:");
        
        --Ada.Text_Io.Put(INDEP_VAR(1));
        DEP_TYPE.Put(DEP_VAR'VAL(1),1,2,0);
        DEP_TYPE.Put(DEP_VAR'VAL(1),1,2,0);
        DEP_TYPE.Put(DEP_VAR'POS(DEP_VAR'BASE'FIRST),1,2,1);
        DEP_TYPE.Put(DEP_VAR'LARGE,1,2);
        DEP_TYPE.Put(DEP_VAR'FIRST,1,2);
        DEP_TYPE.Put(DEP_VAR'FIRST(1),1,2);
        
        
        Ada.Text_Io.New_Line;
        Ada.Text_Io.Put("l:");
        --dep_io.Put(DEP_VAR'POS(DEP_VAR'BASE'FIRST),1,2,1);
        --DEP_TYPE.Put(DEP_VAR'VAL(1),1,2,0);
        Ada.Text_Io.New_Line;
        
        
        --for i in DEP_VAR loop
        --    dep_io.put(DEP_VAR(i), 3,2,0);
        --end loop;
        
        
        Ada.Text_Io.Put("IND.     DEP.");
        
        
        --for i in INDEP_VAR loop
        --    dep_io.put(INDEP_VAR(i), 3,2,0);
        --end loop;
        
        
        
    end PLOT;



end PlotFct;










procedure TestHarness is
    type Days is (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
    type Msg is array (Monday..Sunday) of Float;
    type Vog is array (Monday..Sunday) of Float;
    
    package Plot1 is new PlotFct(INDEP_TYPE => Float,
                    DEP_TYPE    => Float,
                    INDEX     => Monday..Sunday,
                    INDEP_ARRAY  => Msg,
                    DEP_ARRAY   => Vog);
    
    
    type AryRange is range 1..30;
    type Indo is array (AryRange) of Float;
    type Depo is array (AryRange) of Float;
    
    package Plot2 is new PlotFct(INDEP_TYPE => Float,
                    DEP_TYPE    => Float,
                    INDEX     => AryRange,
                    INDEP_ARRAY    => Indo,
                    DEP_ARRAY  => Depo);
    
    i : Integer;
    a : Float;
    b : Float;
begin
    -- initlize arrays:  Msg, and Vog
    a := 0.0;
    b := -5.3;
    for i in Monday..Sunday loop
        Msg(i) := ;
        Vog(i) := ;
        a := a + 0.5;
        b := b + 0.2;
    end loop;
    
    Plot1.PLOT(Msg, Vog);
    
    
    -- initlize arrays:  Msg, and Vog
    a := 5.0;
    b := 7.3;
    for i in AryRange loop
        Msg(i) := ;
        Vog(i) := ;
        a := a + 0.1;
        b := b + 0.7;
    end loop;
    
    Plot2.PLOT(Msg, Vog);
end TestHarness;