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)
 
#define FRead(arg1, arg2, arg3, arg4)
 
#define BYTEHEADER
 
#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)
 
#define POP(LOW, HIGH)
 
#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
Value:
int _II__; \
char* _IN__; \
char _OUT__[16]; \
int BYTESWAP_FLAG = 0;

Definition at line 108 of file ivocvect.cpp.

◆ BYTES_PER_LONG

#define BYTES_PER_LONG   4

Definition at line 3990 of file ivocvect.cpp.

◆ BYTES_PER_WORD

#define BYTES_PER_WORD   8

Definition at line 3989 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 113 of file ivocvect.cpp.

◆ EPSILON

#define EPSILON   1e-9

Definition at line 163 of file ivocvect.cpp.

◆ FRead

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

Definition at line 75 of file ivocvect.cpp.

◆ FWrite

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

Definition at line 72 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 157 of file ivocvect.cpp.

◆ MAX_THRESH

#define MAX_THRESH   4

Definition at line 4009 of file ivocvect.cpp.

◆ ONE_BYTE_HALF

#define ONE_BYTE_HALF   128.

Definition at line 161 of file ivocvect.cpp.

◆ ONE_BYTE_HIGH

#define ONE_BYTE_HIGH   255.

Definition at line 160 of file ivocvect.cpp.

◆ PI

#define PI   M_PI

Definition at line 59 of file ivocvect.cpp.

◆ POP

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

Definition at line 4000 of file ivocvect.cpp.

◆ PUBLIC_TYPE

#define PUBLIC_TYPE   1

◆ PUSH

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

Definition at line 3995 of file ivocvect.cpp.

◆ SIMPLEX_ALPHA

#define SIMPLEX_ALPHA   2.0

Definition at line 2464 of file ivocvect.cpp.

◆ SIMPLEX_BETA

#define SIMPLEX_BETA   1.4

Definition at line 2465 of file ivocvect.cpp.

◆ SIMPLEX_DELTA

#define SIMPLEX_DELTA   0.3

Definition at line 2467 of file ivocvect.cpp.

◆ SIMPLEX_GAMMA

#define SIMPLEX_GAMMA   0.7

Definition at line 2466 of file ivocvect.cpp.

◆ SIMPLEX_INORM

#define SIMPLEX_INORM   1.2

Definition at line 2456 of file ivocvect.cpp.

◆ SIMPLEX_MAXN

#define SIMPLEX_MAXN   1e+300

Definition at line 2455 of file ivocvect.cpp.

◆ STACK_NOT_EMPTY

#define STACK_NOT_EMPTY   (stack < top)

Definition at line 4005 of file ivocvect.cpp.

◆ STACK_SIZE

#define STACK_SIZE   (BYTES_PER_WORD * BYTES_PER_LONG)

Definition at line 3994 of file ivocvect.cpp.

◆ TWO_BYTE_HIGH

#define TWO_BYTE_HIGH   65535.

Definition at line 159 of file ivocvect.cpp.

Typedef Documentation

◆ doubleComparator

typedef int(* doubleComparator) (double, double)

Definition at line 169 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 2712 of file ivocvect.cpp.

◆ cmpfcn()

int cmpfcn ( double  a,
double  b 
)

Definition at line 166 of file ivocvect.cpp.

◆ eval()

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

Definition at line 2480 of file ivocvect.cpp.

◆ eval_error()

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

Definition at line 2559 of file ivocvect.cpp.

◆ hoc_araypt()

int hoc_araypt ( Symbol ,
int   
)

◆ hoc_Exp()

double hoc_Exp ( double  x)

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 *  fi)

Definition at line 339 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 3941 of file ivocvect.cpp.

◆ ivoc_vector_size()

int ivoc_vector_size ( Object o)

Definition at line 3936 of file ivocvect.cpp.

◆ narg()

static int narg ( )
static

Definition at line 150 of file ivocvect.cpp.

◆ notify_freed_val_array()

void notify_freed_val_array ( double *  p,
size_t  size 
)

