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); }
180 retval.
insert (a, nc_insert);
191 retval.
insert (a, nc_insert);
210 return do_mx_unary_map<Complex, Complex, std::conj<double>> (a);
218 if (c1 > c2) { std::swap (c1, c2); }
297 retval.
resize (a_nc, 0.0);
307 F77_XFCN (zgemv, ZGEMV, (F77_CONST_CHAR_ARG2 (
"T", 1),
310 F77_CHAR_ARG_LEN (1)));
372 os <<
' ' << a.
elem (i);
442 typedef std::make_unsigned<octave_idx_type>::type unsigned_octave_idx_type;
444 unsigned_octave_idx_type
n = n_in;
448 retval.
xelem (0) = x1;
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)
OCTARRAY_OVERRIDABLE_FUNC_API const T * data(void) const
Size of the specified dimension.
OCTARRAY_OVERRIDABLE_FUNC_API void make_unique(void)
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type numel(void) const
Number of elements in the array.
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type rows(void) const
OCTARRAY_API T * fortran_vec(void)
Size of the specified dimension.
OCTARRAY_OVERRIDABLE_FUNC_API T & elem(octave_idx_type n)
Size of the specified dimension.
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type cols(void) const
OCTARRAY_OVERRIDABLE_FUNC_API T & xelem(octave_idx_type n)
Size of the specified dimension.
OCTAVE_API ComplexRowVector & operator-=(const RowVector &a)
OCTAVE_API ComplexRowVector & operator+=(const RowVector &a)
OCTAVE_API ComplexRowVector extract(octave_idx_type c1, octave_idx_type c2) const
OCTAVE_API ComplexRowVector append(const RowVector &a) const
void resize(octave_idx_type n, const Complex &rfv=Complex(0))
void clear(octave_idx_type n)
OCTAVE_API bool operator==(const ComplexRowVector &a) const
OCTAVE_API Complex max(void) const
OCTAVE_API ComplexRowVector extract_n(octave_idx_type c1, octave_idx_type n) const
OCTAVE_API Complex min(void) const
OCTAVE_API ComplexRowVector & fill(double val)
OCTAVE_API ComplexColumnVector hermitian(void) const
OCTAVE_API ComplexRowVector & insert(const RowVector &a, octave_idx_type c)
OCTAVE_API bool operator!=(const ComplexRowVector &a) const
OCTAVE_API 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)
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< double > Complex
F77_RET_T F77_FUNC(xerbla, XERBLA)(F77_CONST_CHAR_ARG_DEF(s_arg
subroutine xzdotu(n, zx, incx, zy, incy, retval)