From 7873431036b8f45a9a2fd343bdac948b31ee82d2 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Thu, 19 Feb 2004 02:42:20 +0000 Subject: [PATCH] All of example 6. --- doc/mad-manual.xml | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/doc/mad-manual.xml b/doc/mad-manual.xml index f68ff3e..390aebc 100644 --- a/doc/mad-manual.xml +++ b/doc/mad-manual.xml @@ -11,6 +11,7 @@ + @@ -250,7 +251,8 @@ difficult to imagine code that would. Label arrays, array-mode variables, and the associated computed-transfer statement are not implemented (mainly because the manual did not include programs with which they could be tested). -Neither are multiple ENTRY points, or TAPE and DRUM statements. +Neither are multiple ENTRY points, EQUIVALENCE, TAPE, or DRUM +statements. Only the no-argument case of ERROR RETURN is supported. The language describing the more general case of this feature is deeply @@ -3294,11 +3296,15 @@ matrix A = (aij). Analysis: If we write A' = (bij) then bij = -aji. We challe inter­change +aji. We shall inter­change symmetrically-placed pairs of elements, leaving untouched elements on the main diagonal. The program will be in the form of an external function. +The Retrocomputing Museum implementation cannot yet +compile this example. The problem is the EQUIVALENCE declaration; +there is no general way to implement this in generated C. + Flow diagram: There are two minor errors in this flow diagram, @@ -3332,7 +3338,7 @@ dimensions m × n with m · n ≤ 1500, B has dimensions n × p with n · p ≤ 1500, and C has dimensions m × p with m · p ≤ 1500. -Analysus: An element cij +Analysis: An element cij of C is computed by the formula @@ -3349,16 +3355,27 @@ of C is computed by the formula - + + + +The Program: + +&matrixmult; + +* DATA + 2 3 3 + 1. 2. 3. 4. 5. 6. + 7. 8. 9. 10. 11. 12. + 13. 14. 15. + + - - -- 2.43.0