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); }
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;
470 os << a.
elem (i) <<
"\n";
Array< T > & insert(const Array< T > &a, const Array< octave_idx_type > &idx)
Insert an array into another at a specified position.
T & xelem(octave_idx_type n)
Size of the specified dimension.
octave_idx_type numel(void) const
Number of elements in the array.
T & elem(octave_idx_type n)
Size of the specified dimension.
const T * data(void) const
Size of the specified dimension.
const T * fortran_vec(void) const
Size of the specified dimension.
FloatComplexColumnVector(void)
bool operator==(const FloatComplexColumnVector &a) const
FloatComplexColumnVector extract_n(octave_idx_type r1, octave_idx_type n) const
FloatComplex max(void) const
FloatComplexColumnVector & operator+=(const FloatColumnVector &a)
FloatComplexRowVector hermitian(void) const
FloatComplexColumnVector & operator-=(const FloatColumnVector &a)
FloatColumnVector abs(void) const
bool operator!=(const FloatComplexColumnVector &a) const
FloatComplexRowVector transpose(void) const
FloatComplex min(void) 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
FloatComplexColumnVector stack(const FloatColumnVector &a) const
Template for N-dimensional array classes with like-type math operators.
MArray< T > hermitian(T(*fcn)(const T &)=nullptr) const
MArray< T > transpose(void) 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)
F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
void mx_inline_add2(size_t n, R *r, const X *x)
void mx_inline_sub2(size_t n, R *r, const X *x)
bool mx_inline_equal(size_t n, const T1 *x, const T2 *y)
void err_nonconformant(const char *op, octave_idx_type op1_len, octave_idx_type op2_len)
std::complex< float > FloatComplex
octave_value::octave_value(const Array< char > &chm, char type) return retval