Definition in file kernel.h.
#include <vector>
#include "globals.h"
#include "tristate.h"
#include "matrix.h"
Include dependency graph for kernel.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Compounds | |
class | BasicLissomMap |
Deprecated abstract base class offering old-style interface to routines in kernel.c, for use only by other deprecated classes. More... | |
struct | Neuron |
struct | Wts |
The weights of a single neuron. More... | |
Defines | |
#define | PARTIAL_LAT_INDEX(ui, uj, k, radius, width) (((k)-(ui)+(radius))*(width)-(uj)+(radius)) |
Wrappers to hide lateral connection index calculations for a given unit (ui,uj):. | |
#define | FULL_LAT_INDEX(partial_index, l) ((partial_index)+(l)) |
#define | LAT_INDEX(ui, uj, k, l, radius, width) FULL_LAT_INDEX(PARTIAL_LAT_INDEX((ui),(uj),(k),(radius),(width)),(l)) |
#define | MAPROW(localrow) (ARBITRARY_MAPROW((localrow),MyPE)) |
Returns the corresponding row in the map for a given local row on the given PE. | |
#define | ARBITRARY_MAPROW(localrow, pe) (pe+(localrow)*NPEs) |
#define | LOCALROW(maprow) ((maprow)/NPEs) |
Returns the corresponding locally-stored wts row for a given row in the global map. | |
#define | PEFORROW(maprow) ((maprow)%NPEs) |
Returns the number of the PE which holds the data for the given map row. | |
#define | ROWISLOCAL(maprow) (ARBITRARY_ROWISLOCAL((maprow),MyPE)) |
Returns T if the given map row is stored on the given PE. | |
#define | ARBITRARY_ROWISLOCAL(maprow, pe) ((pe)==PEFORROW(maprow)) |
#define | PARTIAL_INP_INDEX(eye, x) ((eye)*(RN*RN)+(x)*(RN)) |
Wrappers to hide input vector index calculations to a given location (x,y) on a given eye:. | |
#define | FULL_INP_INDEX(partial_inp_index, y) ((partial_inp_index)+(y)) |
#define | INP_INDEX(eye, x, y) FULL_INP_INDEX(PARTIAL_INP_INDEX((eye),(x)),(y)) |
#define | INP_INDEX_OTHER_EYE(eye, first_inp_index) ((first_inp_index) + ((eye)*RN*RN)) |
|
Wrappers to hide input vector index calculations to a given location (x,y) on a given eye:. index(eye,x,y) = eye*RN*RN + x*RN + y The first term should be optimized out by any decent compiler if eye=0, and it should be precomputed by the compiler if eye=1. The second term can be optimized out of loop calculations by precomputing the partial index below, and then adding in the last term inside the loop using FULL_INP_INDEX. Given the index `idx' for a location in the first eye, the index for the same location in another eye may be obtained using INP_INDEX_OTHER_EYE(idx,eye). |
|
Wrappers to hide lateral connection index calculations for a given unit (ui,uj):.
index(k,l) = (k-(ui-radius))*array_width + l - (uj-radius) The first term and last terms can be optimized out of loop calculations by precomputing the partial index below, and then adding in the middle term inside the loop using FULL_LAT_INDEX. Definition at line 32 of file kernel.h. Referenced by LissomMap::lat_resp(), LissomMap::modify_latwt_loop(), and LissomMap::reduce_lateral_radius(). |