Definition at line 101 of file ivoc.cpp.

◆ nrn_exit()

void nrn_exit ( int  i)

Definition at line 219 of file hoc.cpp.

◆ nrn_vecsim_add()

void nrn_vecsim_add ( void v,
bool  record 
)

Definition at line 18 of file datapath.cpp.

◆ nrn_vecsim_remove()

void nrn_vecsim_remove ( void v)

Definition at line 21 of file datapath.cpp.

◆ possible_destvec()

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

Definition at line 422 of file ivocvect.cpp.

◆ possible_srcvec()

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

Definition at line 1689 of file ivocvect.cpp.

◆ same_err()

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

Definition at line 238 of file ivocvect.cpp.

◆ simplex()

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

Definition at line 2576 of file ivocvect.cpp.

◆ sort_index_cmp()

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

Definition at line 1596 of file ivocvect.cpp.

◆ steer_x()

static void steer_x ( void v)
static

Definition at line 3947 of file ivocvect.cpp.

◆ SWAP()

static void SWAP ( int *  A,
int *  B 
)
inlinestatic

Definition at line 3982 of file ivocvect.cpp.

◆ v_abs()

static Object** v_abs ( void v)
static

Definition at line 3585 of file ivocvect.cpp.

◆ v_add()

static Object** v_add ( void v1)
static

Definition at line 2317 of file ivocvect.cpp.

◆ v_addrand()

static Object** v_addrand ( void v)
static

Definition at line 2015 of file ivocvect.cpp.

◆ v_append()

static Object** v_append ( void v)
static

Definition at line 1407 of file ivocvect.cpp.

◆ v_apply()

static Object** v_apply ( void v)
static

Definition at line 2050 of file ivocvect.cpp.

◆ v_as_numpy()

Object** v_as_numpy ( void v)

Definition at line 3699 of file ivocvect.cpp.

◆ v_at()

static Object** v_at ( void v)
static

Definition at line 1572 of file ivocvect.cpp.

◆ v_buffer_size()

static double v_buffer_size ( void v)
static

Definition at line 1365 of file ivocvect.cpp.

◆ v_c()

static Object** v_c ( void v)
static

Definition at line 1632 of file ivocvect.cpp.

◆ v_cl()

static Object** v_cl ( void v)
static

Definition at line 1636 of file ivocvect.cpp.

◆ v_clear()

static Object** v_clear ( void v)
static

Definition at line 1389 of file ivocvect.cpp.

◆ v_cons()

static void* v_cons ( Object o)
static

Definition at line 270 of file ivocvect.cpp.

◆ v_contains()

static double v_contains ( void v)
static

Definition at line 1478 of file ivocvect.cpp.

◆ v_convlv()

static Object** v_convlv ( void v)
static

Definition at line 2871 of file ivocvect.cpp.

◆ v_copy()

static Object** v_copy ( void v)
static

Definition at line 1490 of file ivocvect.cpp.

◆ v_correl()

static Object** v_correl ( void v)
static

Definition at line 2825 of file ivocvect.cpp.

◆ v_deriv()

static Object** v_deriv ( void v)
static

Definition at line 3148 of file ivocvect.cpp.

◆ v_destruct()

static void v_destruct ( void v)
static

Definition at line 293 of file ivocvect.cpp.

◆ v_div()

static Object** v_div ( void v1)
static

Definition at line 2367 of file ivocvect.cpp.

◆ v_dot()

static double v_dot ( void v1)
static

Definition at line 2294 of file ivocvect.cpp.

◆ v_eq()

static double v_eq ( void v1)
static

Definition at line 2406 of file ivocvect.cpp.

◆ v_fft()

static Object** v_fft ( void v)
static

Definition at line 3018 of file ivocvect.cpp.

◆ v_fill()

static Object** v_fill ( void v)
static

Definition at line 1966 of file ivocvect.cpp.

◆ v_filter()

static Object** v_filter ( void v)
static

Definition at line 2966 of file ivocvect.cpp.

◆ v_fit()

static double v_fit ( void v)
static

