NEURON
ivocvect.cpp File Reference
#include <../../nrnconf.h>
#include <stdio.h>
#include <stdlib.h>
#include <ivstream.h>
#include <math.h>
#include <errno.h>
#include <numeric>
#include <functional>
#include "fourier.h"
#include <InterViews/resource.h>
#include <OS/list.h>
#include "classreg.h"
#include "gui-redirect.h"
#include "ivocvect.h"
#include "random1.h"
#include <Uniform.h>
#include "oc2iv.h"
#include "parse.hpp"
#include "ocfile.h"

Go to the source code of this file.

Classes

struct  SortIndex
 

Macros

#define M_PI   3.14159265358979323846
 
#define PI   M_PI
 
#define BrainDamaged   0
 
#define FWrite(arg1, arg2, arg3, arg4)   if (fwrite(arg1,arg2,arg3,arg4) != arg3){}
 
#define FRead(arg1, arg2, arg3, arg4)   if (fread(arg1,arg2,arg3,arg4) != arg3) {}
 
#define BYTEHEADER   int _II__; char *_IN__; char _OUT__[16]; int BYTESWAP_FLAG=0;
 
#define BYTESWAP(_X__, _TYPE__)
 
#define MAX_FIT_PARAMS   20
 
#define TWO_BYTE_HIGH   65535.
 
#define ONE_BYTE_HIGH   255.
 
#define ONE_BYTE_HALF   128.
 
#define EPSILON   1e-9
 
#define PUBLIC_TYPE   1
 
#define SIMPLEX_MAXN   1e+300
 
#define SIMPLEX_INORM   1.2
 
#define SIMPLEX_ALPHA   2.0
 
#define SIMPLEX_BETA   1.4
 
#define SIMPLEX_GAMMA   0.7
 
#define SIMPLEX_DELTA   0.3
 
#define BYTES_PER_WORD   8
 
#define BYTES_PER_LONG   4
 
#define STACK_SIZE   (BYTES_PER_WORD * BYTES_PER_LONG)
 
#define PUSH(LOW, HIGH)   do {top->lo = LOW;top++->hi = HIGH;} while (0)
 
#define POP(LOW, HIGH)   do {LOW = (--top)->lo;HIGH = top->hi;} while (0)
 
#define STACK_NOT_EMPTY   (stack < top)
 
#define MAX_THRESH   4
 

Typedefs

typedef int(* doubleComparator) (double, double)
 

Functions

void nrn_exit (int)
 
double hoc_Log (double x)
 
double hoc_Log10 (double x)
 
double hoc_Sqrt (double x)
 
double hoc_scan (FILE *)
 
double hoc_Exp (double)
 
static int narg ()
 
int cmpfcn (double a, double b)
 
void install_vector_method (const char *name, Pfrd_vp)
 
int vector_instance_px (void *, double **)
 
int nrn_mlh_gsort (double *vec, int *base_ptr, int total_elems, doubleComparator cmp)
 
int vector_arg_px (int, double **)
 
void notify_freed_val_array (double *, size_t)
 
static const char ** v_label (void *v)
 
static void same_err (const char *s, Vect *x, Vect *y)
 
static voidv_cons (Object *o)
 
static void v_destruct (void *v)
 
Vectvector_new (int n, Object *o)
 
Vectvector_new0 ()
 
Vectvector_new1 (int n)
 
Vectvector_new2 (Vect *v)
 
void vector_delete (Vect *v)
 
int vector_buffer_size (Vect *v)
 
int vector_capacity (Vect *v)
 
void vector_resize (Vect *v, int n)
 
Object ** vector_temp_objvar (Vect *v)
 
double * vector_vec (Vect *v)
 
Object ** vector_pobj (Vect *v)
 
char * vector_get_label (Vect *v)
 
void vector_set_label (Vect *v, char *s)
 
void vector_append (Vect *v, double x)
 
Vectvector_arg (int i)
 
int is_vector_arg (int i)
 
void nrn_vecsim_add (void *, bool)
 
void nrn_vecsim_remove (void *)
 
static int possible_destvec (int arg, Vect *&dest)
 
static double v_play_remove (void *v)
 
static double v_fwrite (void *v)
 
