CoreNEURON
cellorder1.cpp File Reference
#include <cstdio>
#include <map>
#include <set>
#include <algorithm>
#include <cstring>
#include "coreneuron/utils/nrn_assert.h"
#include "coreneuron/permute/cellorder.hpp"
#include "coreneuron/network/tnode.hpp"
#include "coreneuron/nrniv/nrniv_decl.h"
#include "coreneuron/utils/memory.h"

Go to the source code of this file.

Namespaces

 coreneuron
 THIS FILE IS AUTO GENERATED DONT MODIFY IT.
 

Typedefs

using coreneuron::TNI = std::pair< TNode *, int >
 
using coreneuron::HashCnt = std::map< size_t, std::pair< TNode *, int > >
 
using coreneuron::TNIVec = std::vector< TNI >
 

Functions

static bool coreneuron::tnode_earlier (TNode *a, TNode *b)
 Function to order trees by size, hash and nodeindex. More...
 
static bool coreneuron::ptr_tnode_earlier (TNode *a, TNode *b)
 
static void coreneuron::tree_analysis (int *parent, int nnode, int ncell, VecTNode &nodevec)
 Perform tree preparation for interleaving strategies. More...
 
static void coreneuron::node_interleave_order (int ncell, VecTNode &nodevec)
 Naive interleaving strategy (interleave_permute_type == 1) More...
 
static void coreneuron::admin1 (int ncell, VecTNode &nodevec, int &nwarp, int &nstride, int *&stride, int *&firstnode, int *&lastnode, int *&cellsize)
 
static void coreneuron::admin2 (int ncell, VecTNode &nodevec, int &nwarp, int &nstride, int *&stridedispl, int *&strides, int *&rootbegin, int *&nodebegin, int *&ncycles)
 Prepare for solve_interleaved2. More...
 
static void coreneuron::check (VecTNode &)
 
static void coreneuron::quality (VecTNode &nodevec, size_t max=32)
 
size_t coreneuron::level_from_root (VecTNode &)
 
size_t coreneuron::level_from_leaf (VecTNode &)
 
static void coreneuron::set_cellindex (int ncell, VecTNode &nodevec)
 Set the cellindex to distinguish the different cells. More...
 
static void coreneuron::set_groupindex (VecTNode &nodevec)
 Initialization of the groupindex (groups) More...
 
static void coreneuron::ident_statistic (VecTNode &nodevec, size_t ncell)
 
int * coreneuron::node_order (int ncell, int nnode, int *parents, int &nwarp, int &nstride, int *&stride, int *&firstnode, int *&lastnode, int *&cellsize, int *&stridedispl)
 Function that returns a permutation of length nnode. More...
 
static bool coreneuron::interleave_comp (TNode *a, TNode *b)
 
static size_t coreneuron::stride_length (size_t begin, size_t end, VecTNode &nodevec)
 

Variables

static size_t coreneuron::groupsize = 32