Definition at line 2735 of file ivocvect.cpp.

◆ v_floor()

static Object** v_floor ( void v)
static

Definition at line 3605 of file ivocvect.cpp.

◆ v_fread()

static double v_fread ( void v)
static

Definition at line 463 of file ivocvect.cpp.

◆ v_from_double()

static Object** v_from_double ( void v)
static

Definition at line 2305 of file ivocvect.cpp.

◆ v_from_python()

Object** v_from_python ( void v)

Definition at line 3684 of file ivocvect.cpp.

◆ v_fwrite()

static double v_fwrite ( void v)
static

Definition at line 437 of file ivocvect.cpp.

◆ v_get()

static double v_get ( void v)
static

Definition at line 1395 of file ivocvect.cpp.

◆ v_hist()

static Object** v_hist ( void v)
static

Definition at line 1189 of file ivocvect.cpp.

◆ v_histogram()

static Object** v_histogram ( void v)
static

Definition at line 1162 of file ivocvect.cpp.

◆ v_ind()

static Object** v_ind ( void v)
static

Definition at line 1338 of file ivocvect.cpp.

◆ v_index()

static Object** v_index ( void v)
static

Definition at line 3645 of file ivocvect.cpp.

◆ v_indgen()

static Object** v_indgen ( void v)
static

Definition at line 1978 of file ivocvect.cpp.

◆ v_indvwhere()

static Object** v_indvwhere ( void v)
static

Definition at line 1877 of file ivocvect.cpp.

◆ v_indwhere()

static double v_indwhere ( void v)
static

Definition at line 1793 of file ivocvect.cpp.

◆ v_inf()

static Object** v_inf ( void x)
static

Definition at line 3476 of file ivocvect.cpp.

◆ v_insert()

static Object** v_insert ( void v)
static

Definition at line 1424 of file ivocvect.cpp.

◆ v_integral()

static Object** v_integral ( void v)
static

Definition at line 3195 of file ivocvect.cpp.

◆ v_interpolate()

static Object** v_interpolate ( void v)
static

Definition at line 1642 of file ivocvect.cpp.

◆ v_label()

static const char** v_label ( void v)
static

Definition at line 227 of file ivocvect.cpp.

◆ v_line()

static Object** v_line ( void v)
static

Definition at line 1061 of file ivocvect.cpp.

◆ v_log()

static Object** v_log ( void v)
static

Definition at line 3353 of file ivocvect.cpp.

◆ v_log10()

static Object** v_log10 ( void v)
static

Definition at line 3373 of file ivocvect.cpp.

◆ v_mag()

static double v_mag ( void v1)
static

Definition at line 2300 of file ivocvect.cpp.

◆ v_mark()

static Object** v_mark ( void v)
static

Definition at line 1112 of file ivocvect.cpp.

◆ v_max()

static double v_max ( void v)
static

Definition at line 2133 of file ivocvect.cpp.

◆ v_max_ind()

static double v_max_ind ( void v)
static

Definition at line 2148 of file ivocvect.cpp.

◆ v_mean()

static double v_mean ( void v)
static

Definition at line 2188 of file ivocvect.cpp.

◆ v_meansqerr()

static double v_meansqerr ( void v1)
static

Definition at line 2262 of file ivocvect.cpp.

◆ v_medfltr()

static Object** v_medfltr ( void v)
static

Definition at line 3259 of file ivocvect.cpp.

◆ v_median()

static double v_median ( void v)
static

Definition at line 3298 of file ivocvect.cpp.

◆ v_min()

static double v_min ( void v)
static

Definition at line 2102 of file ivocvect.cpp.

◆ v_min_ind()

static double v_min_ind ( void v)
static

Definition at line 2117 of file ivocvect.cpp.

◆ v_mul()

static Object** v_mul ( void v1)
static

Definition at line 2350 of file ivocvect.cpp.

◆ v_play()

static Object** v_play ( void v)
static

Definition at line 950 of file ivocvect.cpp.

◆ v_play_remove()

static double v_play_remove ( void v)
static

