NEURON
nvector_nrnthread_ld.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include "shared/nvector_serial.h"
#include "nvector_nrnthread_ld.h"
#include "shared/sundialsmath.h"
#include "shared/sundialstypes.h"
#include "section.h"
#include "nrnmutdec.h"

Go to the source code of this file.

Macros

#define ZERO   RCONST(0.0)
 
#define HALF   RCONST(0.5)
 
#define ONE   RCONST(1.0)
 
#define ONEPT5   RCONST(1.5)
 
#define mydebug(a)
 
#define mydebug2(a, b)
 
#define xpass   x_ = x;
 
#define ypass   y_ = y;
 
#define zpass   z_ = z;
 
#define wpass   w_ = w;
 
#define idpass   id_ = id;
 
#define apass   a_ = a;
 
#define bpass   b_ = b;
 
#define cpass   c_ = c;
 
#define xarg(i)   NV_SUBVEC_NT_LD(x_, i)
 
#define yarg(i)   NV_SUBVEC_NT_LD(y_, i)
 
#define zarg(i)   NV_SUBVEC_NT_LD(z_, i)
 
#define warg(i)   NV_SUBVEC_NT_LD(w_, i)
 
#define idarg(i)   NV_SUBVEC_NT_LD(id_, i)
 
#define aarg   a_
 
#define barg   b_
 
#define carg   c_
 
#define lock   MUTLOCK
 
#define unlock   MUTUNLOCK
 
#define lockadd(arg)
 
#define lockmax(arg)
 
#define lockmin(arg)
 
#define lockfalse
 

Functions

N_Vector N_VNewEmpty_NrnThreadLD (long int length, int nthread, long int *sizes)
 
N_Vector N_VNew_NrnThreadLD (long int length, int nthread, long int *sizes)
 
N_Vector N_VCloneEmpty_NrnThreadLD (N_Vector w)
 
N_Vector N_VMake_NrnThreadLD (long int length, realtype *v_data)
 
N_Vector * N_VNewVectorArray_NrnThreadLD (int count, long int length, int nthread, long int *sizes)
 
N_Vector * N_VNewVectorArrayEmpty_NrnThreadLD (int count, long int length, int nthread, long int *sizes)
 
void N_VDestroyVectorArray_NrnThreadLD (N_Vector *vs, int count)
 
void N_VPrint_NrnThreadLD (N_Vector x)
 
static void pr (N_Vector x)
 
N_Vector N_VClone_NrnThreadLD (N_Vector w)
 
void N_VDestroy_NrnThreadLD (N_Vector v)
 
void N_VSpace_NrnThreadLD (N_Vector v, long int *lrw, long int *liw)
 
realtype * N_VGetArrayPointer_NrnThreadLD (N_Vector v)
 
void N_VSetArrayPointer_NrnThreadLD (realtype *v_data, N_Vector v)
 
static void * vlinearsum (NrnThread *nt)
 
void N_VLinearSum_NrnThreadLD (realtype a, N_Vector x, realtype b, N_Vector y, N_Vector z)
 
static void * vconst (NrnThread *nt)
 
void N_VConst_NrnThreadLD (realtype c, N_Vector z)
 
static void * vprod (NrnThread *nt)
 
void N_VProd_NrnThreadLD (N_Vector x, N_Vector y, N_Vector z)
 
static void * vdiv (NrnThread *nt)
 
void N_VDiv_NrnThreadLD (N_Vector x, N_Vector y, N_Vector z)
 
static void * vscale (NrnThread *nt)
 
void N_VScale_NrnThreadLD (realtype c, N_Vector x, N_Vector z)
 
static void * vabs (NrnThread *nt)
 
void N_VAbs_NrnThreadLD (N_Vector x, N_Vector z)
 
static void * vinv (NrnThread *nt)
 
void N_VInv_NrnThreadLD (N_Vector x, N_Vector z)
 
static void * vaddconst (NrnThread *nt)
 
void N_VAddConst_NrnThreadLD (N_Vector x, realtype b, N_Vector z)
 
static void * vdotprod (NrnThread *nt)
 
realtype N_VDotProd_NrnThreadLD (N_Vector x, N_Vector y)
 
static void * vmaxnorm (NrnThread *nt)
 
realtype N_VMaxNorm_NrnThreadLD (N_Vector x)
 
static realtype vwrmsnorm_help (N_Vector x, N_Vector w)
 
static void * vwrmsnorm (NrnThread *nt)
 
realtype N_VWrmsNorm_NrnThreadLD (N_Vector x, N_Vector w)
 