static double v_fread (void *v)
 
static double v_vwrite (void *v)
 
static double v_vread (void *v)
 
static double v_printf (void *v)
 
static double v_scanf (void *v)
 
static double v_scantil (void *v)
 
static Object ** v_record (void *v)
 
static Object ** v_play (void *v)
 
static Object ** v_plot (void *v)
 
static Object ** v_ploterr (void *v)
 
static Object ** v_line (void *v)
 
static Object ** v_mark (void *v)
 
static Object ** v_histogram (void *v)
 
static Object ** v_hist (void *v)
 
static Object ** v_sumgauss (void *v)
 
static Object ** v_smhist (void *v)
 
static Object ** v_ind (void *v)
 
static double v_size (void *v)
 
static double v_buffer_size (void *v)
 
static Object ** v_resize (void *v)
 
static Object ** v_clear (void *v)
 
static double v_get (void *v)
 
static Object ** v_set (void *v)
 
static Object ** v_append (void *v)
 
static Object ** v_insert (void *v)
 
static Object ** v_remove (void *v)
 
static double v_contains (void *v)
 
static Object ** v_copy (void *v)
 
static Object ** v_at (void *v)
 
static int sort_index_cmp (const void *a, const void *b)
 
static Object ** v_sortindex (void *v)
 
static Object ** v_c (void *v)
 
static Object ** v_cl (void *v)
 
static Object ** v_interpolate (void *v)
 
static int possible_srcvec (Vect *&src, Vect *dest, int &flag)
 
static Object ** v_where (void *v)
 
static double v_indwhere (void *v)
 
static Object ** v_indvwhere (void *v)
 
static Object ** v_fill (void *v)
 
static Object ** v_indgen (void *v)
 
static Object ** v_addrand (void *v)
 
static Object ** v_setrand (void *v)
 
static Object ** v_apply (void *v)
 
static double v_reduce (void *v)
 
static double v_min (void *v)
 
static double v_min_ind (void *v)
 
static double v_max (void *v)
 
static double v_max_ind (void *v)
 
static double v_sum (void *v)
 
static double v_sumsq (void *v)
 
static double v_mean (void *v)
 
static double v_var (void *v)
 
static double v_stdev (void *v)
 
static double v_stderr (void *v)
 
static double v_meansqerr (void *v1)
 
static double v_dot (void *v1)
 
static double v_mag (void *v1)
 
static Object ** v_from_double (void *v)
 
static Object ** v_add (void *v1)
 
static Object ** v_sub (void *v1)
 
static Object ** v_mul (void *v1)
 
static Object ** v_div (void *v1)
 
static double v_scale (void *v1)
 
static double v_eq (void *v1)
 
static double eval (double *p, int n, Vect *x, Vect *y, char *fcn)
 
static double eval_error (double *p, int n, Vect *x, Vect *y, char *fcn)
 
static double simplex (double *p, int n, Vect *x, Vect *y, char *fcn)
 
double call_simplex (double *p, int n, Vect *x, Vect *y, char *fcn, int trial)
 
static double v_fit (void *v)
 
static Object ** v_correl (void *v)
 
static Object ** v_convlv (void *v)
 
static Object ** v_spctrm (void *v)
 
static Object ** v_filter (void *v)
 
static Object ** v_fft (void *v)
 
static Object ** v_spikebin (void *v)
 
static Object ** v_rotate (void *v)
 
static Object ** v_deriv (void *v)
 
static Object ** v_integral (void *v)
 
static double v_trigavg (void *v)
 
static Object ** v_medfltr (void *v)
 
static double v_median (void *v)
 
static Object ** v_sort (void *v)
 
static Object ** v_reverse (void *v)
 
static Object ** v_sin (void *v)
 
static Object ** v_log (void *v)
 
static Object ** v_log10 (void *v)
 
static Object ** v_rebin (void *v)
 
static Object ** v_resample (void *v)
 
static Object ** v_psth (void *v)
 
static Object ** v_inf (void *x)
 
static Object ** v_pow (void *v)
 
static Object ** v_sqrt (void *v)
 
static Object ** v_abs (void *v)
 
static Object ** v_floor (void *v)
 
static Object ** v_tanh (void *v)
 
