Annotation of OpenXM/src/k097/debug/complex01.kk, Revision 1.1
1.1 ! maekawa 1: class Complex extends Object {
! 2: local re, /* real part */
! 3: im; /* imaginary part*/
! 4: def new2(a,b) {
! 5: this = new(super.new0());
! 6: re = a;
! 7: im = b;
! 8: return(this);
! 9: }
! 10: def real() { return(re); }
! 11: def imaginary() { return(im); }
! 12: def operator add(b) {
! 13: return( new2(re+b.real(), im+b.imaginary()) );
! 14: }
! 15: def operator sub(b) {
! 16: return( new2(re-b.real(), im-b.imaginary()) );
! 17: }
! 18: def operator mul(b) {
! 19: return(new2( re*b.real()-im*b.imaginary(), re*b.imaginary()+im*b.real()));
! 20: }
! 21: def operator div(b) {
! 22: local den,num1,num2;
! 23: den = (b.real())^2 + (b.imaginary())^2 ;
! 24: num1 = re*b.real() + im*b.imaginary();
! 25: num2 = -re*b.imaginary()+im*b.real();
! 26: return(new2(num1/den, num2/den));
! 27: }
! 28:
! 29: def void show() {
! 30: Print(re); Print(" +I["); Print(im); Print("]");
! 31: }
! 32: def void showln() {
! 33: this.show(); Ln();
! 34: }
! 35: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>