/* mamult.f -- translated by f2c (version 19950314).
   You must link the resulting object file with the libraries:
	-lF77 -lI77 -lm   (in that order)
*/

#include "f2c.h"

/* Subroutine */ int mamult_(doublereal *a, doublereal *b, doublereal *c, 
	integer *n, doublereal *one)
{
    /* System generated locals */
    integer i__1, i__2, i__3;

    /* Local variables */
    static integer i, j, k, l, ii, jj, kk;
    static doublereal sum;

/* ***********************************************************************
 */

/*   MAMULT MULTIPLIES A BY B AND PUTS THE RESULT IN C */

/* ***********************************************************************
 */
    /* Parameter adjustments */
    --c;
    --b;
    --a;

    /* Function Body */
    l = 0;
    i__1 = *n;
    for (i = 1; i <= i__1; ++i) {
	ii = (i - 1) * i / 2;
	i__2 = i;
	for (j = 1; j <= i__2; ++j) {
	    jj = (j - 1) * j / 2;
	    ++l;
	    sum = 0.;
	    i__3 = j;
	    for (k = 1; k <= i__3; ++k) {
/* L10: */
		sum += a[ii + k] * b[jj + k];
	    }
	    i__3 = i;
	    for (k = j + 1; k <= i__3; ++k) {
/* L20: */
		sum += a[ii + k] * b[(k - 1) * k / 2 + j];
	    }
	    i__3 = *n;
	    for (k = i + 1; k <= i__3; ++k) {
		kk = k * (k - 1) / 2;
/* L30: */
		sum += a[kk + i] * b[kk + j];
	    }
/* L40: */
	    c[l] = sum + *one * c[l];
	}
    }
    return 0;
} /* mamult_ */

