26 #if defined (HAVE_CONFIG_H)
68 if (r < 0 || r + a_len >
numel ())
69 (*current_liboctave_error_handler) (
"range error for insert");
88 if (r < 0 || r + a_len >
numel ())
89 (*current_liboctave_error_handler) (
"range error for insert");
140 if (r1 < 0 || r2 < 0 || r1 >=
len || r2 >=
len)
141 (*current_liboctave_error_handler) (
"range error for fill");
143 if (r1 > r2) { std::swap (r1, r2); }
162 if (r1 < 0 || r2 < 0 || r1 >=
len || r2 >=
len)
163 (*current_liboctave_error_handler) (
"range error for fill");
165 if (r1 > r2) { std::swap (r1, r2); }
185 retval.
insert (a, nr_insert);
196 retval.
insert (a, nr_insert);
215 return do_mx_unary_map<float, FloatComplex, std::abs> (*
this);
221 return do_mx_unary_map<FloatComplex, FloatComplex, std::conj<float>> (a);
229 if (r1 > r2) { std::swap (r1, r2); }
307 F77_INT nr = octave::to_f77_int (
m.rows ());
308 F77_INT nc = octave::to_f77_int (
m.cols ());
325 F77_XFCN (cgemv, CGEMV, (F77_CONST_CHAR_ARG2 (
"N", 1),
328 F77_CHAR_ARG_LEN (1)));
349 F77_INT nr = octave::to_f77_int (
m.rows ());
350 F77_INT nc = octave::to_f77_int (
m.cols ());
357 if (nc == 0 || nr == 0)
363 result.
elem (i) = a.
elem (i) *
m.elem (i, i);
366 result.
elem (i) = 0.0;
374 F77_INT nr = octave::to_f77_int (
m.rows ());
375 F77_INT nc = octave::to_f77_int (
m.cols ());
382 if (nc == 0 || nr == 0)
388 result.
elem (i) = a.
elem (i) *
m.elem (i, i);
391 result.
elem (i) = 0.0;
399 F77_INT nr = octave::to_f77_int (
m.rows ());
400 F77_INT nc = octave::to_f77_int (
m.cols ());
407 if (nc == 0 || nr == 0)
413 result.
elem (i) = a.
elem (i) *
m.elem (i, i);
416 result.
elem (i) = 0.0;
431 float absres = std::abs (res);
434 if (std::abs (
elem (i)) < absres)
437 absres = std::abs (res);
451 float absres = std::abs (res);
454 if (std::abs (
elem (i)) > absres)
457 absres = std::abs (res);
470 os << a.
elem (i) <<
"\n";
T & elem(octave_idx_type n)
Size of the specified dimension.
T * fortran_vec()
Size of the specified dimension.
const T * data() const
Size of the specified dimension.
T & xelem(octave_idx_type n)
Size of the specified dimension.
octave_idx_type numel() const
Number of elements in the array.
bool operator==(const FloatComplexColumnVector &a) const
FloatComplexColumnVector extract_n(octave_idx_type r1, octave_idx_type n) const
FloatComplexColumnVector & operator+=(const FloatColumnVector &a)
FloatComplexColumnVector & operator-=(const FloatColumnVector &a)
FloatComplexColumnVector()
void clear(octave_idx_type n)
bool operator!=(const FloatComplexColumnVector &a) const
FloatComplexRowVector hermitian() const
FloatComplexColumnVector & insert(const FloatColumnVector &a, octave_idx_type r)
FloatComplexColumnVector & fill(float val)
FloatComplexColumnVector extract(octave_idx_type r1, octave_idx_type r2) const
FloatComplexRowVector transpose() const
FloatComplexColumnVector stack(const FloatColumnVector &a) const
FloatColumnVector abs() const
Template for N-dimensional array classes with like-type math operators.
MArray< T > hermitian(T(*fcn)(const T &)=nullptr) const
MArray< T > transpose() const
#define F77_CONST_CMPLX_ARG(x)
#define F77_XFCN(f, F, args)
octave_f77_int_type F77_INT
FloatComplexColumnVector conj(const FloatComplexColumnVector &a)
std::istream & operator>>(std::istream &is, FloatComplexColumnVector &a)
std::ostream & operator<<(std::ostream &os, const FloatComplexColumnVector &a)
FloatComplexColumnVector operator*(const FloatComplexMatrix &m, const FloatColumnVector &a)
void err_nonconformant(const char *op, octave_idx_type op1_len, octave_idx_type op2_len)
F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
void mx_inline_sub2(std::size_t n, R *r, const X *x)
void mx_inline_add2(std::size_t n, R *r, const X *x)
bool mx_inline_equal(std::size_t n, const T1 *x, const T2 *y)
std::complex< float > FloatComplex