static Object ** v_index (void *v)
 
Object ** v_from_python (void *v)
 
Object ** v_to_python (void *v)
 
Object ** v_as_numpy (void *v)
 
int hoc_araypt (Symbol *, int)
 
int ivoc_vector_size (Object *o)
 
double * ivoc_vector_ptr (Object *o, int index)
 
static void steer_x (void *v)
 
void Vector_reg ()
 
static void SWAP (int *A, int *B)
 

Variables

Object **(* nrnpy_gui_helper_ )(const char *name, Object *obj)
 
double(* nrnpy_object_to_double_ )(Object *)
 
static double dmaxint_ = 9007199254740992
 As all parameters are passed from hoc as double, we need to calculate max integer that can fit into double variable. More...
 
Objecthoc_thisobject
 
Symlisthoc_top_level_symlist
 
IvocVect *(* nrnpy_vec_from_python_p_ )(void *)
 
Object **(* nrnpy_vec_to_python_p_ )(void *)
 
Object **(* nrnpy_vec_as_numpy_helper_ )(int, double *)
 
int hoc_return_type_code
 
static const char * nullstr = ""
 
static Symbolsvec_
 
static double splx_evl_
 
static int renew_
 
static Member_func v_members []
 
static Member_ret_obj_func v_retobj_members []
 
static Member_ret_str_func v_retstr_members []
 

Macro Definition Documentation

◆ BrainDamaged

#define BrainDamaged   0

Definition at line 61 of file ivocvect.cpp.

◆ BYTEHEADER

#define BYTEHEADER   int _II__; char *_IN__; char _OUT__[16]; int BYTESWAP_FLAG=0;

Definition at line 98 of file ivocvect.cpp.

◆ BYTES_PER_LONG

#define BYTES_PER_LONG   4

Definition at line 3765 of file ivocvect.cpp.

◆ BYTES_PER_WORD

#define BYTES_PER_WORD   8

Definition at line 3764 of file ivocvect.cpp.

◆ BYTESWAP

#define BYTESWAP (   _X__,
  _TYPE__ 
)
Value:
if (BYTESWAP_FLAG == 1) { \
_IN__ = (char *) &(_X__); \
for (_II__=0;_II__<sizeof(_TYPE__);_II__++) { \
_OUT__[_II__] = _IN__[sizeof(_TYPE__)-_II__-1]; } \
(_X__) = *((_TYPE__ *) &_OUT__); \
}

Definition at line 99 of file ivocvect.cpp.

◆ EPSILON

#define EPSILON   1e-9

Definition at line 147 of file ivocvect.cpp.

◆ FRead

#define FRead (   arg1,
  arg2,
  arg3,
  arg4 
)    if (fread(arg1,arg2,arg3,arg4) != arg3) {}

Definition at line 67 of file ivocvect.cpp.

◆ FWrite

#define FWrite (   arg1,
  arg2,
  arg3,
  arg4 
)    if (fwrite(arg1,arg2,arg3,arg4) != arg3){}

Definition at line 66 of file ivocvect.cpp.

◆ M_PI

#define M_PI   3.14159265358979323846

Definition at line 57 of file ivocvect.cpp.

◆ MAX_FIT_PARAMS

#define MAX_FIT_PARAMS   20

Definition at line 141 of file ivocvect.cpp.

◆ MAX_THRESH

#define MAX_THRESH   4

Definition at line 3776 of file ivocvect.cpp.

◆ ONE_BYTE_HALF

#define ONE_BYTE_HALF   128.

Definition at line 145 of file ivocvect.cpp.

◆ ONE_BYTE_HIGH

#define ONE_BYTE_HIGH   255.

Definition at line 144 of file ivocvect.cpp.

◆ PI

#define PI   M_PI

Definition at line 59 of file ivocvect.cpp.

◆ POP

#define POP (   LOW,
  HIGH 
)    do {LOW = (--top)->lo;HIGH = top->hi;} while (0)

Definition at line 3771 of file ivocvect.cpp.

◆ PUBLIC_TYPE

#define PUBLIC_TYPE   1

◆ PUSH

#define PUSH (   LOW,
  HIGH 
)    do {top->lo = LOW;top++->hi = HIGH;} while (0)