static realtype vwrmsnormmask_help (N_Vector x, N_Vector w, N_Vector id)
 
static void * vwrmsnormmask (NrnThread *nt)
 
realtype N_VWrmsNormMask_NrnThreadLD (N_Vector x, N_Vector w, N_Vector id)
 
static void * vmin (NrnThread *nt)
 
realtype N_VMin_NrnThreadLD (N_Vector x)
 
static realtype N_VWL2Norm_helper (N_Vector x, N_Vector w)
 
static void * vwl2norm (NrnThread *nt)
 
realtype N_VWL2Norm_NrnThreadLD (N_Vector x, N_Vector w)
 
static void * vl1norm (NrnThread *nt)
 
realtype N_VL1Norm_NrnThreadLD (N_Vector x)
 
static void * v1mask (NrnThread *nt)
 
void N_VOneMask_NrnThreadLD (N_Vector x)
 
static void * vcompare (NrnThread *nt)
 
void N_VCompare_NrnThreadLD (realtype c, N_Vector x, N_Vector z)
 
static void * vinvtest (NrnThread *nt)
 
booleantype N_VInvTest_NrnThreadLD (N_Vector x, N_Vector z)
 
static void * vconstrmask (NrnThread *nt)
 
booleantype N_VConstrMask_NrnThreadLD (N_Vector y, N_Vector x, N_Vector z)
 
static void * vminquotient (NrnThread *nt)
 
realtype N_VMinQuotient_NrnThreadLD (N_Vector x, N_Vector y)
 

Variables

static N_Vector x_
 
static N_Vector y_
 
static N_Vector z_
 
static N_Vector w_
 
static N_Vector id_
 
static realtype a_
 
static realtype b_
 
static realtype c_
 
static realtype retval
 
static realtype retval_comp
 
static booleantype bretval
 

Macro Definition Documentation

◆ aarg

#define aarg   a_

Definition at line 71 of file nvector_nrnthread_ld.cpp.

◆ apass

#define apass   a_ = a;

Definition at line 63 of file nvector_nrnthread_ld.cpp.

◆ barg

#define barg   b_

Definition at line 72 of file nvector_nrnthread_ld.cpp.

◆ bpass

#define bpass   b_ = b;

Definition at line 64 of file nvector_nrnthread_ld.cpp.

◆ carg

#define carg   c_

Definition at line 73 of file nvector_nrnthread_ld.cpp.

◆ cpass

#define cpass   c_ = c;

Definition at line 65 of file nvector_nrnthread_ld.cpp.

◆ HALF

#define HALF   RCONST(0.5)

Definition at line 30 of file nvector_nrnthread_ld.cpp.

◆ idarg

#define idarg (   i)    NV_SUBVEC_NT_LD(id_, i)

Definition at line 70 of file nvector_nrnthread_ld.cpp.

◆ idpass

#define idpass   id_ = id;

Definition at line 62 of file nvector_nrnthread_ld.cpp.

◆ lock

#define lock   MUTLOCK

Definition at line 74 of file nvector_nrnthread_ld.cpp.

◆ lockadd

#define lockadd (   arg)
Value:
lock; \
retval += arg; \
unlock;
#define lock

Definition at line 76 of file nvector_nrnthread_ld.cpp.

◆ lockfalse

#define lockfalse
Value:
lock; \
bretval = FALSE; \
unlock;
#define FALSE
Definition: grids.h:23

Definition at line 92 of file nvector_nrnthread_ld.cpp.

◆ lockmax

#define lockmax (   arg)
Value:
lock; \
if (retval < arg) { \
retval = arg; \
}; \
unlock;
static realtype retval

Definition at line 80 of file nvector_nrnthread_ld.cpp.

◆ lockmin

#define lockmin (   arg)
Value:
lock; \
if (retval > arg) { \
retval = arg; \
}; \
unlock;

Definition at line 86 of file nvector_nrnthread_ld.cpp.

◆ mydebug

#define mydebug (   a)

Definition at line 38 of file nvector_nrnthread_ld.cpp.

◆ mydebug2

#define mydebug2 (   a,
 
)

Definition at line 39 of file nvector_nrnthread_ld.cpp.

◆ ONE

#define ONE   RCONST(1.0)

Definition at line 31 of file nvector_nrnthread_ld.cpp.

◆ ONEPT5

#define ONEPT5   RCONST(1.5)

Definition at line 32 of file nvector_nrnthread_ld.cpp.

◆ unlock

#define unlock   MUTUNLOCK

Definition at line 75 of file nvector_nrnthread_ld.cpp.

◆ warg

#define warg (   i)    NV_SUBVEC_NT_LD(w_, i)

