#include "real.h"

void print_mat(real** a,int n,int m){ int i,j;
  for(i=0;i<n;i++){ for(j=0;j<m;j++) printf("%f\t",a[j][i]); printf("\n");}
}
void print_vec(real* a,int n){
  int i; for(i=0;i<n;i++) printf("%g\n",a[i]);
}
real vec_vec(real *x,real *y,int n){int i; real s=0;
  for(i=0;i<n;i++) s+=x[i]*y[i]; return s;
}
void mat_mat(real** a,int n,int m,real** b,int l,real** c){ int i,j,k;
  for(i=0;i<n;i++) { for(j=0;j<l;j++) { c[j][i]=0;
			for(k=0;k<m;k++) c[j][i]+=a[k][i]*b[j][k]; }}
}
void mat_vec(real ** a,int n,int m,real * b,real * c){ int i,j;
  for(i=0;i<n;i++) { c[i]=0; for(j=0;j<m;j++) c[i]+=a[j][i]*b[j]; }
}