Definition at line 3770 of file ivocvect.cpp.

◆ SIMPLEX_ALPHA

#define SIMPLEX_ALPHA   2.0

Definition at line 2398 of file ivocvect.cpp.

◆ SIMPLEX_BETA

#define SIMPLEX_BETA   1.4

Definition at line 2399 of file ivocvect.cpp.

◆ SIMPLEX_DELTA

#define SIMPLEX_DELTA   0.3

Definition at line 2401 of file ivocvect.cpp.

◆ SIMPLEX_GAMMA

#define SIMPLEX_GAMMA   0.7

Definition at line 2400 of file ivocvect.cpp.

◆ SIMPLEX_INORM

#define SIMPLEX_INORM   1.2

Definition at line 2390 of file ivocvect.cpp.

◆ SIMPLEX_MAXN

#define SIMPLEX_MAXN   1e+300

Definition at line 2389 of file ivocvect.cpp.

◆ STACK_NOT_EMPTY

#define STACK_NOT_EMPTY   (stack < top)

Definition at line 3772 of file ivocvect.cpp.

◆ STACK_SIZE

#define STACK_SIZE   (BYTES_PER_WORD * BYTES_PER_LONG)

Definition at line 3769 of file ivocvect.cpp.

◆ TWO_BYTE_HIGH

#define TWO_BYTE_HIGH   65535.

Definition at line 143 of file ivocvect.cpp.

Typedef Documentation

◆ doubleComparator

typedef int(* doubleComparator) (double, double)

Definition at line 151 of file ivocvect.cpp.

Function Documentation

◆ call_simplex()

double call_simplex ( double *  p,
int  n,
Vect x,
Vect y,
char *  fcn,
int  trial 
)

Definition at line 2633 of file ivocvect.cpp.

◆ cmpfcn()

int cmpfcn ( double  a,
double  b 
)

Definition at line 150 of file ivocvect.cpp.

◆ eval()

static double eval ( double *  p,
int  n,
Vect x,
Vect y,
char *  fcn 
)
static

Definition at line 2415 of file ivocvect.cpp.

◆ eval_error()

static double eval_error ( double *  p,
int  n,
Vect x,
Vect y,
char *  fcn 
)
static

Definition at line 2491 of file ivocvect.cpp.

◆ hoc_araypt()

int hoc_araypt ( Symbol ,
int   
)

◆ hoc_Exp()

double hoc_Exp ( double  )

Definition at line 44 of file math.cpp.

◆ hoc_Log()

double hoc_Log ( double  x)

◆ hoc_Log10()

double hoc_Log10 ( double  x)

◆ hoc_scan()

double hoc_scan ( FILE *  )

Definition at line 363 of file fileio.cpp.

◆ hoc_Sqrt()

double hoc_Sqrt ( double  x)

◆ ivoc_vector_ptr()

double* ivoc_vector_ptr ( Object o,
int  index 
)

Definition at line 3717 of file ivocvect.cpp.

◆ ivoc_vector_size()

int ivoc_vector_size ( Object o)

Definition at line 3712 of file ivocvect.cpp.

◆ narg()

static int narg ( )
static

Definition at line 135 of file ivocvect.cpp.

◆ notify_freed_val_array()

void notify_freed_val_array ( double *  ,
size_t   
)

Definition at line 104 of file ivoc.cpp.

◆ nrn_exit()

void nrn_exit ( int  )

Definition at line 219 of file hoc.cpp.

◆ nrn_mlh_gsort()

int nrn_mlh_gsort ( double *  vec,
int base_ptr,
int  total_elems,
doubleComparator  cmp 
)

Definition at line 3803 of file ivocvect.cpp.

◆ nrn_vecsim_add()

void nrn_vecsim_add ( void ,
bool   
)

Definition at line 18 of file datapath.cpp.

◆ nrn_vecsim_remove()

void nrn_vecsim_remove ( void )

Definition at line 19 of file datapath.cpp.

◆ possible_destvec()

static int possible_destvec ( int  arg,
Vect *&  dest 
)
static

Definition at line 357 of file ivocvect.cpp.

◆ possible_srcvec()

static int possible_srcvec ( Vect *&  src,
Vect dest,
int flag 
)
static

