23 static R cnrm1(
const C *x, 
const INT n)
 
   28   for (k = 0; k < n; k++)
 
   34 static R nrm1(
const R *x, 
const INT n)
 
   39   for (k = 0; k < n; k++)
 
   45 static R cerr2(
const C *x, 
const C *y, 
const INT n)
 
   52     for (k = 0; k < n; k++)
 
   53       err += CONJ(x[k]) * x[k];
 
   57     for (k = 0; k < n; k++)
 
   58       err += CONJ(x[k]-y[k]) * (x[k]-y[k]);
 
   64 static R err2(
const R *x, 
const R *y, 
const INT n)
 
   71     for (k = 0; k < n; k++)
 
   76     for (k = 0; k < n; k++)
 
   77       err += (x[k]-y[k]) * (x[k]-y[k]);
 
   83 static R cerri(
const C *x, 
const C *y, 
const INT n)
 
   90     for (k = 0; k < n; k++)
 
   98     for (k = 0; k < n; k++)
 
  100       t = CABS(x[k] - y[k]);
 
  108 static R erri(
const R *x, 
const R *y, 
const INT n)
 
  115     for (k = 0; k < n; k++)
 
  123     for (k = 0; k < n; k++)
 
  125       t = FABS(x[k] - y[k]);
 
  135 R X(error_l_infty_complex)(
const C *x, 
const C *y, 
const INT n)
 
  137   return (cerri(x, y, n)/cerri(x, 0, n));
 
  142 R X(error_l_infty_double)(
const R *x, 
const R *y, 
const INT n)
 
  144   return (erri(x, y, n)/erri(x, 0, n));
 
  149 R X(error_l_infty_1_complex)(
const C *x, 
const C *y, 
const INT n,
 
  150   const C *z, 
const INT m)
 
  152   return (cerri(x, y, n)/cnrm1(z, m));
 
  157 R X(error_l_infty_1_double)(
const R *x, 
const R *y, 
const INT n, 
const R *z,
 
  160   return (erri(x, y, n)/nrm1(z, m));
 
  165 R X(error_l_2_complex)(
const C *x, 
const C *y, 
const INT n)
 
  167   return (cerr2(x, y, n)/cerr2(x, 0, n));
 
  172 R X(error_l_2_double)(
const R *x, 
const R *y, 
const INT n)
 
  174   return (err2(x, y, n)/err2(x, NULL, n));