20#ifndef CCGSL_VECTOR_COMPLEX_LONG_DOUBLE_HPP
21#define CCGSL_VECTOR_COMPLEX_LONG_DOUBLE_HPP
23#include<gsl/gsl_vector_complex_long_double.h>
26#ifdef __GXX_EXPERIMENTAL_CXX0X__
39 class matrix_complex_long_double;
67 try {
count =
new size_t; }
catch( std::bad_alloc& e ){
83 = gsl_vector_complex_long_double_alloc(
static_cast<size_t>(
n ) );
85 gsl_error(
"failed tring to make a vector of negative length",
89 try {
count =
new size_t; }
catch( std::bad_alloc& e ){
103 explicit vector_complex_long_double( gsl_vector_complex_long_double* v )
111#ifdef __GXX_EXPERIMENTAL_CXX0X__
118 size_t const n = initializer_list.size();
121 try {
count =
new size_t; }
catch( std::bad_alloc& e ){
130 for(
auto x : initializer_list ){
174 gsl_vector_complex_long_double_memcpy( copy.
get(),
get() );
236#ifdef __GXX_EXPERIMENTAL_CXX0X__
244 std::swap(
count, v.count );
245 v.ccgsl_pointer =
nullptr;
285 for(
size_t i = 0; i <
min; ++i ){
288 if( t < u )
return true;
289 if( u < t )
return false;
292 return size < v_size;
312 for(
size_t i = 0; i <
min; ++i ){
315 if( t > u )
return true;
316 if( u > t )
return false;
319 return size > v_size;
377 template<
typename container,
typename content,
bool reverse_t>
413 }
else if(
v->ccgsl_pointer == 0 ){
439 }
else if(
v->ccgsl_pointer == 0 ){
466 }
else if(
v->ccgsl_pointer == 0 ){
491 if(
v == 0 or i.
v == 0 ){
494 }
else if(
v->ccgsl_pointer == 0 or i.
v->ccgsl_pointer == 0 ){
499 if(
v->ccgsl_pointer != i.
v->ccgsl_pointer ){
500 gsl_error(
"trying to take difference of iterators for different vector_complex_long_double objects", __FILE__, __LINE__,
533 if(
v == 0 or i.
v == 0 ){
538 if(
v->ccgsl_pointer != i.
v->ccgsl_pointer ){
539 gsl_error(
"trying to take difference of iterators for different vector_complex_long_double objects", __FILE__, __LINE__,
555 }
else if(
v->ccgsl_pointer == 0 ){
572 }
else if(
v->ccgsl_pointer == 0 ){
589 }
else if(
v->ccgsl_pointer == 0 ){
737 if( this->
v == 0 or i.
v == 0 ){
746 gsl_error(
"trying to take difference of iterators for different vector_complex_long_double objects", __FILE__, __LINE__,
775 if( this->
v == 0 or i.
v == 0 ){
781 gsl_error(
"trying to take difference of iterators for different vector_complex_long_double objects", __FILE__, __LINE__,
806 :
public iterator_base<vector_complex_long_double const,long double,reverse_t>{
923 if( this->
v == 0 or i.
v == 0 ){
932 gsl_error(
"trying to take difference of iterators for different vector_complex_long_double objects", __FILE__, __LINE__,
973 if( this->
v == 0 or i.
v == 0 ){
979 gsl_error(
"trying to take difference of iterators for different vector_complex_long_double objects", __FILE__, __LINE__,
1008 if( this->
v == 0 or i.
v == 0 ){
1014 gsl_error(
"trying to take difference of iterators for different vector_complex objects", __FILE__, __LINE__,
1104 if(
ccgsl_pointer == 0 ) gsl_error(
"null vector", __FILE__, __LINE__, GSL_EFAULT );
1105#ifndef GSL_RANGE_CHECK_OFF
1107 gsl_error(
"vector does not have stride of size 1", __FILE__, __LINE__, GSL_EBADLEN );
1118 if(
ccgsl_pointer == 0 ) gsl_error(
"null vector", __FILE__, __LINE__, GSL_EFAULT );
1119#ifndef GSL_RANGE_CHECK_OFF
1121 gsl_error(
"vector does not have stride of size 1", __FILE__, __LINE__, GSL_EBADLEN );
1192#ifndef GSL_RANGE_CHECK_OFF
1195 gsl_error(
"trying to read beyond end of vector_complex_long_double", __FILE__, __LINE__,
exception::GSL_EFAILED );
1213#ifndef GSL_RANGE_CHECK_OFF
1216 gsl_error(
"trying to read beyond end of vector_complex_long_double", __FILE__, __LINE__,
exception::GSL_EFAILED );
1264#ifdef __GXX_EXPERIMENTAL_CXX0X__
1291 int set_basis(
size_t i ){
return gsl_vector_complex_long_double_set_basis(
get(), i ); }
1302 int reverse(){
return gsl_vector_complex_long_double_reverse(
get() ); }
1310 return gsl_vector_complex_long_double_swap_elements(
get(), i, j ); }
1356 return gsl_vector_complex_long_double_axpby( alpha, x.
get(),
beta,
get() );
1362 int isnull()
const {
return gsl_vector_complex_long_double_isnull(
get() ); }
1367 int ispos()
const {
return gsl_vector_complex_long_double_ispos(
get() ); }
1372 int isneg()
const {
return gsl_vector_complex_long_double_isneg(
get() ); }
1377 int isnonneg()
const {
return gsl_vector_complex_long_double_isnonneg(
get() ); }
1413 int fread( FILE* stream ){
return gsl_vector_complex_long_double_fread( stream,
get() ); }
1419 int fwrite( FILE* stream )
const {
return gsl_vector_complex_long_double_fwrite( stream,
get() ); }
1425 int fscanf( FILE* stream ){
return gsl_vector_complex_long_double_fscanf( stream,
get() ); }
1432 int fprintf( FILE* stream,
char const* format )
const {
1433 return gsl_vector_complex_long_double_fprintf( stream,
get(), format ); }
1442 ccgsl_pointer = gsl_vector_complex_long_double_alloc_from_block(
b.get(), offset,
n, stride );
1444 try {
count =
new size_t; }
catch( std::bad_alloc& e ){
1459 ccgsl_pointer = gsl_vector_complex_long_double_alloc_from_vector( v.
get(), offset,
n, stride );
1461 try {
count =
new size_t; }
catch( std::bad_alloc& e ){
1523 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1524 *w = gsl_vector_complex_long_double_view_array( v,
n ).vector;
1537 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1538 *w = gsl_vector_complex_long_double_view_array_with_stride( base, stride,
n ).vector;
1550 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double *
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1551 *w = gsl_vector_complex_long_double_const_view_array( v,
n ).vector;
1564 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1565 *w = gsl_vector_complex_long_double_const_view_array_with_stride( base, stride,
n ).vector;
1578 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1579 *w = gsl_vector_complex_long_double_const_view_array( v,
n ).vector;
1594 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1595 *w = gsl_vector_complex_long_double_const_view_array_with_stride( base, stride,
n ).vector;
1608 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1609 *w = gsl_vector_complex_long_double_subvector(
get(), i,
n ).vector;
1622 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1623 *w = gsl_vector_complex_long_double_subvector_with_stride(
get(), i, stride,
n ).vector;
1635 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1636 *w = gsl_vector_complex_long_double_const_subvector(
get(), i,
n ).vector;
1649 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1650 *w = gsl_vector_complex_long_double_const_subvector_with_stride(
get(), i, stride,
n ).vector;
1663 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1664 *w = gsl_vector_complex_long_double_const_subvector(
get(), i,
n ).vector;
1679 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1680 *w = gsl_vector_complex_long_double_const_subvector_with_stride(
get(), i, stride,
n ).vector;
1692 template<
typename ARRAY>
1698 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1699 *w = gsl_vector_complex_long_double_view_array( v.data(),
n ).vector;
1711 template<
typename ARRAY>
1714 n = base.size()/stride;
1715 if((
n-1)*stride > base.size())
1717 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1718 *w = gsl_vector_complex_long_double_view_array_with_stride( base.data(), stride,
n ).vector;
1729 template<
typename ARRAY>
1735 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double *
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1736 *w = gsl_vector_complex_long_double_const_view_array( v.data(),
n ).vector;
1748 template<
typename ARRAY>
1751 n = base.size()/stride;
1752 if((
n-1)*stride > base.size())
1754 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1755 *w = gsl_vector_complex_long_double_const_view_array_with_stride( base.data(), stride,
n ).vector;
1767 template<
typename ARRAY>
1773 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1774 *w = gsl_vector_complex_long_double_const_view_array( v.data(),
n ).vector;
1788 template<
typename ARRAY>
1791 n = base.size()/stride;
1792 if((
n-1)*stride > base.size())
1794 gsl_vector_complex_long_double* w =
static_cast<gsl_vector_complex_long_double*
>( malloc(
sizeof( gsl_vector_complex_long_double ) ) );
1795 *w = gsl_vector_complex_long_double_const_view_array_with_stride( base.data(), stride,
n ).vector;
This class handles vector_complex_long_doubles as shared handles.
This class can be used like a pointer for complex_long_double objects so that we can iterate over a v...
This class can be used like a reference for complex_long_double objects so that we can iterate over a...
This class handles complex_long_double numbers.
@ GSL_EDOM
input domain error, e.g sqrt(-1)
@ GSL_EFAILED
generic failure
@ GSL_EINVAL
invalid argument supplied by user
@ GSL_EBADLEN
matrix, vector lengths are not conformant
This class handles matrix_complex_long_double objects as shared handles.
A class template for the const iterators.
bool operator<(const_iterator_t< reverse_t > const &i) const
Comparison with const iterator.
const_iterator_t & operator=(const_iterator_t< reverse_t > const &i)
We can assign one output iterator from another.
bool operator!=(iterator_t< reverse_t > const &i) const
Comparison with non-const iterator.
const_iterator_t< reverse_t > & operator++()
The prefix ++ operator.
const_iterator_t< reverse_t > & operator+=(difference_type const n)
The += operator.
bool operator!=(const_iterator_t< reverse_t > const &i) const
Comparison with const iterator.
const_iterator_t(vector_complex_long_double const *v, difference_type position)
This constructor allows vector_complex_long_double to create non-default iterators.
const_iterator_t< reverse_t > & operator-=(difference_type const n)
The -= operator.
bool operator==(iterator_t< reverse_t > const &i) const
Comparison with non-const iterator.
difference_type operator-(iterator_t< reverse_t > const &i) const
The - operator: find distance between two iterators.
bool operator<(iterator_t< reverse_t > const &i) const
Comparison with non-const iterator.
const_iterator_t< reverse_t > & operator--()
The prefix – operator.
const_iterator_t< reverse_t > operator++(int)
The postfix ++ operator.
const_iterator_t< reverse_t > operator-(difference_type const n) const
The - operator: subtract distance from iterator.
bool operator==(const_iterator_t< reverse_t > const &i) const
Comparison with const iterator.
difference_type operator-(const_iterator_t< reverse_t > const &i) const
The - operator: find distance between two iterators.
const_iterator_t(iterator_t< reverse_t > const &i)
A copy constructor.
iterator_base< vector_complex_long_doubleconst, longdouble, reverse_t >::difference_type difference_type
Difference type.
const_iterator_t()
The default constructor.
const_iterator_t< reverse_t > operator--(int)
The postfix – operator.
const_iterator_t< reverse_t > operator+(difference_type const n) const
The + operator.
The container must have iterator types.
bool operator==(iterator_base< container, content, reverse_t > const &i) const
The == operator.
iterator_base(container *v, difference_type position)
This constructor allows vector_complex_long_double to create non-default iterators.
iterator_base()
The iterator is default constructible.
void shift(difference_type const n)
Shift iterator n places.
reference operator[](difference_type const n) const
Get element at i + n by reference ([] operator).
complex_long_double value_type
An iterator must have a value_type.
difference_type operator-(iterator_base< container, content, reverse_t > const &i) const
The - operator: find distance between two iterators.
reference operator*() const
Dereference the pointer.
difference_type position
Mark position of iterator within vector_complex_long_double.
ptrdiff_t difference_type
An iterator must have a difference_type.
bool operator!=(iterator_base< container, content, reverse_t > const &i) const
The != operator.
bool operator<(iterator_base< container, content, reverse_t > const &i) const
The < operator is used to compare iterators.
complex_long_double_ref reference
An iterator must have a reference type.
complex_long_double_ptr pointer
An iterator must have a pointer type.
void increment()
Increment the iterator.
void decrement()
Decrement the iterator.
pointer operator->() const
Dereference the pointer.
container * v
Store a pointer to a vector_complex_long_double we can iterate over: 0 if no vector_complex_long_doub...
std::random_access_iterator_tag iterator_category
An iterator must have a pointer type.
A class template for the two non-const iterators.
bool operator!=(const_iterator_t< reverse_t > const &i) const
Comparison with const iterator.
bool operator<(const_iterator_t< reverse_t > const &i) const
Comparison with const iterator.
iterator_t< reverse_t > operator-(difference_type const n) const
The - operator: subtract distance from iterator.
iterator_base< vector_complex_long_double, longdouble, reverse_t >::difference_type difference_type
Difference type.
iterator_t< reverse_t > operator--(int)
The postfix – operator.
iterator_t< reverse_t > operator++(int)
The postfix ++ operator.
iterator_t(vector_complex_long_double *v, difference_type position)
This constructor allows vector_complex_long_double to create non-default iterators.
iterator_t< reverse_t > & operator-=(difference_type const n)
The -= operator.
iterator_t< reverse_t > & operator++()
The prefix ++ operator.
iterator_t< reverse_t > & operator+=(difference_type const n)
The += operator.
difference_type operator-(iterator_t< reverse_t > const &i) const
The - operator: find distance between two iterators.
difference_type operator-(const_iterator_t< reverse_t > const &i) const
The - operator: find distance between two iterators.
bool operator==(const_iterator_t< reverse_t > const &i) const
Comparison with const iterator.
iterator_t()
The default constructor.
iterator_t< reverse_t > & operator=(iterator_t< reverse_t > const &i)
We can assign one output iterator from another.
iterator_t< reverse_t > & operator--()
The prefix – operator.
iterator_t< reverse_t > operator+(difference_type const n) const
The + operator.
This class handles vector_complex_long_double objects as shared handles.
int fprintf(FILE *stream, char const *format) const
C++ version of gsl_vector_complex_long_double_fprintf().
reference const const_reference
A container must have a constant reference type.
vector_complex_long_double(vector_complex_long_double &&v)
Move constructor.
complex_long_double get(size_t const i) const
C++ version of gsl_vector_complex_long_double_get().
bool unique() const
Find if this is the only object sharing the gsl_vector_complex_long_double.
complex_long_double_ref reference
A container must have a reference type.
complex_long_double_ref operator[](size_t const n)
Get element at position n by reference ([] operator).
complex_long_double value_type
A container must have a value_type.
vector_complex_long_double(std::initializer_list< std::complex< long double > > initializer_list)
Could construct from a std::initializer_list in C++11.
int reverse()
C++ version of gsl_vector_complex_long_double_reverse().
int memcpy(vector_complex_long_double const &src)
C++ version of gsl_vector_complex_long_double_memcpy().
complex_long_double_ptr ptr(size_t const i)
C++ version of gsl_vector_complex_long_double_ptr().
gsl::vector_long_double const real() const
Another C++ version of gsl_vector_complex_const_real().
int ispos() const
C++ version of gsl_vector_complex_long_double_ispos().
size_type max_size() const
The max size (number of elements) of the vector_complex_long_double.
const_iterator_t< false > const_iterator
The const_iterator type.
void set_zero()
C++ version of gsl_vector_complex_long_double_set_zero().
int mul(vector_complex_long_double const &b)
C++ version of gsl_vector_complex_long_double_mul().
static vector_complex_long_double const const_view_array(ARRAY const &v, size_t n=0)
C++ version of gsl_vector_complex_long_double _const_view_array().
complex_long_double_ptr pointer
A container must have a pointer type.
complex_long_double_ptr const const_pointer
A container must have a constant pointer type.
const_iterator begin() const
Get iterator pointing to first vector_complex_long_double element.
bool operator>=(vector_complex_long_double const &v) const
A container needs to define an ordering for sorting.
vector_complex_long_double & operator=(vector_complex_long_double &&v)
Move operator.
static vector_complex_long_double alloc_col_from_matrix(matrix_complex_long_double &m, size_t const j)
C++ version of gsl_vector_complex_long_double_alloc_col_from_matrix().
int scale(complex_long_double const x)
C++ version of gsl_vector_complex_long_double_scale().
int div(vector_complex_long_double const &b)
C++ version of gsl_vector_complex_long_double_div().
static vector_complex_long_double const const_view_array(long double const *v, size_t n)
C++ version of gsl_vector_complex_long_double _const_view_array().
vector_complex_long_double(vector_complex_long_double &v, size_t const offset, size_t const n, size_t const stride=1)
C++ version of gsl_vector_complex_long_double_alloc_from_vector().
int isneg() const
C++ version of gsl_vector_complex_long_double_isneg().
int swap_elements(size_t const i, size_t const j)
C++ version of gsl_vector_complex_long_double_swap_elements().
int sub(vector_complex_long_double const &b)
C++ version of gsl_vector_complex_long_double_sub().
vector_complex_long_double const const_subvector(size_t i, size_t n) const
C++ version of gsl_vector_complex_long_double_const_subvector().
bool operator!=(vector_complex_long_double const &v) const
Two vector_complex_long_double objects are different equal if their elements are not identical.
vector_complex_long_double(block_complex_long_double &b, size_t const offset, size_t const n, size_t const stride=1)
C++ version of gsl_vector_complex_long_double_alloc_from_block().
int set_basis(size_t i)
C++ version of gsl_vector_complex_long_double_set_basis().
vector_complex_long_double(size_t const n)
The default constructor creates a new vector_complex_long_double with n elements.
const_iterator::difference_type difference_type
A container must have a difference_type.
reverse_iterator rend()
Get iterator pointing beyond last vector_complex_long_double element.
gsl_vector_complex_long_double const * get() const
Get the gsl_vector_complex_long_double.
gsl::vector_long_double real()
C++ version of gsl_vector_complex_real().
vector_complex_long_double const const_subvector_with_stride(size_t i, size_t stride, size_t n) const
C++ version of gsl_vector_complex_long_double_const_subvector_with_stride().
iterator begin()
Get iterator pointing to first vector_complex_long_double element.
iterator_t< true > reverse_iterator
The reverse_iterator type.
vector_complex_long_double & operator=(vector_complex_long_double const &v)
The assignment operator.
const_iterator end() const
Get iterator pointing beyond last vector_complex_long_double element.
complex_long_double_ref const operator[](size_t const n) const
Get element at position n by reference ([] operator).
long double * data()
Give access to the data block.
void swap(vector_complex_long_double &v)
Swap two vector_complex_long_double objects.
static vector_complex_long_double view_array(ARRAY &v, size_t n=0)
C++ version of gsl_vector_complex_long_double_view_array().
bool operator>(vector_complex_long_double const &v) const
A container needs to define an ordering for sorting.
int fwrite(FILE *stream) const
C++ version of gsl_vector_complex_long_double_fwrite().
static vector_complex_long_double view_array_with_stride(long double *base, size_t stride, size_t n)
C++ version of gsl_vector_complex_long_double_view_array_with_stride().
vector_complex_long_double()
The default constructor is only really useful for assigning to.
int isnull() const
C++ version of gsl_vector_complex_long_double_isnull().
size_t use_count() const
Find how many vector_complex_long_double objects share this pointer.
static vector_complex_long_double const const_view_array_with_stride(ARRAY const &base, size_t stride, size_t n=0)
C++ version of gsl_vector_complex_long_double_const_view_array_with_stride().
vector_complex_long_double subvector(size_t i, size_t n)
C++ version of gsl_vector_complex_long_double_subvector().
reverse_iterator rbegin()
Get iterator pointing to first vector_complex_long_double element.
void reset()
Stop sharing ownership of the shared pointer.
const_iterator_t< true > const_reverse_iterator
The const_reverse_t type.
vector_complex_long_double(vector_complex_long_double const &v)
The copy constructor.
gsl::vector_long_double imag()
C++ version of gsl_vector_complex_imag().
gsl::vector_long_double const const_real() const
C++ version of gsl_vector_complex_const_real().
bool operator<(vector_complex_long_double const &v) const
A container needs to define an ordering for sorting.
bool operator<=(vector_complex_long_double const &v) const
A container needs to define an ordering for sorting.
size_t * count
The shared reference count.
int add(vector_complex_long_double const &b)
C++ version of gsl_vector_complex_long_double_add().
int fread(FILE *stream)
C++ version of gsl_vector_complex_long_double_fread().
bool empty() const
Find if the vector_complex_long_double is empty.
static vector_complex_long_double alloc_row_from_matrix(matrix_complex_long_double &m, size_t const i)
C++ version of gsl_vector_complex_long_double_alloc_row_from_matrix().
int add_constant(complex_long_double const x)
C++ version of gsl_vector_complex_long_double_add_constant().
iterator end()
Get iterator pointing beyond last vector_complex_long_double element.
int fscanf(FILE *stream)
C++ version of gsl_vector_complex_long_double_fscanf().
bool owns_data
Used to allow a vector that does not own its data.
int axpby(complex_long_double const alpha, vector_complex_long_double const &x, complex_long_double const beta)
C++ version of gsl_vector_complex_long_double_axpby().
const_reverse_iterator rend() const
Get iterator pointing beyond last vector_complex_long_double element.
complex_long_double_ptr const const_ptr(size_t const i)
C++ version of gsl_vector_complex_long_double_const_ptr().
gsl_vector_complex_long_double * get()
Get the gsl_vector_complex_long_double.
vector_complex_long_double subvector_with_stride(size_t i, size_t stride, size_t n)
C++ version of gsl_vector_complex_long_double_subvector_with_stride().
vector_complex_long_double clone() const
The clone function.
size_type size() const
The size (number of elements) of the vector_complex_long_double.
gsl::vector_long_double const imag() const
Another C++ version of gsl_vector_complex_const_imag().
gsl_vector_complex_long_double * ccgsl_pointer
The shared pointer.
size_t size_type
A container must have a size_type.
int isnonneg() const
C++ version of gsl_vector_complex_long_double_isnonneg().
~vector_complex_long_double()
The destructor only deletes the pointers if count reaches zero.
const_reverse_iterator rbegin() const
Get iterator pointing to first vector_complex_long_double element.
gsl::vector_long_double const const_imag() const
C++ version of gsl_vector_complex_const_imag().
iterator_t< false > iterator
The iterator type.
long double const * data() const
Give access to the data block.
void wrap_gsl_vector_complex_long_double_without_ownership(gsl_vector_complex_long_double *v)
This function is intended mainly for internal use.
static vector_complex_long_double calloc(size_t const n)
C++ version of gsl_vector_complex_long_double_calloc().
void set_all(complex_long_double x)
C++ version of gsl_vector_complex_long_double_set_all().
bool operator==(vector_complex_long_double const &v) const
Two vector_complex_long_double objects are identically equal if their elements are identical.
static vector_complex_long_double const const_view_array_with_stride(long double const *base, size_t stride, size_t n)
C++ version of gsl_vector_complex_long_double_const_view_array_with_stride().
void set(size_t const i, complex_long_double x)
C++ version of gsl_vector_complex_long_double_set().
static vector_complex_long_double view_array(long double *v, size_t n)
C++ version of gsl_vector_complex_long_double_view_array().
static vector_complex_long_double view_array_with_stride(ARRAY &base, size_t stride, size_t n=0)
C++ version of gsl_vector_complex_long_double_view_array_with_stride().
This class handles vector_long_double objects as shared handles.
static vector_long_double view_array_with_stride(long double *base, size_t stride, size_t n)
C++ version of gsl_vector_long_double_view_array_with_stride().
static vector_long_double const const_view_array_with_stride(long double const *base, size_t stride, size_t n)
C++ version of gsl_vector_long_double_const_view_array_with_stride().
int min(movstat::end_t const endtype, vector const &x, vector &y, workspace &w)
C++ version of gsl_movstat_min().
double beta(rng const &r, double const a, double const b)
C++ version of gsl_ran_beta().
size_t n(workspace const &w)
C++ version of gsl_rstat_n().
double b(int order, double qq)
C++ version of gsl_sf_mathieu_b().
gsl_sf_result result
Typedef for gsl_sf_result.
The gsl package creates an interface to the GNU Scientific Library for C++.