Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Matrices/standard_complex_norms_equals.adb, Revision 1.1
1.1 ! maekawa 1: package body Standard_Complex_Norms_Equals is
! 2:
! 3: function Max_Norm ( v : Vector ) return double_float is
! 4:
! 5: res : double_float := AbsVal(v(v'first));
! 6:
! 7: begin
! 8: for i in v'first+1..v'last loop
! 9: declare
! 10: abstmp : double_float := AbsVal(v(i));
! 11: begin
! 12: if abstmp > res
! 13: then res := abstmp;
! 14: end if;
! 15: end;
! 16: end loop;
! 17: return res;
! 18: end Max_Norm;
! 19:
! 20: function Sum_Norm ( v : Vector ) return double_float is
! 21:
! 22: res : double_float := AbsVal(v(v'first));
! 23:
! 24: begin
! 25: for i in v'first+1..v'last loop
! 26: res := res + AbsVal(v(i));
! 27: end loop;
! 28: return res;
! 29: end Sum_Norm;
! 30:
! 31: function Max_Norm ( m : Matrix ) return double_float is
! 32:
! 33: res : double_float := 0.0;
! 34:
! 35: begin
! 36: for i in m'range(1) loop
! 37: for j in m'range(2) loop
! 38: declare
! 39: abstmp : double_float := AbsVal(m(i,j));
! 40: begin
! 41: if abstmp > res
! 42: then res := abstmp;
! 43: end if;
! 44: end;
! 45: end loop;
! 46: end loop;
! 47: return res;
! 48: end Max_Norm;
! 49:
! 50: function Equal ( x,y : Complex_Number; tol : double_float ) return boolean is
! 51:
! 52: dif : Complex_Number := x-y;
! 53: absdif : double_float := AbsVal(dif);
! 54: res : boolean := (absdif < tol);
! 55:
! 56: begin
! 57: return res;
! 58: end Equal;
! 59:
! 60: function Equal ( x,y : Vector; tol : double_float ) return boolean is
! 61: begin
! 62: for i in x'range loop
! 63: if not Equal(x(i),y(i),tol)
! 64: then return false;
! 65: end if;
! 66: end loop;
! 67: return true;
! 68: end Equal;
! 69:
! 70: end Standard_Complex_Norms_Equals;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>