23 #if !defined (octave_ov_base_diag_h)
24 #define octave_ov_base_diag_h 1
42 template <
class DMT,
class MT>
61 size_t byte_size (
void)
const {
return matrix.byte_size (); }
68 const std::list<octave_value_list>& idx);
71 const std::list<octave_value_list>& idx,
int)
72 {
return subsref (type, idx); }
75 bool resize_ok =
false);
78 const std::list<octave_value_list>& idx,
86 {
return to_dense ().
reshape (new_dims); }
89 {
return to_dense ().
permute (vec, inv); }
98 {
return matrix_type (); }
103 {
return to_dense ().
sort (dim, mode); }
106 {
return to_dense ().
sort (sidx, dim, mode); }
109 {
return to_dense ().is_sorted (mode); }
115 {
return to_dense ().is_sorted_rows (mode); }
129 double double_value (
bool =
false)
const;
131 float float_value (
bool =
false)
const;
134 {
return double_value (frc_str_conv); }
138 Matrix matrix_value (
bool =
false)
const;
140 FloatMatrix float_matrix_value (
bool =
false)
const;
142 Complex complex_value (
bool =
false)
const;
154 boolNDArray bool_array_value (
bool warn =
false)
const;
158 NDArray array_value (
bool =
false)
const;
190 octave_value convert_to_str_internal (
bool pad,
bool force,
char type)
const;
192 void print_raw (std::ostream& os,
bool pr_as_read_syntax =
false)
const;
194 bool save_ascii (std::ostream& os);
196 bool load_ascii (std::istream& is);
202 mxArray *as_mxArray (
void)
const;
204 bool print_as_scalar (
void)
const;
206 void print (std::ostream& os,
bool pr_as_read_syntax =
false);
208 void print_info (std::ostream& os,
const std::string& prefix)
const;
219 typename DMT::element_type&)
const = 0;
int64NDArray int64_array_value(void) const
bool is_true(const std::string &s)
octave_value sort(Array< octave_idx_type > &sidx, octave_idx_type dim=0, sortmode mode=ASCENDING) const
uint64NDArray uint64_array_value(void) const
octave_value reshape(const dim_vector &dv) const
octave_value permute(const Array< int > &vec, bool inv=false) const
Array< octave_idx_type > sort_rows_idx(sortmode mode=ASCENDING) const
Sort by rows returns only indices.
octave_value squeeze(void) const
int32NDArray int32_array_value(void) const
dim_vector dims(void) const
octave_value permute(const Array< int > &vec, bool inv=false) const
bool is_diag_matrix(void) const
size_t byte_size(void) const
octave_idx_type nnz(void) const
Array< octave_idx_type > sort_rows_idx(sortmode mode=ASCENDING) const
octave_value any(int dim=0) const
sortmode is_sorted(sortmode mode=UNSORTED) const
bool is_numeric_type(void) const
uint16NDArray uint16_array_value(void) const
sortmode is_sorted_rows(sortmode mode=UNSORTED) const
octave_value_list subsref(const std::string &type, const std::list< octave_value_list > &idx, int)
octave_value all(int dim=0) const
int16NDArray int16_array_value(void) const
uint8NDArray uint8_array_value(void) const
bool is_defined(void) const
bool is_matrix_type(void) const
octave_value any(int dim=0) const
octave_value sort(octave_idx_type dim=0, sortmode mode=ASCENDING) const
double scalar_value(bool frc_str_conv=false) const
MatrixType matrix_type(const MatrixType &) const
int8NDArray int8_array_value(void) const
octave_base_diag(const DMT &m)
bool is_constant(void) const
std::complex< float > FloatComplex
MatrixType matrix_type(void) const
octave_value reshape(const dim_vector &new_dims) const
std::complex< double > Complex
octave_base_diag(const octave_base_diag &m)
octave_value sort(octave_idx_type dim=0, sortmode mode=ASCENDING) const
octave_value full_value(void) const
uint32NDArray uint32_array_value(void) const
octave_value all(int dim=0) const