Definition at line 1597 of file ivocvect.cpp.

◆ same_err()

static void same_err ( const char *  s,
Vect x,
Vect y 
)
static

Definition at line 201 of file ivocvect.cpp.

◆ simplex()

static double simplex ( double *  p,
int  n,
Vect x,
Vect y,
char *  fcn 
)
static

Definition at line 2505 of file ivocvect.cpp.

◆ sort_index_cmp()

static int sort_index_cmp ( const void a,
const void b 
)
static

Definition at line 1507 of file ivocvect.cpp.

◆ steer_x()

static void steer_x ( void v)
static

Definition at line 3723 of file ivocvect.cpp.

◆ SWAP()

static void SWAP ( int A,
int B 
)
inlinestatic

Definition at line 3758 of file ivocvect.cpp.

◆ v_abs()

static Object** v_abs ( void v)
static

Definition at line 3454 of file ivocvect.cpp.

◆ v_add()

static Object** v_add ( void v1)
static

Definition at line 2245 of file ivocvect.cpp.

◆ v_addrand()

static Object** v_addrand ( void v)
static

Definition at line 1926 of file ivocvect.cpp.

◆ v_append()

static Object** v_append ( void v)
static

Definition at line 1321 of file ivocvect.cpp.

◆ v_apply()

static Object** v_apply ( void v)
static

Definition at line 1964 of file ivocvect.cpp.

◆ v_as_numpy()

Object** v_as_numpy ( void v)

Definition at line 3568 of file ivocvect.cpp.

◆ v_at()

static Object** v_at ( void v)
static

Definition at line 1485 of file ivocvect.cpp.

◆ v_buffer_size()

static double v_buffer_size ( void v)
static

Definition at line 1279 of file ivocvect.cpp.

◆ v_c()

static Object** v_c ( void v)
static

Definition at line 1540 of file ivocvect.cpp.

◆ v_cl()

static Object** v_cl ( void v)
static

Definition at line 1544 of file ivocvect.cpp.

◆ v_clear()

static Object** v_clear ( void v)
static

Definition at line 1303 of file ivocvect.cpp.

◆ v_cons()

static void* v_cons ( Object o)
static

Definition at line 232 of file ivocvect.cpp.

◆ v_contains()

static double v_contains ( void v)
static

Definition at line 1392 of file ivocvect.cpp.

◆ v_convlv()

static Object** v_convlv ( void v)
static

Definition at line 2785 of file ivocvect.cpp.

◆ v_copy()

static Object** v_copy ( void v)
static

Definition at line 1403 of file ivocvect.cpp.

◆ v_correl()

static Object** v_correl ( void v)
static

Definition at line 2744 of file ivocvect.cpp.

◆ v_deriv()

static Object** v_deriv ( void v)
static

Definition at line 3026 of file ivocvect.cpp.

◆ v_destruct()

static void v_destruct ( void v)
static

Definition at line 254 of file ivocvect.cpp.

◆ v_div()

static Object** v_div ( void v1)
static

Definition at line 2298 of file ivocvect.cpp.

◆ v_dot()

static double v_dot ( void v1)
static

Definition at line 2220 of file ivocvect.cpp.

◆ v_eq()

static double v_eq ( void v1)
static

Definition at line 2339 of file ivocvect.cpp.

◆ v_fft()

static Object** v_fft ( void v)
static

Definition at line 2913 of file ivocvect.cpp.

◆ v_fill()

static Object** v_fill ( void v)
static

Definition at line 1876 of file ivocvect.cpp.

◆ v_filter()

static Object** v_filter ( void v)
static

Definition at line 2866 of file ivocvect.cpp.

◆ v_fit()

static double v_fit ( void v)
static

Definition at line 2655 of file ivocvect.cpp.

◆ v_floor()

static Object** v_floor ( void v)
static

Definition at line 3474 of file ivocvect.cpp.

◆ v_fread()

static double v_fread ( void v)
static

Definition at line 398 of file ivocvect.cpp.

◆ v_from_double()

static Object** v_from_double ( void v)
static

Definition at line 2233 of file ivocvect.cpp.

◆ v_from_python()

Object** v_from_python ( void v)

