Mercurial > octave
changeset 24256:b8e0bd54a268
maint: merge stable to default.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 15 Nov 2017 15:22:27 -0800 |
parents | 4bca68f0d8d5 (current diff) 4283c4c2fcb6 (diff) |
children | 056c799eb0f8 |
files | liboctave/array/CSparse.cc liboctave/array/dSparse.cc |
diffstat | 2 files changed, 36 insertions(+), 52 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/array/CSparse.cc Wed Nov 15 14:52:07 2017 -0500 +++ b/liboctave/array/CSparse.cc Wed Nov 15 15:22:27 2017 -0800 @@ -5714,10 +5714,9 @@ A->stype = 1; A->xtype = CHOLMOD_COMPLEX; - if (nr < 1) + A->x = data (); + if (A->x == 0) A->x = &dummy; - else - A->x = data (); cholmod_dense Bstore; cholmod_dense *B = &Bstore; @@ -5727,11 +5726,10 @@ B->nzmax = B->nrow * B->ncol; B->dtype = CHOLMOD_DOUBLE; B->xtype = CHOLMOD_REAL; - if (nc < 1 || b.cols () < 1) + + B->x = const_cast<double *>(b.fortran_vec ()); + if (B->x == 0) B->x = &dummy; - else - // We won't alter it, honest :-) - B->x = const_cast<double *>(b.fortran_vec ()); cholmod_factor *L; BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; @@ -5966,10 +5964,9 @@ A->stype = 1; A->xtype = CHOLMOD_COMPLEX; - if (nr < 1) + A->x = data (); + if (A->x == 0) A->x = &dummy; - else - A->x = data (); cholmod_sparse Bstore; cholmod_sparse *B = &Bstore; @@ -5990,10 +5987,9 @@ B->stype = 0; B->xtype = CHOLMOD_REAL; - if (b.rows () < 1 || b.cols () < 1) + B->x = b.data (); + if (B->x == 0) B->x = &dummy; - else - B->x = b.data (); cholmod_factor *L; BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; @@ -6267,10 +6263,9 @@ A->stype = 1; A->xtype = CHOLMOD_COMPLEX; - if (nr < 1) + A->x = data (); + if (A->x == 0) A->x = &dummy; - else - A->x = data (); cholmod_dense Bstore; cholmod_dense *B = &Bstore; @@ -6280,11 +6275,10 @@ B->nzmax = B->nrow * B->ncol; B->dtype = CHOLMOD_DOUBLE; B->xtype = CHOLMOD_COMPLEX; - if (nc < 1 || b.cols () < 1) + + B->x = const_cast<Complex *>(b.fortran_vec ()); + if (B->x == 0) B->x = &dummy; - else - // We won't alter it, honest :-) - B->x = const_cast<Complex *>(b.fortran_vec ()); cholmod_factor *L; BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; @@ -6498,10 +6492,9 @@ A->stype = 1; A->xtype = CHOLMOD_COMPLEX; - if (nr < 1) + A->x = data (); + if (A->x == 0) A->x = &dummy; - else - A->x = data (); cholmod_sparse Bstore; cholmod_sparse *B = &Bstore; @@ -6522,10 +6515,9 @@ B->stype = 0; B->xtype = CHOLMOD_COMPLEX; - if (b.rows () < 1 || b.cols () < 1) + B->x = b.data (); + if (B->x == 0) B->x = &dummy; - else - B->x = b.data (); cholmod_factor *L; BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;
--- a/liboctave/array/dSparse.cc Wed Nov 15 14:52:07 2017 -0500 +++ b/liboctave/array/dSparse.cc Wed Nov 15 15:22:27 2017 -0800 @@ -5765,10 +5765,9 @@ A->stype = 1; A->xtype = CHOLMOD_REAL; - if (nr < 1) + A->x = data (); + if (A->x == 0) A->x = &dummy; - else - A->x = data (); cholmod_dense Bstore; cholmod_dense *B = &Bstore; @@ -5778,11 +5777,10 @@ B->nzmax = B->nrow * B->ncol; B->dtype = CHOLMOD_DOUBLE; B->xtype = CHOLMOD_REAL; - if (nc < 1 || b.cols () < 1) + + B->x = const_cast<double *>(b.fortran_vec ()); + if (B->x == 0) B->x = &dummy; - else - // We won't alter it, honest :-) - B->x = const_cast<double *>(b.fortran_vec ()); cholmod_factor *L; BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; @@ -5990,10 +5988,9 @@ A->stype = 1; A->xtype = CHOLMOD_REAL; - if (nr < 1) + A->x = data (); + if (A->x == 0) A->x = &dummy; - else - A->x = data (); cholmod_sparse Bstore; cholmod_sparse *B = &Bstore; @@ -6014,10 +6011,9 @@ B->stype = 0; B->xtype = CHOLMOD_REAL; - if (b.rows () < 1 || b.cols () < 1) + B->x = b.data (); + if (B->x == 0) B->x = &dummy; - else - B->x = b.data (); cholmod_factor *L; BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; @@ -6261,10 +6257,9 @@ A->stype = 1; A->xtype = CHOLMOD_REAL; - if (nr < 1) + A->x = data (); + if (A->x == 0) A->x = &dummy; - else - A->x = data (); cholmod_dense Bstore; cholmod_dense *B = &Bstore; @@ -6274,11 +6269,10 @@ B->nzmax = B->nrow * B->ncol; B->dtype = CHOLMOD_DOUBLE; B->xtype = CHOLMOD_COMPLEX; - if (nc < 1 || b.cols () < 1) + + B->x = const_cast<Complex *>(b.fortran_vec ()); + if (B->x == 0) B->x = &dummy; - else - // We won't alter it, honest :-) - B->x = const_cast<Complex *>(b.fortran_vec ()); cholmod_factor *L; BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; @@ -6506,10 +6500,9 @@ A->stype = 1; A->xtype = CHOLMOD_REAL; - if (nr < 1) + A->x = data (); + if (A->x == 0) A->x = &dummy; - else - A->x = data (); cholmod_sparse Bstore; cholmod_sparse *B = &Bstore; @@ -6530,10 +6523,9 @@ B->stype = 0; B->xtype = CHOLMOD_COMPLEX; - if (b.rows () < 1 || b.cols () < 1) + B->x = b.data (); + if (B->x == 0) B->x = &dummy; - else - B->x = b.data (); cholmod_factor *L; BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE;