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

Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Matrices/standard_floating_two_norms.adb, Revision 1.1.1.1

1.1       maekawa     1: with Standard_Mathematical_Functions;    use Standard_Mathematical_Functions;
                      2:
                      3: package body Standard_Floating_Two_Norms is
                      4:
                      5:   function Norm2 ( v : Vector ) return double_float is
                      6:
                      7:     res : double_float := 0.0;
                      8:
                      9:   begin
                     10:     for i in v'range loop
                     11:       res := res + v(i)*v(i);
                     12:     end loop;
                     13:     res := SQRT(res);
                     14:     return res;
                     15:   end Norm2;
                     16:
                     17:   procedure Normalize ( v : in out Vector ) is
                     18:
                     19:     nrm : constant double_float := Norm2(v);
                     20:
                     21:   begin
                     22:     for i in v'range loop
                     23:       v(i) := v(i)/nrm;
                     24:     end loop;
                     25:   end Normalize;
                     26:
                     27:   procedure Normalize( v : in out VecVec ) is
                     28:   begin
                     29:     for i in v'range loop
                     30:       Normalize(v(i).all);
                     31:     end loop;
                     32:   end Normalize;
                     33:
                     34: end Standard_Floating_Two_Norms;

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