#include <stdio.h>#include <stdlib.h>#include "shared/nvector_serial.h"#include "nvector_nrnthread_ld.h"#include "nvector.h"#include "sundialstypes.h"#include "shared/sundialsmath.h"#include "shared/sundialstypes.h"#include "section.h"#include "nrnmutdec.h"

Defines | |
| #define | USELONGDOUBLE 1 |
| #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 | ldrealtype realtype |
| #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) lock; retval += arg; unlock; |
| #define | locklongdadd(arg) lockadd(arg) |
| #define | lockmax(arg) lock; if (retval < arg) { retval = arg; }; unlock; |
| #define | lockmin(arg) lock; if (retval > arg) { retval = arg; }; unlock; |
| #define | lockfalse lock; bretval = FALSE; unlock; |
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) |
| 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) |
| void | N_VLinearSum_NrnThreadLD (realtype a, N_Vector x, realtype b, N_Vector y, N_Vector z) |
| void | N_VConst_NrnThreadLD (realtype c, N_Vector z) |
| void | N_VProd_NrnThreadLD (N_Vector x, N_Vector y, N_Vector z) |
| void | N_VDiv_NrnThreadLD (N_Vector x, N_Vector y, N_Vector z) |
| void | N_VScale_NrnThreadLD (realtype c, N_Vector x, N_Vector z) |
| void | N_VAbs_NrnThreadLD (N_Vector x, N_Vector z) |
| void | N_VInv_NrnThreadLD (N_Vector x, N_Vector z) |
| void | N_VAddConst_NrnThreadLD (N_Vector x, realtype b, N_Vector z) |
| realtype | N_VDotProd_NrnThreadLD (N_Vector x, N_Vector y) |
| realtype | N_VMaxNorm_NrnThreadLD (N_Vector x) |
| realtype | N_VWrmsNorm_NrnThreadLD (N_Vector x, N_Vector w) |
| realtype | N_VWrmsNormMask_NrnThreadLD (N_Vector x, N_Vector w, N_Vector id) |
| realtype | N_VMin_NrnThreadLD (N_Vector x) |
| realtype | N_VWL2Norm_NrnThreadLD (N_Vector x, N_Vector w) |
| realtype | N_VL1Norm_NrnThreadLD (N_Vector x) |
| void | N_VOneMask_NrnThreadLD (N_Vector x) |
| void | N_VCompare_NrnThreadLD (realtype c, N_Vector x, N_Vector z) |
| booleantype | N_VInvTest_NrnThreadLD (N_Vector x, N_Vector z) |
| booleantype | N_VConstrMask_NrnThreadLD (N_Vector y, N_Vector x, N_Vector z) |
| realtype | N_VMinQuotient_NrnThreadLD (N_Vector x, N_Vector y) |
| #define aarg a_ |
| #define apass a_ = a; |
| #define barg b_ |
| #define bpass b_ = b; |
| #define carg c_ |
| #define cpass c_ = c; |
| #define HALF RCONST(0.5) |
| #define idpass id_ = id; |
| #define ldrealtype realtype |
| #define lock MUTLOCK |
| #define lockadd | ( | arg | ) | lock; retval += arg; unlock; |
| #define lockfalse lock; bretval = FALSE; unlock; |
| #define locklongdadd | ( | arg | ) | lockadd(arg) |
| #define lockmax | ( | arg | ) | lock; if (retval < arg) { retval = arg; }; unlock; |
| #define lockmin | ( | arg | ) | lock; if (retval > arg) { retval = arg; }; unlock; |
| #define mydebug | ( | a | ) |
| #define mydebug2 | ( | a, | |||
| b | ) |
| #define ONE RCONST(1.0) |
| #define ONEPT5 RCONST(1.5) |
| #define unlock MUTUNLOCK |
| #define USELONGDOUBLE 1 |
| #define wpass w_ = w; |
| #define xpass x_ = x; |
| #define ypass y_ = y; |
| #define ZERO RCONST(0.0) |
| #define zpass z_ = z; |
| void N_VAbs_NrnThreadLD | ( | N_Vector | x, | |
| N_Vector | z | |||
| ) |
References mydebug, nrn_multithread_job(), xpass, and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| void N_VAddConst_NrnThreadLD | ( | N_Vector | x, | |
| realtype | b, | |||
| N_Vector | z | |||
| ) |
References bpass, mydebug, nrn_multithread_job(), xpass, and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| N_Vector N_VClone_NrnThreadLD | ( | N_Vector | w | ) |
References data, i, _N_VectorContent_NrnThread::length, N_VCloneEmpty_NrnThreadLD(), N_VDestroy_NrnThreadLD(), _N_VectorContent_NrnThread::nt, NV_LENGTH_NT_LD, NV_NT_NT_LD, NV_OWN_DATA_NT_LD, NV_SUBVEC_NT_LD, and v.
Referenced by N_VNewEmpty_NrnThreadLD().

