1 /*  mdot.h  */
2 
3 /*--------------------------------------------------------------------*/
4 /*
5    -----------------------------------------
6    purpose -- compute a multiple dot product
7 
8       sums[0] = row0[*] * col0[*]
9       sums[1] = row0[*] * col1[*]
10       sums[2] = row0[*] * col2[*]
11       sums[3] = row1[*] * col0[*]
12       sums[4] = row1[*] * col1[*]
13       sums[5] = row1[*] * col2[*]
14       sums[6] = row2[*] * col0[*]
15       sums[7] = row2[*] * col1[*]
16       sums[8] = row2[*] * col2[*]
17 
18    created -- 96oct20, cca
19    -----------------------------------------
20 */
21 void
22 mdot3x3 (
23    double    sums[],
24    int       n,
25    double    row0[],
26    double    row1[],
27    double    row2[],
28    double    col0[],
29    double    col1[],
30    double    col2[]
31 ) ;
32 /*
33    -----------------------------------------
34    purpose -- compute a multiple dot product
35 
36       sums[0] = row0[*] * col0[*]
37       sums[1] = row0[*] * col1[*]
38       sums[2] = row0[*] * col2[*]
39       sums[3] = row1[*] * col0[*]
40       sums[4] = row1[*] * col1[*]
41       sums[5] = row1[*] * col2[*]
42 
43    created -- 96oct20, cca
44    -----------------------------------------
45 */
46 void
47 mdot2x3 (
48    double    sums[],
49    int       n,
50    double    row0[],
51    double    row1[],
52    double    col0[],
53    double    col1[],
54    double    col2[]
55 ) ;
56 /*
57    -----------------------------------------
58    purpose -- compute a multiple dot product
59 
60       sums[0] = row0[*] * col0[*]
61       sums[1] = row0[*] * col1[*]
62       sums[2] = row0[*] * col2[*]
63 
64    created -- 96oct20, cca
65    -----------------------------------------
66 */
67 void
68 mdot1x3 (
69    double    sums[],
70    int       n,
71    double    row0[],
72    double    col0[],
73    double    col1[],
74    double    col2[]
75 ) ;
76 /*
77    -----------------------------------------
78    purpose -- compute a multiple dot product
79 
80       sums[0] = row0[*] * col0[*]
81       sums[1] = row0[*] * col1[*]
82       sums[2] = row1[*] * col0[*]
83       sums[3] = row1[*] * col1[*]
84       sums[4] = row2[*] * col0[*]
85       sums[5] = row2[*] * col1[*]
86 
87    created -- 96oct20, cca
88    -----------------------------------------
89 */
90 void
91 mdot3x2 (
92    double    sums[],
93    int       n,
94    double    row0[],
95    double    row1[],
96    double    row2[],
97    double    col0[],
98    double    col1[]
99 ) ;
100 /*
101    -----------------------------------------
102    purpose -- compute a multiple dot product
103 
104       sums[0] = row0[*] * col0[*]
105       sums[1] = row0[*] * col1[*]
106       sums[3] = row1[*] * col0[*]
107       sums[4] = row1[*] * col1[*]
108 
109    created -- 96oct20, cca
110    -----------------------------------------
111 */
112 void
113 mdot2x2 (
114    double    sums[],
115    int       n,
116    double    row0[],
117    double    row1[],
118    double    col0[],
119    double    col1[]
120 ) ;
121 /*
122    -----------------------------------------
123    purpose -- compute a multiple dot product
124 
125       sums[0] = row0[*] * col0[*]
126       sums[1] = row0[*] * col1[*]
127 
128    created -- 96oct20, cca
129    -----------------------------------------
130 */
131 void
132 mdot1x2 (
133    double    sums[],
134    int       n,
135    double    row0[],
136    double    col0[],
137    double    col1[]
138 ) ;
139 /*
140    -----------------------------------------
141    purpose -- compute a multiple dot product
142 
143       sums[0] = row0[*] * col0[*]
144       sums[1] = row1[*] * col0[*]
145       sums[2] = row2[*] * col0[*]
146 
147    created -- 96oct20, cca
148    -----------------------------------------
149 */
150 void
151 mdot3x1 (
152    double    sums[],
153    int       n,
154    double    row0[],
155    double    row1[],
156    double    row2[],
157    double    col0[]
158 ) ;
159 /*
160    -----------------------------------------
161    purpose -- compute a multiple dot product
162 
163       sums[0] = row0[*] * col0[*]
164       sums[1] = row1[*] * col0[*]
165 
166    created -- 96oct20, cca
167    -----------------------------------------
168 */
169 void
170 mdot2x1 (
171    double    sums[],
172    int       n,
173    double    row0[],
174    double    row1[],
175    double    col0[]
176 ) ;
177 /*
178    -----------------------------------------
179    purpose -- compute a dot product
180 
181       sums[0] = row0[*] * col0[*]
182 
183    created -- 96oct20, cca
184    -----------------------------------------
185 */
186 void
187 mdot1x1 (
188    double    sums[],
189    int       n,
190    double    row0[],
191    double    col0[]
192 ) ;
193 /*--------------------------------------------------------------------*/
194