18#define DEBUG_FPRINTF(...) 
   19#define DEBUG_EXIT(...) 
  113    for ( i = 0; i < n; i++ )
 
  127    for ( i = 0; i < m; i++ )
 
  129      dy[i] = dy[i] + 
da * dx[i];
 
  132    for ( i = m; i < n; i = i + 4 )
 
  134      dy[i  ] = dy[i  ] + 
da * dx[i  ];
 
  135      dy[i+1] = dy[i+1] + 
da * dx[i+1];
 
  136      dy[i+2] = dy[i+2] + 
da * dx[i+2];
 
  137      dy[i+3] = dy[i+3] + 
da * dx[i+3];
 
 
  232    for ( i = 0; i < n; i++ )
 
  246    for ( i = 0; i < m; i++ )
 
  251    for ( i = m; i < n; i = i + 5 )
 
 
  318  if ( n < 1 || 
incx < 1 )
 
  332    for ( i = 0; i < n; i++ )
 
 
  438  for ( i = 0; i < n; i++ )
 
  452  for ( 
j = 0; 
j < k; 
j++ )
 
 
  566    for ( 
j = 1; 
j <= 
p; 
j++ )
 
  592    for ( 
j = 
p; 1 <= 
j; 
j-- )
 
  626  for ( l = 1; l <= 
lup; l++ )
 
  631    if ( 
pl <= l && l < 
pu )
 
  635      for ( 
j = l; 
j <= 
pu; 
j++ )
 
  665        if ( a[l-1+(l-1)*
lda] != 0.0 )
 
  671        a[l-1+(l-1)*
lda] = 1.0 + a[l-1+(l-1)*
lda];
 
  675        for ( 
j = l + 1; 
j <= 
p; 
j++ )
 
  677          t = -
ddot ( n-l+1, a+l-1+(l-1)*
lda, 1, a+l-1+(
j-1)*
lda, 1 )
 
 
  867void dqrlss ( 
float a[], 
int lda, 
int m, 
int n, 
int kr, 
float b[], 
float x[],
 
  951    info = 
dqrsl ( a, 
lda, m, 
kr, 
qraux, 
b, 
rsd, 
rsd, x, 
rsd, 
rsd, 
job );
 
  954  for ( i = 0; i < n; i++ )
 
  959  for ( i = 
kr; i < n; i++ )
 
  964  for ( 
j = 1; 
j <= n; 
j++ )
 
  966    if ( 
jpvt[
j-1] <= 0 )
 
 
  986  float qy[], 
float qty[], 
float b[], 
float rsd[], 
float ab[], 
int job )
 
 1143  cqy =  (   
job / 10000          != 0 );
 
 1144  cqty = ( ( 
job %  10000 )       != 0 );
 
 1145  cb =   ( ( 
job %   1000 ) / 100 != 0 );
 
 1146  cr =   ( ( 
job %    100 ) /  10 != 0 );
 
 1147  cab =  ( ( 
job %     10 )       != 0 );
 
 1172      if ( a[0+0*
lda] == 0.0 )
 
 1178        b[0] = y[0] / a[0+0*
lda];
 
 1193    for ( i = 1; i <= n; i++ )
 
 1201    for ( i = 1; i <= n; i++ )
 
 1217        temp = a[
j-1+(
j-1)*
lda];
 
 1221        a[
j-1+(
j-1)*
lda] = temp;
 
 1230    for ( 
j = 1; 
j <= 
ju; 
j++ )
 
 1234        temp = a[
j-1+(
j-1)*
lda];
 
 1238        a[
j-1+(
j-1)*
lda] = temp;
 
 1247    for ( i = 1; i <= k; i++ )
 
 1255    for ( i = 1; i <= k; i++ )
 
 1263    for ( i = k+1; i <= n; i++ )
 
 1269  if ( 
cab && k+1 <= n )
 
 1271    for ( i = k+1; i <= n; i++ )
 
 1279    for ( i = 1; i <= k; i++ )
 
 1289    for ( 
jj = 1; 
jj <= k; 
jj++ )
 
 1293      if ( a[
j-1+(
j-1)*
lda] == 0.0 )
 
 1319        temp = a[
j-1+(
j-1)*
lda];
 
 1335        a[
j-1+(
j-1)*
lda] = temp;
 
 
 1394  else if ( 
incx == 1 )
 
 1398    for ( i = 0; i < m; i++ )
 
 1403    for ( i = m; i < n; i = i + 5 )
 
 1406      x[i+1] = 
sa * x[i+1];
 
 1407      x[i+2] = 
sa * x[i+2];
 
 1408      x[i+3] = 
sa * x[i+3];
 
 1409      x[i+4] = 
sa * x[i+4];
 
 1423    for ( i = 0; i < n; i++ )
 
 
 1491    for ( i = 0; i < m; i++ )
 
 1498    for ( i = m; i < n; i = i + 3 )
 
 1533    for ( i = 0; i < n; i++ )
 
 
 1548void qr_solve ( 
int m, 
int n, 
float a[], 
float b[], 
float x[]  )
 
 1613  ind = 
dqrls ( 
a_qr, 
lda, m, n, 
tol, &
kr, 
b, x, r, 
jpvt, 
qraux, 
itask );
 
 
static const float scale[]
void dqrlss(float a[], int lda, int m, int n, int kr, float b[], float x[], float rsd[], int jpvt[], float qraux[])
float ddot(int n, float dx[], int incx, float dy[], int incy)
#define DEBUG_FPRINTF(...)
int dqrsl(float a[], int lda, int n, int k, float qraux[], float y[], float qy[], float qty[], float b[], float rsd[], float ab[], int job)
void dqrank(float a[], int lda, int m, int n, float tol, int *kr, int jpvt[], float qraux[])
void qr_solve(int m, int n, float a[], float b[], float x[])
void daxpy(int n, float da, float dx[], int incx, float dy[], int incy)
void dscal(int n, float sa, float x[], int incx)
float dnrm2(int n, float x[], int incx)
int dqrls(float a[], int lda, int m, int n, float tol, int *kr, float b[], float x[], float rsd[], int jpvt[], float qraux[], int itask)
void dswap(int n, float x[], int incx, float y[], int incy)
void dqrdc(float a[], int lda, int n, int p, float qraux[], int jpvt[], float work[], int job)
float r8_max(float x, float y)
float r8mat_amax(int m, int n, float a[])
void r8mat_copy_new(int m, int n, float a1[], float a2[])
int i4_min(int i1, int i2)