comparison liboctave/dbleQR.cc @ 9235:b03953732530

Copy volatile variable to avoid MSVC compilation error
author Michael Goffioul <michael.goffioul@gmail.com>
date Thu, 21 May 2009 21:07:36 +0100
parents 20dfb885f877
children 7918eb15040c
comparison
equal deleted inserted replaced
9234:e2f6dcade4c6 9235:b03953732530
317 } 317 }
318 318
319 OCTAVE_LOCAL_BUFFER (double, w, kmax); 319 OCTAVE_LOCAL_BUFFER (double, w, kmax);
320 for (volatile octave_idx_type i = 0; i < js.length (); i++) 320 for (volatile octave_idx_type i = 0; i < js.length (); i++)
321 { 321 {
322 octave_idx_type ii = i;
322 ColumnVector utmp = u.column (jsi(i)); 323 ColumnVector utmp = u.column (jsi(i));
323 F77_XFCN (dqrinc, DQRINC, (m, n + i, std::min (kmax, k + i), 324 F77_XFCN (dqrinc, DQRINC, (m, n + ii, std::min (kmax, k + ii),
324 q.fortran_vec (), q.rows (), 325 q.fortran_vec (), q.rows (),
325 r.fortran_vec (), r.rows (), js(i) + 1, 326 r.fortran_vec (), r.rows (), js(ii) + 1,
326 utmp.data (), w)); 327 utmp.data (), w));
327 } 328 }
328 } 329 }
329 } 330 }
330 331
376 else if (nj > 0) 377 else if (nj > 0)
377 { 378 {
378 OCTAVE_LOCAL_BUFFER (double, w, k); 379 OCTAVE_LOCAL_BUFFER (double, w, k);
379 for (volatile octave_idx_type i = 0; i < js.length (); i++) 380 for (volatile octave_idx_type i = 0; i < js.length (); i++)
380 { 381 {
381 F77_XFCN (dqrdec, DQRDEC, (m, n - i, k == m ? k : k - i, 382 octave_idx_type ii = i;
383 F77_XFCN (dqrdec, DQRDEC, (m, n - ii, k == m ? k : k - ii,
382 q.fortran_vec (), q.rows (), 384 q.fortran_vec (), q.rows (),
383 r.fortran_vec (), r.rows (), js(i) + 1, w)); 385 r.fortran_vec (), r.rows (), js(ii) + 1, w));
384 } 386 }
385 if (k < m) 387 if (k < m)
386 { 388 {
387 q.resize (m, k - nj); 389 q.resize (m, k - nj);
388 r.resize (k - nj, n - nj); 390 r.resize (k - nj, n - nj);