comparison liboctave/fCmplxCHOL.cc @ 11570:57632dea2446

attempt better backward compatibility for Array constructors
author John W. Eaton <jwe@octave.org>
date Wed, 19 Jan 2011 17:55:56 -0500
parents fd0a3ac60b0e
children 12df7854fa7c
comparison
equal deleted inserted replaced
11569:7e9a111cae20 11570:57632dea2446
125 else if (calc_cond) 125 else if (calc_cond)
126 { 126 {
127 octave_idx_type cpocon_info = 0; 127 octave_idx_type cpocon_info = 0;
128 128
129 // Now calculate the condition number for non-singular matrix. 129 // Now calculate the condition number for non-singular matrix.
130 Array<FloatComplex> z (2*n, 1); 130 Array<FloatComplex> z (dim_vector (2*n, 1));
131 FloatComplex *pz = z.fortran_vec (); 131 FloatComplex *pz = z.fortran_vec ();
132 Array<float> rz (n, 1); 132 Array<float> rz (dim_vector (n, 1));
133 float *prz = rz.fortran_vec (); 133 float *prz = rz.fortran_vec ();
134 F77_XFCN (cpocon, CPOCON, (F77_CONST_CHAR_ARG2 ("U", 1), n, h, 134 F77_XFCN (cpocon, CPOCON, (F77_CONST_CHAR_ARG2 ("U", 1), n, h,
135 n, anorm, xrcond, pz, prz, cpocon_info 135 n, anorm, xrcond, pz, prz, cpocon_info
136 F77_CHAR_ARG_LEN (1))); 136 F77_CHAR_ARG_LEN (1)));
137 137
417 if (i < 0 || i > n-1 || j < 0 || j > n-1) 417 if (i < 0 || i > n-1 || j < 0 || j > n-1)
418 (*current_liboctave_error_handler) ("cholshift: index out of range"); 418 (*current_liboctave_error_handler) ("cholshift: index out of range");
419 else 419 else
420 { 420 {
421 FloatComplexMatrix a = chol_mat.hermitian () * chol_mat; 421 FloatComplexMatrix a = chol_mat.hermitian () * chol_mat;
422 Array<octave_idx_type> p (n, 1); 422 Array<octave_idx_type> p (dim_vector (n, 1));
423 for (octave_idx_type k = 0; k < n; k++) p(k) = k; 423 for (octave_idx_type k = 0; k < n; k++) p(k) = k;
424 if (i < j) 424 if (i < j)
425 { 425 {
426 for (octave_idx_type k = i; k < j; k++) p(k) = k+1; 426 for (octave_idx_type k = i; k < j; k++) p(k) = k+1;
427 p(j) = i; 427 p(j) = i;