NUMAL Section 1.3.1
BEGIN SECTION : 1.3.1 (May, 1974)
AUTHOR: C.G. VAN DER LAAN.
INSTITUTE: MATHEMATICAL CENTRE.
RECEIVED: 730815.
BRIEF DESCRIPTION:
THIS SECTION CONTAINS THREE PROECEDURES:
COMABS CALCULATES THE MODULUS OF A COMPLEX NUMBER.
COMSQRT CALCULATES THE SQUARE ROOT OF A COMPLEX NUMBER
CARPOL TRANSFORMS A COMPLEX NUMBER GIVEN IN CARTESIAN COORDINATES
INTO POLAR COORDINATES
KEYWORDS:
COMPLEX NUMBER.
MODULUS.
SQUARE ROOT.
TRANSFORMATION.
CARTESIAN COORDINATES.
POLAR COORDINATES.
SUBSECTION: COMABS.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE READS:
"REAL""PROCEDURE"COMABS(XR,XI);
"VALUE"XR,XI;"REAL"XR,XI;
"CODE" 34340;
COMABS DELIVERS THE MODULUS OF THE COMPLEX NUMBER XR + I * XI;
THE MEANING OF THE FORMAL PARAMETERS IS:
XR,XI:<ARITHMETIC EXPRESSION>;
ENTRY:XR,XI ARE THE REAL PART AND THE IMAGINARY PART
OF THE COMPLEX NUMBER,RESPECTIVELY.
PROCEDURES USED: NONE.
LANGUAGE: ALGOL 60.
EXAMPLE OF USE:
"BEGIN"
OUTPUT(61,"(""("THE MODULUS OF .3+.4*I EQUALS")",-D.DD")",
COMABS(.3,.4))
"END"
THE MODULUS OF .3+.4*I EQUALS 0.50
SUBSECTION : COMSQRT.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE READS:
"PROCEDURE"COMSQRT(AR,AI,PR,PI);
"VALUE"AR,AI;"REAL"AR,AI,PR,PI;
"CODE" 34343;
THE MEANING OF THE FORMAL PARAMETERS IS:
AR,AI:<ARITHMETIC EXPRESSION>;
ENTRY:AR,AI ARE THE REAL PART AND THE IMAGINARY PART
OF THE COMPLEX NUMBER,RESPECTIVELY;
PR,PI;<VARIABLE>;
EXIT:THE REAL PART AND THE IMAGINARY PART OF THE SQUARE ROOT
ARE DELIVERED IN PR AND PI,RESPECTIVELY.
PROCEDURES USED: NONE.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
THE REPRESENTATION OF THE RESULTING COMPLEX NUMBER IS CHOSEN SUCH
THAT ITS REAL PART IS NONNEGATIVE;THE PROCEDURE IS PROTECTED
AGAINST INTERMEDIATE OVERFLOW.
EXAMPLE OF USE:
"BEGIN""REAL"R,I;
COMSQRT(-3,4,R,I);
OUTPUT(61,"(""("THE SQUARE ROOT OF -3+4*I IS")",-D.DD,+D.DD,"("*I")"
")",R,I);
"END"
THE SQUARE ROOT OF -3+4*I IS 1.00+2.00*I
SUBSECTION : CARPOL.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE READS:
"PROCEDURE"CARPOL(AR,AI,R,C,S);
"VALUE"AR,AI;"REAL"AR,AI,R,C,S;
"CODE" 34344;
THE MEANING OF THE FORMAL PARAMETERS IS:
AR,AI:<ARITHMETIC EXPRESSION>;
ENTRY:AR,AI ARE THE REAL PART AND THE IMAGINARY PART OF THE
COMPLEX NUMBER ,RESPECTIVELY;
R,C,S:<VARIABLE>;
EXIT:THE MODULUS OF THE COMPLEX NUMBER IS DELIVERED IN R
AND THE COSINE AND THE SINE OF THE ARGUMENT ARE
DELIVERED IN C AND S,RESPECTIVELY;
WHEN AR=AI=0 THEN C:=1 AND R:=S:=0.
PROCEDURES USED: NONE.
LANGUAGE: ALGOL 60.
EXAMPLE OF USE:
"BEGIN""REAL"R,C,S;
CARPOL(.3,.4,R,C,S);
OUTPUT(61,"(""("THE POLAR COORDINATES OF .3+.4*I ARE:")",/,
"("MODULUS:")",-D.DD,/,
"("COSINE OF ARGUMENT:")",-D.DD,/,
"("SINE OF ARGUMENT:")",-D.DD")",R,C,S)
"END"
THE POLAR COORDINATES OF .3+.4*I ARE:
MODULUS: 0.50
COSINE OF ARGUMENT: 0.60
SINE OF ARGUMENT: 0.80
SOURCE TEXT(S):
"CODE" 34340;
"CODE" 34343;
"CODE" 34344;