Definition at line 3553 of file ivocvect.cpp.

◆ v_fwrite()

static double v_fwrite ( void v)
static

Definition at line 372 of file ivocvect.cpp.

◆ v_get()

static double v_get ( void v)
static

Definition at line 1309 of file ivocvect.cpp.

◆ v_hist()

static Object** v_hist ( void v)
static

Definition at line 1111 of file ivocvect.cpp.

◆ v_histogram()

static Object** v_histogram ( void v)
static

Definition at line 1084 of file ivocvect.cpp.

◆ v_ind()

static Object** v_ind ( void v)
static

Definition at line 1253 of file ivocvect.cpp.

◆ v_index()

static Object** v_index ( void v)
static

Definition at line 3514 of file ivocvect.cpp.

◆ v_indgen()

static Object** v_indgen ( void v)
static

Definition at line 1890 of file ivocvect.cpp.

◆ v_indvwhere()

static Object** v_indvwhere ( void v)
static

Definition at line 1786 of file ivocvect.cpp.

◆ v_indwhere()

static double v_indwhere ( void v)
static

Definition at line 1701 of file ivocvect.cpp.

◆ v_inf()

static Object** v_inf ( void x)
static

Definition at line 3346 of file ivocvect.cpp.

◆ v_insert()

static Object** v_insert ( void v)
static

Definition at line 1338 of file ivocvect.cpp.

◆ v_integral()

static Object** v_integral ( void v)
static

Definition at line 3071 of file ivocvect.cpp.

◆ v_interpolate()

static Object** v_interpolate ( void v)
static

Definition at line 1550 of file ivocvect.cpp.

◆ v_label()

static const char** v_label ( void v)
static

Definition at line 190 of file ivocvect.cpp.

◆ v_line()

static Object** v_line ( void v)
static

Definition at line 986 of file ivocvect.cpp.

◆ v_log()

static Object** v_log ( void v)
static

Definition at line 3229 of file ivocvect.cpp.

◆ v_log10()

static Object** v_log10 ( void v)
static

Definition at line 3249 of file ivocvect.cpp.

◆ v_mag()

static double v_mag ( void v1)
static

Definition at line 2227 of file ivocvect.cpp.

◆ v_mark()

static Object** v_mark ( void v)
static

Definition at line 1036 of file ivocvect.cpp.

◆ v_max()

static double v_max ( void v)
static

Definition at line 2050 of file ivocvect.cpp.

◆ v_max_ind()

static double v_max_ind ( void v)
static

Definition at line 2066 of file ivocvect.cpp.

◆ v_mean()

static double v_mean ( void v)
static

Definition at line 2109 of file ivocvect.cpp.

◆ v_meansqerr()

static double v_meansqerr ( void v1)
static

Definition at line 2187 of file ivocvect.cpp.

◆ v_medfltr()

static Object** v_medfltr ( void v)
static

Definition at line 3134 of file ivocvect.cpp.

◆ v_median()

static double v_median ( void v)
static

Definition at line 3171 of file ivocvect.cpp.

◆ v_min()

static double v_min ( void v)
static

Definition at line 2017 of file ivocvect.cpp.

◆ v_min_ind()

static double v_min_ind ( void v)
static

Definition at line 2033 of file ivocvect.cpp.

◆ v_mul()

static Object** v_mul ( void v1)
static

Definition at line 2280 of file ivocvect.cpp.

◆ v_play()

static Object** v_play ( void v)
static

Definition at line 881 of file ivocvect.cpp.

◆ v_play_remove()

static double v_play_remove ( void v)
static

Definition at line 367 of file ivocvect.cpp.

◆ v_plot()

static Object** v_plot ( void v)
static

Definition at line 888 of file ivocvect.cpp.

◆ v_ploterr()

static Object** v_ploterr ( void v)
static

Definition at line 944 of file ivocvect.cpp.

◆ v_pow()

static Object** v_pow ( void v)
static

Definition at line 3385 of file ivocvect.cpp.

◆ v_printf()

static double v_printf ( void v)
static

Definition at line 708 of file ivocvect.cpp.

◆ v_psth()

static Object** v_psth ( void v)
static

Definition at line 3315 of file ivocvect.cpp.

◆ v_rebin()

