[BACK]Return to generic_matrices.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Matrices

Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Matrices/generic_matrices.ads, Revision 1.1

1.1     ! maekawa     1: with Abstract_Ring,Generic_Vectors;
        !             2:
        !             3: generic
        !             4:
        !             5:   with package Ring is new Abstract_Ring(<>);
        !             6:   with package Vectors is new Generic_Vectors(Ring);
        !             7:
        !             8: package Generic_Matrices is
        !             9:
        !            10: -- DESCRIPTION :
        !            11: --   An abstraction for matrices with coefficients over any ring.
        !            12:
        !            13:   use Ring;  use Vectors;
        !            14:
        !            15:   type Matrix is array ( integer range <>, integer range <> ) of number;
        !            16:   type Link_to_Matrix is access Matrix;
        !            17:
        !            18: -- COMPARISON AND COPYING :
        !            19:
        !            20:   function Equal ( a,b : Matrix ) return boolean;
        !            21:
        !            22:   -- DESCRIPTION :
        !            23:   --   Comparing by using the comparison operations of the Ring.
        !            24:
        !            25:   procedure Copy ( a : in Matrix; b : in out Matrix );
        !            26:
        !            27:   -- DESCRIPTION :
        !            28:   --   Makes a deep copy of the matrix a to the matrix b.
        !            29:
        !            30:   -- REQUIRED : a'range(1) = b'range(1) and a'range(2) = b'range(2).
        !            31:
        !            32: -- MATRIX-MATRIX OPERATIONS :
        !            33:
        !            34:   function "+" ( a,b : Matrix ) return Matrix;             -- return a+b
        !            35:   function "+" ( a : Matrix ) return Matrix;               -- copies a
        !            36:   function "-" ( a,b : Matrix ) return Matrix;             -- return a-b
        !            37:   function "-" ( a : Matrix ) return Matrix;               -- return -a
        !            38:   function "*" ( a,b : Matrix ) return Matrix;             -- return a*b
        !            39:
        !            40:   procedure Mul1 ( a : in out Matrix; b : in Matrix );     -- a := a*b
        !            41:   procedure Mul2 ( a : in Matrix; b : in out Matrix );     -- b := a*b
        !            42:
        !            43: -- MATRIX-VECTOR OPERATIONS :
        !            44:
        !            45:   function "*" ( a : Matrix; v : Vector ) return Vector;   -- return a*v
        !            46:   function "*" ( v : Vector; a : Matrix ) return Vector;   -- return v*a
        !            47:
        !            48:   procedure Mul ( a : in Matrix; v : in out Vector );      -- v := a*v
        !            49:   procedure Mul ( v : in out Vector; a : in Matrix );      -- v := a*v
        !            50:
        !            51: -- DESTRUCTORS :
        !            52:
        !            53:   procedure Clear ( a : in out Matrix );
        !            54:   procedure Clear ( a : in out Link_to_Matrix );
        !            55:
        !            56:   -- DESCRIPTION :
        !            57:   --   Deallocation of memory.
        !            58:
        !            59: end Generic_Matrices;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>