26 #if defined (HAVE_CONFIG_H)
32 #include <type_traits>
65 if (c < 0 || c + a_len >
numel ())
66 (*current_liboctave_error_handler) (
"range error for insert");
84 if (c < 0 || c + a_len >
numel ())
85 (*current_liboctave_error_handler) (
"range error for insert");
135 if (c1 < 0 || c2 < 0 || c1 >=
len || c2 >=
len)
136 (*current_liboctave_error_handler) (
"range error for fill");
138 if (c1 > c2) { std::swap (c1, c2); }
157 if (c1 < 0 || c2 < 0 || c1 >=
len || c2 >=
len)
158 (*current_liboctave_error_handler) (
"range error for fill");
160 if (c1 > c2) { std::swap (c1, c2); }
210 return do_mx_unary_map<Complex, Complex, std::conj<double>> (a);
218 if (c1 > c2) { std::swap (c1, c2); }
307 F77_XFCN (zgemv, ZGEMV, (F77_CONST_CHAR_ARG2 (
"T", 1),
310 F77_CHAR_ARG_LEN (1)));
372 os <<
' ' << a.
elem (i);
444 unsigned_octave_idx_type
n = n_in;
452 Complex delta = (x2 - x1) / (
n - 1.0);
453 unsigned_octave_idx_type n2 =
n/2;
454 for (unsigned_octave_idx_type i = 1; i < n2; i++)
456 retval.
xelem (i) = x1 +
static_cast<double> (i)*delta;
457 retval.
xelem (
n-1-i) = x2 -
static_cast<double> (i)*delta;
460 retval.
xelem (n2) = (x1 == -x2 ? 0 : (x1 + x2) / 2.0);
std::istream & operator>>(std::istream &is, ComplexRowVector &a)
ComplexRowVector conj(const ComplexRowVector &a)
ComplexRowVector operator*(const ComplexRowVector &v, const ComplexMatrix &a)
std::ostream & operator<<(std::ostream &os, const ComplexRowVector &a)
ComplexRowVector linspace(const Complex &x1, const Complex &x2, octave_idx_type n_in)
Array< T > & insert(const Array< T > &a, const Array< octave_idx_type > &idx)
Insert an array into another at a specified position.
void resize(const dim_vector &dv, const T &rfv)
Size of the specified dimension.
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.
octave_idx_type cols(void) const
octave_idx_type rows(void) const
const T * fortran_vec(void) const
Size of the specified dimension.
ComplexRowVector & operator-=(const RowVector &a)
ComplexRowVector & operator+=(const RowVector &a)
ComplexRowVector extract(octave_idx_type c1, octave_idx_type c2) const
ComplexRowVector append(const RowVector &a) const
bool operator==(const ComplexRowVector &a) const
ComplexRowVector extract_n(octave_idx_type c1, octave_idx_type n) const
ComplexRowVector & fill(double val)
ComplexColumnVector hermitian(void) const
ComplexRowVector & insert(const RowVector &a, octave_idx_type c)
bool operator!=(const ComplexRowVector &a) const
ComplexColumnVector transpose(void) const
MArray< T > hermitian(T(*fcn)(const T &)=nullptr) const
MArray< T > transpose(void) const
#define F77_DBLE_CMPLX_ARG(x)
#define F77_XFCN(f, F, args)
octave_f77_int_type F77_INT
#define F77_CONST_DBLE_CMPLX_ARG(x)
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< double > Complex
octave_value::octave_value(const Array< char > &chm, char type) return retval
F77_RET_T F77_FUNC(xerbla, XERBLA)(F77_CONST_CHAR_ARG_DEF(s_arg
subroutine xzdotu(n, zx, incx, zy, incy, retval)