Definition at line 69 of file nvector_nrnthread_ld.cpp.

◆ wpass

#define wpass   w_ = w;

Definition at line 61 of file nvector_nrnthread_ld.cpp.

◆ xarg

#define xarg (   i)    NV_SUBVEC_NT_LD(x_, i)

Definition at line 66 of file nvector_nrnthread_ld.cpp.

◆ xpass

#define xpass   x_ = x;

Definition at line 58 of file nvector_nrnthread_ld.cpp.

◆ yarg

#define yarg (   i)    NV_SUBVEC_NT_LD(y_, i)

Definition at line 67 of file nvector_nrnthread_ld.cpp.

◆ ypass

#define ypass   y_ = y;

Definition at line 59 of file nvector_nrnthread_ld.cpp.

◆ zarg

#define zarg (   i)    NV_SUBVEC_NT_LD(z_, i)

Definition at line 68 of file nvector_nrnthread_ld.cpp.

◆ ZERO

#define ZERO   RCONST(0.0)

Definition at line 29 of file nvector_nrnthread_ld.cpp.

◆ zpass

#define zpass   z_ = z;

Definition at line 60 of file nvector_nrnthread_ld.cpp.

Function Documentation

◆ N_VAbs_NrnThreadLD()

void N_VAbs_NrnThreadLD ( N_Vector  x,
N_Vector  z 
)

Definition at line 540 of file nvector_nrnthread_ld.cpp.

◆ N_VAddConst_NrnThreadLD()

void N_VAddConst_NrnThreadLD ( N_Vector  x,
realtype  b,
N_Vector  z 
)

Definition at line 560 of file nvector_nrnthread_ld.cpp.

◆ N_VClone_NrnThreadLD()

N_Vector N_VClone_NrnThreadLD ( N_Vector  w)

Definition at line 408 of file nvector_nrnthread_ld.cpp.

◆ N_VCloneEmpty_NrnThreadLD()

N_Vector N_VCloneEmpty_NrnThreadLD ( N_Vector  w)

Definition at line 217 of file nvector_nrnthread_ld.cpp.

◆ N_VCompare_NrnThreadLD()

void N_VCompare_NrnThreadLD ( realtype  c,
N_Vector  x,
N_Vector  z 
)

Definition at line 746 of file nvector_nrnthread_ld.cpp.

◆ N_VConst_NrnThreadLD()

void N_VConst_NrnThreadLD ( realtype  c,
N_Vector  z 
)

Definition at line 499 of file nvector_nrnthread_ld.cpp.

◆ N_VConstrMask_NrnThreadLD()

booleantype N_VConstrMask_NrnThreadLD ( N_Vector  y,
N_Vector  x,
N_Vector  z 
)

Definition at line 776 of file nvector_nrnthread_ld.cpp.

◆ N_VDestroy_NrnThreadLD()

void N_VDestroy_NrnThreadLD ( N_Vector  v)

Definition at line 440 of file nvector_nrnthread_ld.cpp.

◆ N_VDestroyVectorArray_NrnThreadLD()

void N_VDestroyVectorArray_NrnThreadLD ( N_Vector *  vs,
int  count 
)

Definition at line 374 of file nvector_nrnthread_ld.cpp.

◆ N_VDiv_NrnThreadLD()

void N_VDiv_NrnThreadLD ( N_Vector  x,
N_Vector  y,
N_Vector  z 
)

Definition at line 519 of file nvector_nrnthread_ld.cpp.

◆ N_VDotProd_NrnThreadLD()

realtype N_VDotProd_NrnThreadLD ( N_Vector  x,
N_Vector  y 
)

Definition at line 572 of file nvector_nrnthread_ld.cpp.

◆ N_VGetArrayPointer_NrnThreadLD()

realtype* N_VGetArrayPointer_NrnThreadLD ( N_Vector  v)

Definition at line 469 of file nvector_nrnthread_ld.cpp.

◆ N_VInv_NrnThreadLD()

void N_VInv_NrnThreadLD ( N_Vector  x,
N_Vector  z 
)

Definition at line 550 of file nvector_nrnthread_ld.cpp.

◆ N_VInvTest_NrnThreadLD()

booleantype N_VInvTest_NrnThreadLD ( N_Vector  x,
N_Vector  z 
)

Definition at line 760 of file nvector_nrnthread_ld.cpp.

◆ N_VL1Norm_NrnThreadLD()

realtype N_VL1Norm_NrnThreadLD ( N_Vector  x)

Definition at line 725 of file nvector_nrnthread_ld.cpp.

◆ N_VLinearSum_NrnThreadLD()