static Object** v_rebin ( void v)
static

Definition at line 3269 of file ivocvect.cpp.

◆ v_record()

static Object** v_record ( void v)
static

Definition at line 872 of file ivocvect.cpp.

◆ v_reduce()

static double v_reduce ( void v)
static

Definition at line 1992 of file ivocvect.cpp.

◆ v_remove()

static Object** v_remove ( void v)
static

Definition at line 1375 of file ivocvect.cpp.

◆ v_resample()

static Object** v_resample ( void v)
static

Definition at line 3295 of file ivocvect.cpp.

◆ v_resize()

static Object** v_resize ( void v)
static

Definition at line 1297 of file ivocvect.cpp.

◆ v_reverse()

static Object** v_reverse ( void v)
static

Definition at line 3203 of file ivocvect.cpp.

◆ v_rotate()

static Object** v_rotate ( void v)
static

Definition at line 2985 of file ivocvect.cpp.

◆ v_scale()

static double v_scale ( void v1)
static

Definition at line 2315 of file ivocvect.cpp.

◆ v_scanf()

static double v_scanf ( void v)
static

Definition at line 755 of file ivocvect.cpp.

◆ v_scantil()

static double v_scantil ( void v)
static

Definition at line 818 of file ivocvect.cpp.

◆ v_set()

static Object** v_set ( void v)
static

Definition at line 1314 of file ivocvect.cpp.

◆ v_setrand()

static Object** v_setrand ( void v)
static

Definition at line 1943 of file ivocvect.cpp.

◆ v_sin()

static Object** v_sin ( void v)
static

Definition at line 3211 of file ivocvect.cpp.

◆ v_size()

static double v_size ( void v)
static

Definition at line 1273 of file ivocvect.cpp.

◆ v_smhist()

static Object** v_smhist ( void v)
static

Definition at line 1177 of file ivocvect.cpp.

◆ v_sort()

static Object** v_sort ( void v)
static

Definition at line 3196 of file ivocvect.cpp.

◆ v_sortindex()

static Object** v_sortindex ( void v)
static

Definition at line 1515 of file ivocvect.cpp.

◆ v_spctrm()

static Object** v_spctrm ( void v)
static

Definition at line 2834 of file ivocvect.cpp.

◆ v_spikebin()

static Object** v_spikebin ( void v)
static

Definition at line 2952 of file ivocvect.cpp.

◆ v_sqrt()

static Object** v_sqrt ( void v)
static

Definition at line 3434 of file ivocvect.cpp.

◆ v_stderr()

static double v_stderr ( void v)
static

Definition at line 2168 of file ivocvect.cpp.

◆ v_stdev()

static double v_stdev ( void v)
static

Definition at line 2149 of file ivocvect.cpp.

◆ v_sub()

static Object** v_sub ( void v1)
static

Definition at line 2263 of file ivocvect.cpp.

◆ v_sum()

static double v_sum ( void v)
static

Definition at line 2083 of file ivocvect.cpp.

◆ v_sumgauss()

static Object** v_sumgauss ( void v)
static

Definition at line 1139 of file ivocvect.cpp.

◆ v_sumsq()

static double v_sumsq ( void v)
static

Definition at line 2096 of file ivocvect.cpp.

◆ v_tanh()

static Object** v_tanh ( void v)
static

Definition at line 3494 of file ivocvect.cpp.

◆ v_to_python()

Object** v_to_python ( void v)

Definition at line 3561 of file ivocvect.cpp.

◆ v_trigavg()

static double v_trigavg ( void v)
static

Definition at line 3097 of file ivocvect.cpp.

◆ v_var()

static double v_var ( void v)
static

Definition at line 2130 of file ivocvect.cpp.

◆ v_vread()

static double v_vread ( void v)
static

Definition at line 597 of file ivocvect.cpp.

◆ v_vwrite()

static double v_vwrite ( void v)
static

Definition at line 475 of file ivocvect.cpp.

◆ v_where()

static Object** v_where ( void v)
static

Definition at line 1609 of file ivocvect.cpp.

◆ vector_append()

void vector_append ( Vect v,
double  x 
)

Definition at line 275 of file ivocvect.cpp.

◆ vector_buffer_size()

