|
| DECLARE_SNIPPET (InitSparseConnectivitySnippet::FixedNumberPostWithReplacement, 1) |
|
| SET_ROW_BUILD_CODE ("if(c == 0) {\ " $(endRow);\" "}\" "const scalar u=$(gennrand_uniform);\" "x+=(1.0 - x) *(1.0 - pow(u, 1.0/(scalar) c));\" "unsigned int postIdx=(unsigned int)(x *$(num_post));\" "postIdx=(postIdx< $(num_post)) ? postIdx :($(num_post) - 1);\" "$(addSynapse, postIdx+$(id_post_begin));\" "c--;\") |
|
| SET_ROW_BUILD_STATE_VARS ({{"x", "scalar", 0.0},{"c", "unsigned int", "$(rowLength)"}}) |
|
virtual StringVec | getParamNames () const override |
| Gets names of of (independent) model parameters. More...
|
|
| SET_CALC_MAX_ROW_LENGTH_FUNC ([](unsigned int, unsigned int, const std::vector< double > &pars) { return(unsigned int) pars[0];}) |
|
| SET_CALC_MAX_COL_LENGTH_FUNC ([](unsigned int numPre, unsigned int numPost, const std::vector< double > &pars) { const double quantile=pow(0.9999, 1.0/(double) numPost);return binomialInverseCDF(quantile,(unsigned int) pars[0] *numPre, 1.0/(double) numPost);}) |
|
virtual std::string | getRowBuildCode () const |
|
virtual ParamValVec | getRowBuildStateVars () const |
|
virtual std::string | getColBuildCode () const |
|
virtual ParamValVec | getColBuildStateVars () const |
|
virtual std::string | getHostInitCode () const |
|
virtual CalcMaxLengthFunc | getCalcMaxRowLengthFunc () const |
| Get function to calculate the maximum row length of this connector based on the parameters and the size of the pre and postsynaptic population. More...
|
|
virtual CalcMaxLengthFunc | getCalcMaxColLengthFunc () const |
| Get function to calculate the maximum column length of this connector based on the parameters and the size of the pre and postsynaptic population. More...
|
|
virtual CalcKernelSizeFunc | getCalcKernelSizeFunc () const |
| Get function to calculate kernel size required for this conenctor based on its parameters. More...
|
|
boost::uuids::detail::sha1::digest_type | getHashDigest () const |
| Update hash from snippet. More...
|
|
void | validate () const |
| Validate names of parameters etc. More...
|
|
virtual | ~Base () |
|
virtual DerivedParamVec | getDerivedParams () const |
|
virtual EGPVec | getExtraGlobalParams () const |
|
size_t | getExtraGlobalParamIndex (const std::string ¶mName) const |
| Find the index of a named extra global parameter. More...
|
|
Initialises connectivity with a fixed number of random synapses per row.
The postsynaptic targets of the synapses can be initialised in parallel by sampling from the discrete uniform distribution. However, to sample connections in ascending order, we sample from the 1st order statistic of the uniform distribution – Beta[1, Npost] – essentially the next smallest value. In this special case this is equivalent to the exponential distribution which can be sampled in constant time using the inversion method.