29 void label(
const char*);
35 inline std::vector<double>&
vec() {
43 inline size_t size()
const {
48 if (
n >
vec_.size()) {
54 inline void resize(
size_t n,
double fill_value) {
55 if (
n >
vec_.size()) {
58 vec_.resize(
n, fill_value);
65 inline auto begin() -> std::vector<double>::iterator {
69 inline auto end() -> std::vector<double>::iterator {
100 template <
class InputIterator>
101 double var(InputIterator
begin, InputIterator end) {
102 const size_t size = end -
begin;
103 const double sum = std::accumulate(
begin, end, 0.0);
104 const double m = sum / size;
107 std::for_each(
begin, end, [&](
const double d) { accum += (d - m) * (d - m); });
109 return accum / (size - 1);
112 template <
class InputIterator>
132 #if defined(__cplusplus)
141 #if defined(__cplusplus)
IvocVect(Object *obj=NULL)
double & operator[](size_t index)
std::vector< double > vec_
auto end() -> std::vector< double >::iterator
void resize(size_t n, double fill_value)
std::vector< double > & vec()
auto begin() -> std::vector< double >::iterator
Object ** vector_pobj(Vect *)
int vector_buffer_size(Vect *)
void notify_freed_val_array(double *, size_t)
std::vector< double > ParentVect
char * vector_get_label(Vect *)
double var(InputIterator begin, InputIterator end)
double stdDev(InputIterator begin, InputIterator end)
void vector_resize(Vect *, int)
void vector_delete(Vect *)
void vector_set_label(Vect *, char *)
Vect * vector_new2(Vect *)
Vect * vector_new(int, Object *)
Object ** vector_temp_objvar(Vect *)
int vector_capacity(Vect *)
double * vector_vec(Vect *)
int const size_t const size_t n
#define MUTCONSTRUCT(mkmut)