16 lines
323 B
C
16 lines
323 B
C
|
|
void sprsax(float sa[], unsigned long ija[], float x[], float b[],
|
|
unsigned long n)
|
|
{
|
|
void nrerror(char error_text[]);
|
|
unsigned long i,k;
|
|
|
|
if (ija[1] != n+2) nrerror("sprsax: mismatched vector and matrix");
|
|
for (i=1;i<=n;i++) {
|
|
b[i]=sa[i]*x[i];
|
|
for (k=ija[i];k<=ija[i+1]-1;k++)
|
|
b[i] += sa[k]*x[ija[k]];
|
|
|
|
}
|
|
}
|