#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().