| N_Vector N_VCloneEmpty_NrnThreadLD | ( | N_Vector | w | ) |
| void N_VCompare_NrnThreadLD | ( | realtype | c, | |
| N_Vector | x, | |||
| N_Vector | z | |||
| ) |
References cpass, mydebug, nrn_multithread_job(), xpass, and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| void N_VConst_NrnThreadLD | ( | realtype | c, | |
| N_Vector | z | |||
| ) |
References cpass, mydebug, nrn_multithread_job(), and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| booleantype N_VConstrMask_NrnThreadLD | ( | N_Vector | y, | |
| N_Vector | x, | |||
| N_Vector | z | |||
| ) |
References mydebug2, nrn_multithread_job(), xpass, ypass, and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| void N_VDestroy_NrnThreadLD | ( | N_Vector | v | ) |
References data, i, _N_VectorContent_NrnThread::nt, NV_CONTENT_NT_LD, NV_NT_NT_LD, NV_OWN_DATA_NT_LD, and NV_SUBVEC_NT_LD.
Referenced by N_VClone_NrnThreadLD(), N_VDestroyVectorArray_NrnThreadLD(), N_VNew_NrnThreadLD(), and N_VNewEmpty_NrnThreadLD().
References N_VDestroy_NrnThreadLD().
Referenced by N_VNewVectorArray_NrnThreadLD(), and N_VNewVectorArrayEmpty_NrnThreadLD().

| void N_VDiv_NrnThreadLD | ( | N_Vector | x, | |
| N_Vector | y, | |||
| N_Vector | z | |||
| ) |
References mydebug, nrn_multithread_job(), xpass, ypass, and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| realtype N_VDotProd_NrnThreadLD | ( | N_Vector | x, | |
| N_Vector | y | |||
| ) |
References mydebug2, nrn_multithread_job(), xpass, ypass, and ZERO.
Referenced by N_VNewEmpty_NrnThreadLD().

| realtype* N_VGetArrayPointer_NrnThreadLD | ( | N_Vector | v | ) |
References NV_DATA_NT_LD.
Referenced by N_VNewEmpty_NrnThreadLD().
| void N_VInv_NrnThreadLD | ( | N_Vector | x, | |
| N_Vector | z | |||
| ) |
References mydebug, nrn_multithread_job(), xpass, and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| booleantype N_VInvTest_NrnThreadLD | ( | N_Vector | x, | |
| N_Vector | z | |||
| ) |
References mydebug2, nrn_multithread_job(), xpass, and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| realtype N_VL1Norm_NrnThreadLD | ( | N_Vector | x | ) |
References mydebug2, nrn_multithread_job(), xpass, and ZERO.
Referenced by N_VNewEmpty_NrnThreadLD().

| void N_VLinearSum_NrnThreadLD | ( | realtype | a, | |
| N_Vector | x, | |||
| realtype | b, | |||
| N_Vector | y, | |||
| N_Vector | z | |||
| ) |
References apass, bpass, mydebug, nrn_multithread_job(), xpass, ypass, and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| N_Vector N_VMake_NrnThreadLD | ( | long int | length, | |
| realtype * | v_data | |||
| ) |
References assert, N_VNewEmpty_NrnThreadLD(), NV_DATA_NT_LD, NV_OWN_DATA_NT_LD, and v.

| realtype N_VMaxNorm_NrnThreadLD | ( | N_Vector | x | ) |
References mydebug2, nrn_multithread_job(), xpass, and ZERO.
Referenced by N_VNewEmpty_NrnThreadLD().

| realtype N_VMin_NrnThreadLD | ( | N_Vector | x | ) |
References mydebug2, nrn_multithread_job(), and xpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| realtype N_VMinQuotient_NrnThreadLD | ( | N_Vector | x, | |
| N_Vector | y | |||
| ) |
References mydebug2, nrn_multithread_job(), xpass, and ypass.
Referenced by N_VNewEmpty_NrnThreadLD().

References data, i, N_VDestroy_NrnThreadLD(), N_VNewEmpty_NrnThreadLD(), NV_OWN_DATA_NT_LD, NV_SUBVEC_NT_LD, and v.
Referenced by N_VNewVectorArray_NrnThreadLD().

