93 error (
"sparse indexing needs 1 or 2 indices");
106 template <
typename T>
109 const std::list<octave_value_list>& idx)
116 retval = do_index_op (idx.front ());
123 error (
"%s cannot be indexed with %c", nm.c_str (), type[0]);
134 template <
typename T>
137 const std::list<octave_value_list>& idx,
146 if (type.length () != 1)
149 error (
"in indexed assignment of %s, last lhs index must be ()",
153 retval = numeric_assign (type, idx, rhs);
163 error (
"%s cannot be indexed with %c", nm.c_str (), type[0]);
168 retval = tmp.
subsasgn (type, idx, rhs);
179 template <
typename T>
212 matrix.assign (i, j, rhs);
218 error (
"sparse indexing needs 1 or 2 indices");
229 typ.invalidate_type ();
232 template <
typename MT>
252 matrix.delete_elements (i);
264 matrix.delete_elements (i, j);
270 error (
"sparse indexing needs 1 or 2 indices");
281 typ.invalidate_type ();
284 template <
typename T>
293 template <
typename T>
306 if (t1.any_element_is_nan ())
323 template <
typename T>
332 template <
typename T>
336 print_raw (os, pr_as_read_syntax);
340 template <
typename T>
345 matrix.print_info (os, prefix);
348 template <
typename T>
351 bool pr_as_read_syntax)
const
363 os <<
"Compressed Column Sparse (rows = " << nr
373 double dnel = dnr * dnc;
377 double pct = (nz / dnel * 100);
399 os <<
" [" << std::setprecision (prec) << pct <<
"%]";
422 os <<
" (" <<
matrix.ridx (
i)+1 <<
", " << j+1 <<
") -> ";
430 template <
typename T>
439 os <<
"# nnz: " << nnz () <<
"\n";
440 os <<
"# rows: " <<
dv(0) <<
"\n";
441 os <<
"# columns: " <<
dv(1) <<
"\n";
448 template <
typename T>
459 error (
"load: failed to extract number of rows and columns");
466 error (
"load: failed to load matrix constant");
473 template <
typename T>
486 template <
typename T>
490 if (umap == umap_xtolower || umap == umap_xtoupper)
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
octave_value subsasgn(const std::string &type, const std::list< octave_value_list > &idx, const octave_value &rhs)
void set_pos_if_unset(octave_idx_type nd_arg, octave_idx_type dim_arg)
octave_idx_type length(void) const
bool load_ascii(std::istream &is)
the sparsity preserving column transformation such that that defines the pivoting threshold can be given in which case it defines the then the first element defines the pivoting tolerance for the unsymmetric the values defined such that for full matrix
void error(const char *fmt,...)
octave_value map(octave_base_value::unary_mapper_t umap) const
bool print_as_scalar(void) const
bool all_ones(void) const
void err_nan_to_logical_conversion(void)
octave_idx_type numel(int n=0) const
Number of elements that a matrix with this dimensions would have.
octave_value subsasgn(const std::string &type, const std::list< octave_value_list > &idx, const octave_value &rhs)
void assign(const octave_value_list &idx, const T &rhs)
OCTAVE_EXPORT octave_value_list isdir nd deftypefn *std::string nm
SparseBoolMatrix all(int dim=-1) const
std::string extract_keyword(std::istream &is, const char *keyword, const bool next_only)
octave_value map(octave_base_value::unary_mapper_t umap) const
SparseBoolMatrix sparse_bool_matrix_value(bool warn=false) const
#define panic_impossible()
void print_raw(std::ostream &os, bool pr_as_read_syntax=false) const
void print(std::ostream &os, bool pr_as_read_syntax=false)
void print_info(std::ostream &os, const std::string &prefix) const
bool any_zero(void) const
SparseComplexMatrix sparse_complex_matrix_value(bool frc_str_conv=false) const
the exceeded dimensions are set to if fewer subscripts than dimensions are the exceeding dimensions are merged into the final requested dimension For consider the following dims
bool save_ascii(std::ostream &os)
void delete_elements(const octave_value_list &idx)
octave_value fast_elem_extract(octave_idx_type n) const
octave_value resize(const dim_vector &dv, bool=false) const
=val(i)}if ode{val(i)}occurs in table i
void octave_print_internal(std::ostream &, char, bool)
octave_value do_index_op(const octave_value_list &idx, bool resize_ok=false)
void warn_array_as_logical(const dim_vector &dv)
SparseMatrix sparse_matrix_value(bool frc_str_conv=false) const
write the output to stdout if nargout is
Vector representing the dimensions (size) of an Array.
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
builtin_type_t builtin_type(void) const
octave_value next_subsref(const std::string &type, const std::list< octave_value_list > &idx, size_t skip=1)
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))
static octave_value empty_conv(const std::string &type, const octave_value &rhs=octave_value())