comparison src/DLD-FUNCTIONS/chol.cc @ 9453:5fcf008c7c41

fix Cholesky updating with scalars
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 23 Jul 2009 20:37:56 +0200
parents 8207b833557f
children 9f27172fbd1e
comparison
equal deleted inserted replaced
9452:deb668d53e60 9453:5fcf008c7c41
617 } 617 }
618 618
619 octave_value argr = args(0); 619 octave_value argr = args(0);
620 octave_value argu = args(1); 620 octave_value argu = args(1);
621 621
622 if (argr.is_matrix_type () && argu.is_matrix_type () 622 if (argr.is_numeric_type () && argu.is_numeric_type ()
623 && (nargin < 3 || args(2).is_string ())) 623 && (nargin < 3 || args(2).is_string ()))
624 { 624 {
625 octave_idx_type n = argr.rows (); 625 octave_idx_type n = argr.rows ();
626 626
627 std::string op = (nargin < 3) ? "+" : args(2).string_value (); 627 std::string op = (nargin < 3) ? "+" : args(2).string_value ();
828 828
829 octave_value argr = args(0); 829 octave_value argr = args(0);
830 octave_value argj = args(1); 830 octave_value argj = args(1);
831 octave_value argu = args(2); 831 octave_value argu = args(2);
832 832
833 if (argr.is_matrix_type () && argu.is_matrix_type () 833 if (argr.is_numeric_type () && argu.is_numeric_type ()
834 && argj.is_real_scalar ()) 834 && argj.is_real_scalar ())
835 { 835 {
836 octave_idx_type n = argr.rows (); 836 octave_idx_type n = argr.rows ();
837 octave_idx_type j = argj.scalar_value (); 837 octave_idx_type j = argj.scalar_value ();
838 838
1001 } 1001 }
1002 1002
1003 octave_value argr = args(0); 1003 octave_value argr = args(0);
1004 octave_value argj = args(1); 1004 octave_value argj = args(1);
1005 1005
1006 if (argr.is_matrix_type () && argj.is_real_scalar ()) 1006 if (argr.is_numeric_type () && argj.is_real_scalar ())
1007 { 1007 {
1008 octave_idx_type n = argr.rows (); 1008 octave_idx_type n = argr.rows ();
1009 octave_idx_type j = argj.scalar_value (); 1009 octave_idx_type j = argj.scalar_value ();
1010 1010
1011 if (argr.columns () == n) 1011 if (argr.columns () == n)
1139 1139
1140 octave_value argr = args(0); 1140 octave_value argr = args(0);
1141 octave_value argi = args(1); 1141 octave_value argi = args(1);
1142 octave_value argj = args(2); 1142 octave_value argj = args(2);
1143 1143
1144 if (argr.is_matrix_type () && argi.is_real_scalar () && argj.is_real_scalar ()) 1144 if (argr.is_numeric_type () && argi.is_real_scalar () && argj.is_real_scalar ())
1145 { 1145 {
1146 octave_idx_type n = argr.rows (); 1146 octave_idx_type n = argr.rows ();
1147 octave_idx_type i = argi.scalar_value (); 1147 octave_idx_type i = argi.scalar_value ();
1148 octave_idx_type j = argj.scalar_value (); 1148 octave_idx_type j = argj.scalar_value ();
1149 1149