void N_VLinearSum_NrnThreadLD ( realtype  a,
N_Vector  x,
realtype  b,
N_Vector  y,
N_Vector  z 
)

Definition at line 488 of file nvector_nrnthread_ld.cpp.

◆ N_VMake_NrnThreadLD()

N_Vector N_VMake_NrnThreadLD ( long int  length,
realtype *  v_data 
)

Definition at line 298 of file nvector_nrnthread_ld.cpp.

◆ N_VMaxNorm_NrnThreadLD()

realtype N_VMaxNorm_NrnThreadLD ( N_Vector  x)

Definition at line 586 of file nvector_nrnthread_ld.cpp.

◆ N_VMin_NrnThreadLD()

realtype N_VMin_NrnThreadLD ( N_Vector  x)

Definition at line 680 of file nvector_nrnthread_ld.cpp.

◆ N_VMinQuotient_NrnThreadLD()

realtype N_VMinQuotient_NrnThreadLD ( N_Vector  x,
N_Vector  y 
)

Definition at line 790 of file nvector_nrnthread_ld.cpp.

◆ N_VNew_NrnThreadLD()

N_Vector N_VNew_NrnThreadLD ( long int  length,
int  nthread,
long int *  sizes 
)

Definition at line 186 of file nvector_nrnthread_ld.cpp.

◆ N_VNewEmpty_NrnThreadLD()

N_Vector N_VNewEmpty_NrnThreadLD ( long int  length,
int  nthread,
long int *  sizes 
)

Definition at line 107 of file nvector_nrnthread_ld.cpp.

◆ N_VNewVectorArray_NrnThreadLD()

N_Vector* N_VNewVectorArray_NrnThreadLD ( int  count,
long int  length,
int  nthread,
long int *  sizes 
)

Definition at line 319 of file nvector_nrnthread_ld.cpp.

◆ N_VNewVectorArrayEmpty_NrnThreadLD()

N_Vector* N_VNewVectorArrayEmpty_NrnThreadLD ( int  count,
long int  length,
int  nthread,
long int *  sizes 
)

Definition at line 345 of file nvector_nrnthread_ld.cpp.

◆ N_VOneMask_NrnThreadLD()

void N_VOneMask_NrnThreadLD ( N_Vector  x)

Definition at line 737 of file nvector_nrnthread_ld.cpp.

◆ N_VPrint_NrnThreadLD()

void N_VPrint_NrnThreadLD ( N_Vector  x)

Definition at line 387 of file nvector_nrnthread_ld.cpp.

◆ N_VProd_NrnThreadLD()

void N_VProd_NrnThreadLD ( N_Vector  x,
N_Vector  y,
N_Vector  z 
)

Definition at line 509 of file nvector_nrnthread_ld.cpp.

◆ N_VScale_NrnThreadLD()

void N_VScale_NrnThreadLD ( realtype  c,
N_Vector  x,
N_Vector  z 
)

Definition at line 529 of file nvector_nrnthread_ld.cpp.

◆ N_VSetArrayPointer_NrnThreadLD()

void N_VSetArrayPointer_NrnThreadLD ( realtype *  v_data,
N_Vector  v 
)

Definition at line 476 of file nvector_nrnthread_ld.cpp.

◆ N_VSpace_NrnThreadLD()

void N_VSpace_NrnThreadLD ( N_Vector  v,
long int *  lrw,
long int *  liw 
)

Definition at line 460 of file nvector_nrnthread_ld.cpp.

◆ N_VWL2Norm_helper()

static realtype N_VWL2Norm_helper ( N_Vector  x,
N_Vector  w 
)
static

Definition at line 687 of file nvector_nrnthread_ld.cpp.

◆ N_VWL2Norm_NrnThreadLD()

realtype N_VWL2Norm_NrnThreadLD ( N_Vector  x,
N_Vector  w 
)

Definition at line 709 of file nvector_nrnthread_ld.cpp.

◆ N_VWrmsNorm_NrnThreadLD()

realtype N_VWrmsNorm_NrnThreadLD ( N_Vector  x,
N_Vector  w 
)

Definition at line 628 of file nvector_nrnthread_ld.cpp.

◆ N_VWrmsNormMask_NrnThreadLD()

realtype N_VWrmsNormMask_NrnThreadLD ( N_Vector  x,
N_Vector  w,
N_Vector  id 
)

Definition at line 662 of file nvector_nrnthread_ld.cpp.

◆ pr()

static void pr ( N_Vector  x)
static

Definition at line 399 of file nvector_nrnthread_ld.cpp.

◆ v1mask()