References _N_VectorContent_NrnThreadLD::data, i, _N_VectorContent_NrnThreadLD::length, MUTCONSTRUCT, MUTCONSTRUCTED, N_VAbs_NrnThreadLD(), N_VAddConst_NrnThreadLD(), N_VClone_NrnThreadLD(), N_VCompare_NrnThreadLD(), N_VConst_NrnThreadLD(), N_VConstrMask_NrnThreadLD(), N_VDestroy_NrnThreadLD(), N_VDiv_NrnThreadLD(), N_VDotProd_NrnThreadLD(), N_VGetArrayPointer_NrnThreadLD(), N_VInv_NrnThreadLD(), N_VInvTest_NrnThreadLD(), N_VL1Norm_NrnThreadLD(), N_VLinearSum_NrnThreadLD(), N_VMaxNorm_NrnThreadLD(), N_VMin_NrnThreadLD(), N_VMinQuotient_NrnThreadLD(), N_VProd_NrnThreadLD(), N_VScale_NrnThreadLD(), N_VSetArrayPointer_NrnThreadLD(), N_VSpace_NrnThreadLD(), N_VWL2Norm_NrnThreadLD(), N_VWrmsNorm_NrnThreadLD(), N_VWrmsNormMask_NrnThreadLD(), _N_VectorContent_NrnThreadLD::nt, _N_VectorContent_NrnThreadLD::own_data, and v.
Referenced by N_VMake_NrnThreadLD(), N_VNew_NrnThreadLD(), and N_VNewVectorArrayEmpty_NrnThreadLD().

| N_Vector* N_VNewVectorArray_NrnThreadLD | ( | int | count, | |
| long int | length, | |||
| int | nthread, | |||
| long int * | sizes | |||
| ) |
References N_VDestroyVectorArray_NrnThreadLD(), and N_VNew_NrnThreadLD().

| N_Vector* N_VNewVectorArrayEmpty_NrnThreadLD | ( | int | count, | |
| long int | length, | |||
| int | nthread, | |||
| long int * | sizes | |||
| ) |
References N_VDestroyVectorArray_NrnThreadLD(), and N_VNewEmpty_NrnThreadLD().

| void N_VOneMask_NrnThreadLD | ( | N_Vector | x | ) |
| void N_VPrint_NrnThreadLD | ( | N_Vector | x | ) |
References i, _N_VectorContent_NrnThread::nt, NV_NT_NT_LD, and NV_SUBVEC_NT_LD.
| void N_VProd_NrnThreadLD | ( | N_Vector | x, | |
| N_Vector | y, | |||
| N_Vector | z | |||
| ) |
References mydebug, nrn_multithread_job(), xpass, ypass, and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| void N_VScale_NrnThreadLD | ( | realtype | c, | |
| N_Vector | x, | |||
| N_Vector | z | |||
| ) |
References cpass, mydebug, nrn_multithread_job(), xpass, and zpass.
Referenced by N_VNewEmpty_NrnThreadLD().

| void N_VSetArrayPointer_NrnThreadLD | ( | realtype * | v_data, | |
| N_Vector | v | |||
| ) |
References assert, NV_DATA_NT_LD, and NV_LENGTH_NT_LD.
Referenced by N_VNewEmpty_NrnThreadLD().
References NV_LENGTH_NT_LD.
Referenced by N_VNewEmpty_NrnThreadLD().
| realtype N_VWL2Norm_NrnThreadLD | ( | N_Vector | x, | |
| N_Vector | w | |||
| ) |
References mydebug2, nrn_multithread_job(), NV_LENGTH_NT_LD, wpass, xpass, and ZERO.
Referenced by N_VNewEmpty_NrnThreadLD().

| realtype N_VWrmsNorm_NrnThreadLD | ( | N_Vector | x, | |
| N_Vector | w | |||
| ) |
References mydebug2, nrn_multithread_job(), NV_LENGTH_NT_LD, wpass, xpass, and ZERO.
Referenced by N_VNewEmpty_NrnThreadLD().

| realtype N_VWrmsNormMask_NrnThreadLD | ( | N_Vector | x, | |
| N_Vector | w, | |||
| N_Vector | id | |||
| ) |
References idpass, mydebug2, nrn_multithread_job(), NV_LENGTH_NT_LD, wpass, xpass, and ZERO.
Referenced by N_VNewEmpty_NrnThreadLD().

1.6.3