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