int vector_buffer_size ( Vect v)

Definition at line 267 of file ivocvect.cpp.

◆ vector_capacity()

int vector_capacity ( Vect v)

Definition at line 268 of file ivocvect.cpp.

◆ vector_delete()

void vector_delete ( Vect v)

Definition at line 266 of file ivocvect.cpp.

◆ vector_get_label()

char* vector_get_label ( Vect v)

Definition at line 273 of file ivocvect.cpp.

◆ vector_new2()

Vect* vector_new2 ( Vect v)

Definition at line 265 of file ivocvect.cpp.

◆ vector_pobj()

Object** vector_pobj ( Vect v)

Definition at line 272 of file ivocvect.cpp.

◆ Vector_reg()

void Vector_reg ( )

Definition at line 3733 of file ivocvect.cpp.

◆ vector_resize()

void vector_resize ( Vect v,
int  n 
)

Definition at line 269 of file ivocvect.cpp.

◆ vector_set_label()

void vector_set_label ( Vect v,
char *  s 
)

Definition at line 274 of file ivocvect.cpp.

◆ vector_temp_objvar()

Object** vector_temp_objvar ( Vect v)

Definition at line 270 of file ivocvect.cpp.

◆ vector_vec()

double* vector_vec ( Vect v)

Definition at line 271 of file ivocvect.cpp.

Variable Documentation

◆ dmaxint_

double dmaxint_ = 9007199254740992
static

As all parameters are passed from hoc as double, we need to calculate max integer that can fit into double variable.

With IEEE 64-bit double has 52 bits of mantissa, so it's 2^53. calculating it with approach while (dbl + 1 != dbl) dbl++; has issues with SSE and other 32 bits platform. So we are using direct value here.

The maximum mantissa 0xFFFFFFFFFFFFF which is 52 bits all 1. In Python it's:

(2.**53).hex()

'0x1.0000000000000p+53'

(2.**53)

9007199254740992.0

See https://stackoverflow.com/questions/1848700/biggest-integer-that-can-be-stored-in-a-double

Definition at line 89 of file ivocvect.cpp.

◆ hoc_return_type_code

int hoc_return_type_code

Definition at line 41 of file code.cpp.

◆ hoc_thisobject

Object* hoc_thisobject

Definition at line 132 of file hoc_oop.cpp.

◆ hoc_top_level_symlist

Symlist* hoc_top_level_symlist

Definition at line 41 of file symbol.cpp.

◆ nrnpy_gui_helper_

Object**(* nrnpy_gui_helper_) (const char *name, Object *obj)

Definition at line 13 of file xmenu.cpp.

◆ nrnpy_object_to_double_

double(* nrnpy_object_to_double_) (Object *)

Definition at line 14 of file xmenu.cpp.

◆ nrnpy_vec_as_numpy_helper_

Object**(* nrnpy_vec_as_numpy_helper_) (int, double *)

Definition at line 125 of file ivocvect.cpp.

◆ nrnpy_vec_from_python_p_

IvocVect*(* nrnpy_vec_from_python_p_) (void *)

Definition at line 123 of file ivocvect.cpp.

◆ nrnpy_vec_to_python_p_

Object**(* nrnpy_vec_to_python_p_) (void *)

Definition at line 124 of file ivocvect.cpp.

◆ nullstr

const char* nullstr = ""
static

Definition at line 188 of file ivocvect.cpp.

◆ renew_

int renew_
static

Definition at line 2411 of file ivocvect.cpp.

◆ splx_evl_

double splx_evl_
static

Definition at line 2410 of file ivocvect.cpp.

◆ svec_

Symbol* svec_
static

Definition at line 258 of file ivocvect.cpp.

◆ v_members

Member_func v_members[]
static

Definition at line 3582 of file ivocvect.cpp.

◆ v_retobj_members

Member_ret_obj_func v_retobj_members[]
static

Definition at line 3626 of file ivocvect.cpp.

◆ v_retstr_members

Member_ret_str_func v_retstr_members[]
static
Initial value:
= {
"label", v_label,
0,0
}
static const char ** v_label(void *v)
Definition: ivocvect.cpp:190

Definition at line 3704 of file ivocvect.cpp.