]> thyrsus.com Git - mad.git/commitdiff
All of example 6.
authorEric S. Raymond <esr@thyrsus,com>
Thu, 19 Feb 2004 02:42:20 +0000 (02:42 +0000)
committerEric S. Raymond <esr@thyrsus,com>
Thu, 19 Feb 2004 02:42:20 +0000 (02:42 +0000)
doc/mad-manual.xml

index f68ff3ecafe6bc6366161d3b043f774c9c44483f..390aebc74554c6f841da5e9ba0fb6962ad98d847 100644 (file)
@@ -11,6 +11,7 @@
 <!ENTITY simpsmain SYSTEM "../madhouse/simpsmain.mad">
 <!ENTITY findroot SYSTEM "../madhouse/findroot.mad">
 <!ENTITY transfunc SYSTEM "../madhouse/transfunc.mad">
+<!ENTITY matrixmult SYSTEM "../madhouse/matrixmult.mad">
 <!ENTITY scope1 SYSTEM "scope1.xml">
 <!ENTITY scope2 SYSTEM "scope2.xml">
 <!ENTITY scope3 SYSTEM "scope3.xml">
@@ -250,7 +251,8 @@ difficult to imagine code that would.</para>
 <para>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.</para>
+Neither are multiple ENTRY points, EQUIVALENCE, TAPE, or DRUM
+statements.</para>
 
 <para>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 = (a<subscript>ij</subscript>).</para>
 
 <para><emphasis>Analysis:</emphasis> If we write A' =
 (b<subscript>ij</subscript>) then b<subscript>ij</subscript> =
-a<subscript>ji</subscript>.  We challe inter&shy;change
+a<subscript>ji</subscript>.  We shall inter&shy;change
 symmetrically-placed pairs of elements, leaving untouched elements on
 the main diagonal. The program will be in the form of an external
 function.</para>
 
+<note><para>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.</para></note>
+
 <para><emphasis>Flow diagram:</emphasis></para>
 
 <note><para>There are two minor errors in this flow diagram,
@@ -3332,7 +3338,7 @@ dimensions m &times; n with m &middot; n &le; 1500, B has dimensions n
 &times; p with n &middot; p &le; 1500, and C has dimensions m &times;
 p with m &middot; p &le; 1500.</para>
 
-<para><emphasis>Analysus:</emphasis>  An element c<subscript>ij</subscript>
+<para><emphasis>Analysis:</emphasis>  An element c<subscript>ij</subscript>
 of C is computed by the formula</para>
 
 <mediaobject>
@@ -3349,16 +3355,27 @@ of C is computed by the formula</para>
   </imageobject>
 </mediaobject>
 
-<!-- pagebreak -->
+<!-- pagebreak; -->
+
+<!-- this heading is omitted in the original -->
+<para><emphasis>The Program:</emphasis></para>
 
+<programlisting>
+&matrixmult;
+<!-- pagebreak; -->
+* DATA
+   2   3   3
+          1.           2.           3.           4.          5.          6.
+          7.           8.           9.          10.         11.         12.
+         13.          14.          15.
+</programlisting>
 </sect2>
+<!-- pagebreak; -->
 </sect1>
 </chapter>
 </book>
-
 <!--
 Local Variables:
 compile-command: "make mad-manual.html"
 End:
 -->
-