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");
85 if (c < 0 || c + a_len >
numel ())
86 (*current_liboctave_error_handler) (
"range error for insert");
136 if (c1 < 0 || c2 < 0 || c1 >=
len || c2 >=
len)
137 (*current_liboctave_error_handler) (
"range error for fill");
139 if (c1 > c2) { std::swap (c1, c2); }
158 if (c1 < 0 || c2 < 0 || c1 >=
len || c2 >=
len)
159 (*current_liboctave_error_handler) (
"range error for fill");
161 if (c1 > c2) { std::swap (c1, c2); }
181 retval.
insert (a, nc_insert);
192 retval.
insert (a, nc_insert);
211 return do_mx_unary_map<FloatComplex, FloatComplex, std::conj<float>> (a);
219 if (c1 > c2) { std::swap (c1, c2); }
298 retval.
resize (a_nc, 0.0);
308 F77_XFCN (cgemv, CGEMV, (F77_CONST_CHAR_ARG2 (
"T", 1),
311 F77_CHAR_ARG_LEN (1)));
334 float absres = std::abs (res);
337 if (std::abs (
elem (i)) < absres)
340 absres = std::abs (res);
354 float absres = std::abs (res);
357 if (std::abs (
elem (i)) > absres)
360 absres = std::abs (res);
373 os <<
' ' << a.
elem (i);
449 typedef std::make_unsigned<octave_idx_type>::type unsigned_octave_idx_type;
451 unsigned_octave_idx_type
n = n_in;
455 retval.
xelem (0) = x1;
459 bool isnan_delta =
false;
470 unsigned_octave_idx_type n2 =
n/2;
471 for (unsigned_octave_idx_type i = 1; i < n2; i++)
473 retval.
xelem (i) = x1 +
static_cast<float> (i)*delta;
474 retval.
xelem (
n-1-i) = x2 -
static_cast<float> (i)*delta;
479 retval.
xelem (n2) = 0;
490 retval.
xelem (n2) = c;
T & elem(octave_idx_type n)
Size of the specified dimension.
T * fortran_vec()
Size of the specified dimension.
octave_idx_type rows() const
const T * data() const
Size of the specified dimension.
octave_idx_type cols() const
T & xelem(octave_idx_type n)
Size of the specified dimension.
octave_idx_type numel() const
Number of elements in the array.
void clear(octave_idx_type n)
void resize(octave_idx_type n, const FloatComplex &rfv=FloatComplex(0))
FloatComplexColumnVector hermitian() const
FloatComplexColumnVector transpose() const
FloatComplexRowVector append(const FloatRowVector &a) const
bool operator!=(const FloatComplexRowVector &a) const
FloatComplexRowVector & operator+=(const FloatRowVector &a)
FloatComplexRowVector & fill(float val)
FloatComplexRowVector & insert(const FloatRowVector &a, octave_idx_type c)
FloatComplexRowVector extract_n(octave_idx_type c1, octave_idx_type n) const
FloatComplexRowVector extract(octave_idx_type c1, octave_idx_type c2) const
FloatComplexRowVector & operator-=(const FloatRowVector &a)
bool operator==(const FloatComplexRowVector &a) const
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
std::ostream & operator<<(std::ostream &os, const FloatComplexRowVector &a)
FloatComplexRowVector operator*(const FloatComplexRowVector &v, const FloatComplexMatrix &a)
FloatComplexRowVector linspace(const FloatComplex &x1, const FloatComplex &x2, octave_idx_type n_in)
std::istream & operator>>(std::istream &is, FloatComplexRowVector &a)
FloatComplexRowVector conj(const FloatComplexRowVector &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
subroutine xcdotu(n, zx, incx, zy, incy, retval)
F77_RET_T F77_FUNC(xerbla, XERBLA)(F77_CONST_CHAR_ARG_DEF(s_arg