static void* v1mask ( NrnThread nt)
static

Definition at line 732 of file nvector_nrnthread_ld.cpp.

◆ vabs()

static void* vabs ( NrnThread nt)
static

Definition at line 535 of file nvector_nrnthread_ld.cpp.

◆ vaddconst()

static void* vaddconst ( NrnThread nt)
static

Definition at line 555 of file nvector_nrnthread_ld.cpp.

◆ vcompare()

static void* vcompare ( NrnThread nt)
static

Definition at line 741 of file nvector_nrnthread_ld.cpp.

◆ vconst()

static void* vconst ( NrnThread nt)
static

Definition at line 494 of file nvector_nrnthread_ld.cpp.

◆ vconstrmask()

static void* vconstrmask ( NrnThread nt)
static

Definition at line 767 of file nvector_nrnthread_ld.cpp.

◆ vdiv()

static void* vdiv ( NrnThread nt)
static

Definition at line 514 of file nvector_nrnthread_ld.cpp.

◆ vdotprod()

static void* vdotprod ( NrnThread nt)
static

Definition at line 565 of file nvector_nrnthread_ld.cpp.

◆ vinv()

static void* vinv ( NrnThread nt)
static

Definition at line 545 of file nvector_nrnthread_ld.cpp.

◆ vinvtest()

static void* vinvtest ( NrnThread nt)
static

Definition at line 751 of file nvector_nrnthread_ld.cpp.

◆ vl1norm()

static void* vl1norm ( NrnThread nt)
static

Definition at line 718 of file nvector_nrnthread_ld.cpp.

◆ vlinearsum()

static void* vlinearsum ( NrnThread nt)
static

Definition at line 483 of file nvector_nrnthread_ld.cpp.

◆ vmaxnorm()

static void* vmaxnorm ( NrnThread nt)
static

Definition at line 579 of file nvector_nrnthread_ld.cpp.

◆ vmin()

static void* vmin ( NrnThread nt)
static

Definition at line 671 of file nvector_nrnthread_ld.cpp.

◆ vminquotient()

static void* vminquotient ( NrnThread nt)
static

Definition at line 783 of file nvector_nrnthread_ld.cpp.

◆ vprod()

static void* vprod ( NrnThread nt)
static

Definition at line 504 of file nvector_nrnthread_ld.cpp.

◆ vscale()

static void* vscale ( NrnThread nt)
static

Definition at line 524 of file nvector_nrnthread_ld.cpp.

◆ vwl2norm()

static void* vwl2norm ( NrnThread nt)
static

Definition at line 702 of file nvector_nrnthread_ld.cpp.

◆ vwrmsnorm()

static void* vwrmsnorm ( NrnThread nt)
static

Definition at line 613 of file nvector_nrnthread_ld.cpp.

◆ vwrmsnorm_help()

static realtype vwrmsnorm_help ( N_Vector  x,
N_Vector  w 
)
static

Definition at line 594 of file nvector_nrnthread_ld.cpp.

◆ vwrmsnormmask()

static void* vwrmsnormmask ( NrnThread nt)
static

Definition at line 655 of file nvector_nrnthread_ld.cpp.

◆ vwrmsnormmask_help()

static realtype vwrmsnormmask_help ( N_Vector  x,
N_Vector  w,
N_Vector  id 
)
static

Definition at line 637 of file nvector_nrnthread_ld.cpp.

Variable Documentation

◆ a_

realtype a_
static

Definition at line 51 of file nvector_nrnthread_ld.cpp.

◆ b_

realtype b_
static

Definition at line 52 of file nvector_nrnthread_ld.cpp.

◆ bretval

booleantype bretval
static

Definition at line 57 of file nvector_nrnthread_ld.cpp.

◆ c_

realtype c_
static

Definition at line 53 of file nvector_nrnthread_ld.cpp.

◆ id_

N_Vector id_
static

Definition at line 50 of file nvector_nrnthread_ld.cpp.

◆ retval

realtype retval
static

Definition at line 54 of file nvector_nrnthread_ld.cpp.

◆ retval_comp

realtype retval_comp
static

Definition at line 56 of file nvector_nrnthread_ld.cpp.

◆ w_

N_Vector w_
static

Definition at line 49 of file nvector_nrnthread_ld.cpp.

◆ x_

N_Vector x_
static

Definition at line 46 of file nvector_nrnthread_ld.cpp.

◆ y_

N_Vector y_
static

Definition at line 47 of file nvector_nrnthread_ld.cpp.

◆ z_

N_Vector z_
static

Definition at line 48 of file nvector_nrnthread_ld.cpp.