26 lines
1.2 KiB
Plaintext
26 lines
1.2 KiB
Plaintext
begin
|
|
% show some complex arithmetic %
|
|
% returns c + d, using the builtin complex + operator %
|
|
complex procedure cAdd ( complex value c, d ) ; c + d;
|
|
% returns c * d, using the builtin complex * operator %
|
|
complex procedure cMul ( complex value c, d ) ; c * d;
|
|
% returns the negation of c, using the builtin complex unary - operator %
|
|
complex procedure cNeg ( complex value c ) ; - c;
|
|
% returns the inverse of c, using the builtin complex / operatror %
|
|
complex procedure cInv ( complex value c ) ; 1 / c;
|
|
% returns the conjugate of c %
|
|
complex procedure cConj ( complex value c ) ; realpart( c ) - imag( imagpart( c ) );
|
|
complex c, d;
|
|
c := 1 + 2i;
|
|
d := 3 + 4i;
|
|
% set I/O format for real aand complex numbers %
|
|
r_format := "A"; s_w := 0; r_w := 6; r_d := 2;
|
|
write( "c : ", c );
|
|
write( "d : ", d );
|
|
write( "c + d : ", cAdd( c, d ) );
|
|
write( "c * d : ", cMul( c, d ) );
|
|
write( "-c : ", cNeg( c ) );
|
|
write( "1/c : ", cInv( c ) );
|
|
write( "conj c : ", cConj( c ) )
|
|
end.
|