Definition at line 432 of file ivocvect.cpp.

◆ v_plot()

static Object** v_plot ( void v)
static

Definition at line 957 of file ivocvect.cpp.

◆ v_ploterr()

static Object** v_ploterr ( void v)
static

Definition at line 1016 of file ivocvect.cpp.

◆ v_pow()

static Object** v_pow ( void v)
static

Definition at line 3516 of file ivocvect.cpp.

◆ v_printf()

static double v_printf ( void v)
static

Definition at line 772 of file ivocvect.cpp.

◆ v_psth()

static Object** v_psth ( void v)
static

Definition at line 3439 of file ivocvect.cpp.

◆ v_rebin()

static Object** v_rebin ( void v)
static

Definition at line 3393 of file ivocvect.cpp.

◆ v_record()

static Object** v_record ( void v)
static

Definition at line 939 of file ivocvect.cpp.

◆ v_reduce()

static double v_reduce ( void v)
static

Definition at line 2077 of file ivocvect.cpp.

◆ v_remove()

static Object** v_remove ( void v)
static

Definition at line 1461 of file ivocvect.cpp.

◆ v_resample()

static Object** v_resample ( void v)
static

Definition at line 3419 of file ivocvect.cpp.

◆ v_resize()

static Object** v_resize ( void v)
static

Definition at line 1383 of file ivocvect.cpp.

◆ v_reverse()

static Object** v_reverse ( void v)
static

Definition at line 3328 of file ivocvect.cpp.

◆ v_rotate()

static Object** v_rotate ( void v)
static

Definition at line 3096 of file ivocvect.cpp.

◆ v_scale()

static double v_scale ( void v1)
static

Definition at line 2383 of file ivocvect.cpp.

◆ v_scanf()

static double v_scanf ( void v)
static

Definition at line 823 of file ivocvect.cpp.

◆ v_scantil()

static double v_scantil ( void v)
static

Definition at line 887 of file ivocvect.cpp.

◆ v_set()

static Object** v_set ( void v)
static

Definition at line 1400 of file ivocvect.cpp.

◆ v_setrand()

static Object** v_setrand ( void v)
static

Definition at line 2032 of file ivocvect.cpp.

◆ v_sin()

static Object** v_sin ( void v)
static

Definition at line 3335 of file ivocvect.cpp.

◆ v_size()

static double v_size ( void v)
static

Definition at line 1359 of file ivocvect.cpp.

◆ v_smhist()

static Object** v_smhist ( void v)
static

Definition at line 1256 of file ivocvect.cpp.

◆ v_sort()

static Object** v_sort ( void v)
static

Definition at line 3322 of file ivocvect.cpp.

◆ v_sortindex()

static Object** v_sortindex ( void v)
static

Definition at line 1606 of file ivocvect.cpp.

◆ v_spctrm()

static Object** v_spctrm ( void v)
static

Definition at line 2928 of file ivocvect.cpp.

◆ v_spikebin()

static Object** v_spikebin ( void v)
static

Definition at line 3061 of file ivocvect.cpp.

◆ v_sqrt()

static Object** v_sqrt ( void v)
static

Definition at line 3565 of file ivocvect.cpp.

◆ v_stderr()

static double v_stderr ( void v)
static

Definition at line 2244 of file ivocvect.cpp.

◆ v_stdev()

static double v_stdev ( void v)
static

Definition at line 2226 of file ivocvect.cpp.

◆ v_sub()

static Object** v_sub ( void v1)
static

Definition at line 2334 of file ivocvect.cpp.

◆ v_sum()

static double v_sum ( void v)
static

Definition at line 2164 of file ivocvect.cpp.

◆ v_sumgauss()

static Object** v_sumgauss ( void v)
static

Definition at line 1217 of file ivocvect.cpp.

◆ v_sumsq()

static double v_sumsq ( void v)
static

Definition at line 2176 of file ivocvect.cpp.

◆ v_tanh()

static Object** v_tanh ( void v)
static

Definition at line 3625 of file ivocvect.cpp.

◆ v_to_python()

Object** v_to_python ( void v)

Definition at line 3692 of file ivocvect.cpp.

◆ v_trigavg()

static double v_trigavg ( void v)
static

Definition at line 3222 of file ivocvect.cpp.

◆ v_var()

static double v_var ( void v)
static

Definition at line 2208 of file ivocvect.cpp.

◆ v_vread()

static double v_vread ( void v)
static

Definition at line 658 of file ivocvect.cpp.

◆ v_vwrite()

static double v_vwrite ( void v)
static

Definition at line 538 of file ivocvect.cpp.

◆ v_where()

static Object** v_where ( void v)
static

Definition at line 1701 of file ivocvect.cpp.

◆ vector_append()

void vector_append ( Vect v,
double  x 
)

Definition at line 340 of file ivocvect.cpp.

◆ vector_buffer_size()

int vector_buffer_size ( Vect v)

Definition at line 316 of file ivocvect.cpp.

◆ vector_capacity()

int vector_capacity ( Vect v)

Definition at line 319 of file ivocvect.cpp.

◆ vector_delete()

void vector_delete ( Vect v)

Definition at line 313 of file ivocvect.cpp.

◆ vector_get_label()

char* vector_get_label ( Vect v)

Definition at line 334 of file ivocvect.cpp.

◆ vector_new2()

Vect* vector_new2 ( Vect v)

Definition at line 310 of file ivocvect.cpp.

◆ vector_pobj()

Object** vector_pobj ( Vect v)

Definition at line 331 of file ivocvect.cpp.

◆ Vector_reg()

void Vector_reg ( )

Definition at line 3957 of file ivocvect.cpp.

◆ vector_resize()

void vector_resize ( Vect v,
int  n 
)

Definition at line 322 of file ivocvect.cpp.

◆ vector_set_label()

void vector_set_label ( Vect v,
char *  s 
)

Definition at line 337 of file ivocvect.cpp.

◆ vector_temp_objvar()

Object** vector_temp_objvar ( Vect v)

Definition at line 325 of file ivocvect.cpp.

◆ vector_vec()

double* vector_vec ( Vect v)

Definition at line 328 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 99 of file ivocvect.cpp.

◆ hoc_return_type_code

int hoc_return_type_code
extern

Definition at line 42 of file code.cpp.

◆ hoc_thisobject

Object* hoc_thisobject
extern

Definition at line 122 of file hoc_oop.cpp.

◆ hoc_top_level_symlist

Symlist* hoc_top_level_symlist
extern

Definition at line 23 of file symdir.cpp.

◆ nrnpy_gui_helper_

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

Definition at line 13 of file xmenu.cpp.

◆ nrnpy_object_to_double_

double(* nrnpy_object_to_double_) (Object *) ( Object )
extern

Definition at line 14 of file xmenu.cpp.

◆ nrnpy_vec_as_numpy_helper_

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

Definition at line 140 of file ivocvect.cpp.

◆ nrnpy_vec_from_python_p_

IvocVect*(* nrnpy_vec_from_python_p_) (void *) ( void )

Definition at line 138 of file ivocvect.cpp.

◆ nrnpy_vec_to_python_p_

Object**(* nrnpy_vec_to_python_p_) (void *) ( void )

Definition at line 139 of file ivocvect.cpp.

◆ nullstr

const char* nullstr = ""
static

Definition at line 225 of file ivocvect.cpp.

◆ renew_

int renew_
static

Definition at line 2477 of file ivocvect.cpp.

◆ splx_evl_

double splx_evl_
static

Definition at line 2476 of file ivocvect.cpp.

◆ svec_

Symbol* svec_
static

Definition at line 297 of file ivocvect.cpp.

◆ v_members

Member_func v_members[]
static

Definition at line 3710 of file ivocvect.cpp.

◆ v_retobj_members

Member_ret_obj_func v_retobj_members[]
static

Definition at line 3787 of file ivocvect.cpp.

◆ v_retstr_members

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

Definition at line 3928 of file ivocvect.cpp.