2 #include "halco/common/iter_all.h"
3 #include "halco/common/typed_array.h"
4 #include "halco/common/typed_heap_array.h"
5 #include "haldls/cerealization.h"
6 #include "haldls/vx/common.h"
7 #include "haldls/vx/synapse.h"
8 #include "haldls/vx/traits.h"
9 #include "hate/visibility.h"
12 #include <boost/hana/adapt_struct.hpp>
14 #if defined(__GENPYBIND__) or defined(__GENPYBIND_GENERATED__)
15 #include <pybind11/numpy.h>
26 typedef haldls::vx::ColumnCorrelationQuad::ColumnCorrelationSwitch
Value GENPYBIND(visible);
28 typedef halco::common::typed_heap_array<Value, halco::hicann_dls::vx::SynapseOnSynapseRow>
38 GENPYBIND(stringstream)
53 typedef haldls::vx::ColumnCurrentQuad::ColumnCurrentSwitch
Value GENPYBIND(visible);
55 typedef halco::common::typed_heap_array<Value, halco::hicann_dls::vx::SynapseOnSynapseRow>
65 GENPYBIND(stringstream)
66 friend std::ostream& operator<<(std::ostream& os,
ColumnCurrentRow const& row) SYMBOL_VISIBLE;
79 typedef haldls::vx::SynapseWeightQuad::Value
Value GENPYBIND(visible);
81 typedef halco::common::typed_heap_array<Value, halco::hicann_dls::vx::SynapseOnSynapseRow>
93 GENPYBIND(stringstream)
94 friend std::ostream& operator<<(std::ostream& os,
SynapseWeightRow const& row) SYMBOL_VISIBLE;
107 typedef haldls::vx::SynapseLabelQuad::Value
Value GENPYBIND(visible);
109 typedef halco::common::typed_heap_array<Value, halco::hicann_dls::vx::SynapseOnSynapseRow>
121 GENPYBIND(stringstream)
122 friend std::ostream& operator<<(std::ostream& os,
SynapseLabelRow const& row) SYMBOL_VISIBLE;
135 typedef haldls::vx::SynapseCorrelationCalibQuad::TimeCalib
TimeCalib GENPYBIND(visible);
136 typedef haldls::vx::SynapseCorrelationCalibQuad::AmpCalib
AmpCalib GENPYBIND(visible);
138 typedef halco::common::typed_heap_array<TimeCalib, halco::hicann_dls::vx::SynapseOnSynapseRow>
140 typedef halco::common::typed_heap_array<AmpCalib, halco::hicann_dls::vx::SynapseOnSynapseRow>
157 GENPYBIND(stringstream)
172 typedef haldls::vx::SynapseQuad::Weight
Weight GENPYBIND(visible);
173 typedef haldls::vx::SynapseQuad::Label
Label GENPYBIND(visible);
174 typedef haldls::vx::SynapseQuad::TimeCalib
TimeCalib GENPYBIND(visible);
175 typedef haldls::vx::SynapseQuad::AmpCalib
AmpCalib GENPYBIND(visible);
177 typedef halco::common::typed_heap_array<Weight, halco::hicann_dls::vx::SynapseOnSynapseRow>
179 typedef halco::common::typed_heap_array<Label, halco::hicann_dls::vx::SynapseOnSynapseRow>
181 typedef halco::common::typed_heap_array<TimeCalib, halco::hicann_dls::vx::SynapseOnSynapseRow>
183 typedef halco::common::typed_heap_array<AmpCalib, halco::hicann_dls::vx::SynapseOnSynapseRow>
201 bool operator==(
SynapseRow const& other) const SYMBOL_VISIBLE;
202 bool operator!=(
SynapseRow const& other) const SYMBOL_VISIBLE;
204 GENPYBIND(stringstream)
205 friend std::ostream& operator<<(std::ostream& os,
SynapseRow const& row) SYMBOL_VISIBLE;
218 template <
typename T>
219 using row_type = halco::common::typed_array<T, halco::hicann_dls::vx::SynapseOnSynapseRow>;
221 template <
typename T>
223 halco::common::typed_heap_array<row_type<T>, halco::hicann_dls::vx::SynapseRowOnSynram>;
225 typedef haldls::vx::SynapseWeightQuad::Value
Value GENPYBIND(visible);
239 GENPYBIND(stringstream)
254 template <
typename T>
255 using row_type = halco::common::typed_array<T, halco::hicann_dls::vx::SynapseOnSynapseRow>;
257 template <
typename T>
259 halco::common::typed_heap_array<row_type<T>, halco::hicann_dls::vx::SynapseRowOnSynram>;
261 typedef haldls::vx::SynapseLabelQuad::Value
Value GENPYBIND(visible);
275 GENPYBIND(stringstream)
289 template <
typename T>
290 using row_type = halco::common::typed_array<T, halco::hicann_dls::vx::SynapseOnSynapseRow>;
292 template <
typename T>
294 halco::common::typed_heap_array<row_type<T>, halco::hicann_dls::vx::SynapseRowOnSynram>;
296 typedef haldls::vx::SynapseCorrelationCalibQuad::TimeCalib
TimeCalib GENPYBIND(visible);
297 typedef haldls::vx::SynapseCorrelationCalibQuad::AmpCalib
AmpCalib GENPYBIND(visible);
317 GENPYBIND(stringstream)
332 template <
typename T>
333 using row_type = halco::common::typed_array<T, halco::hicann_dls::vx::SynapseOnSynapseRow>;
335 template <
typename T>
337 halco::common::typed_heap_array<row_type<T>, halco::hicann_dls::vx::SynapseRowOnSynram>;
339 typedef haldls::vx::SynapseQuad::Weight
Weight GENPYBIND(visible);
340 typedef haldls::vx::SynapseQuad::Label
Label GENPYBIND(visible);
341 typedef haldls::vx::SynapseQuad::TimeCalib
TimeCalib GENPYBIND(visible);
342 typedef haldls::vx::SynapseQuad::AmpCalib
AmpCalib GENPYBIND(visible);
372 GENPYBIND(stringstream)
373 friend std::ostream& operator<<(std::ostream& os,
SynapseMatrix const& row) SYMBOL_VISIBLE;
397 GENPYBIND(stringstream)
407 namespace
haldls::vx::detail {
411 :
public BackendContainerBase<
412 lola::vx::ColumnCorrelationRow,
413 fisch::vx::word_access_type::Omnibus,
414 fisch::vx::word_access_type::OmnibusChipOverJTAG>
422 template <
typename ContainerT,
typename VisitorT>
428 using halco::common::iter_all;
429 using namespace halco::hicann_dls::vx;
431 visitor(coord, config);
433 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
434 haldls::vx::ColumnCorrelationQuad quad_config;
435 for (
auto const syn : iter_all<EntryOnQuad>()) {
436 SynapseOnSynapseRow
const syn_on_row(syn, quad);
437 quad_config.m_switches[syn] = config.values[syn_on_row];
441 ColumnCorrelationQuadOnDLS(
442 quad.toColumnCorrelationQuadOnSynram(), coord.toSynramOnDLS()),
445 if constexpr (!std::is_same<ContainerT, container_type const>::value) {
446 for (
auto const syn : iter_all<EntryOnQuad>()) {
447 SynapseOnSynapseRow
const syn_on_row(syn, quad);
448 config.values[syn_on_row] = quad_config.m_switches[syn];
458 :
public BackendContainerBase<
459 lola::vx::ColumnCurrentRow,
460 fisch::vx::word_access_type::Omnibus,
461 fisch::vx::word_access_type::OmnibusChipOverJTAG>
469 template <
typename ContainerT,
typename VisitorT>
475 using halco::common::iter_all;
476 using namespace halco::hicann_dls::vx;
478 visitor(coord, config);
480 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
481 haldls::vx::ColumnCurrentQuad quad_config;
482 for (
auto const syn : iter_all<EntryOnQuad>()) {
483 SynapseOnSynapseRow
const syn_on_row(syn, quad);
484 quad_config.m_switches[syn] = config.values[syn_on_row];
488 ColumnCurrentQuadOnDLS(quad.toColumnCurrentQuadOnSynram(), coord.toSynramOnDLS()),
491 if constexpr (!std::is_same<ContainerT, container_type const>::value) {
492 for (
auto const syn : iter_all<EntryOnQuad>()) {
493 SynapseOnSynapseRow
const syn_on_row(syn, quad);
494 config.values[syn_on_row] = quad_config.m_switches[syn];
504 :
public BackendContainerBase<
505 lola::vx::SynapseWeightRow,
506 fisch::vx::word_access_type::Omnibus,
507 fisch::vx::word_access_type::OmnibusChipOverJTAG>
515 template <
typename ContainerT,
typename VisitorT>
521 using halco::common::iter_all;
522 using namespace halco::hicann_dls::vx;
524 visitor(coord, config);
526 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
527 haldls::vx::SynapseWeightQuad quad_config;
528 for (
auto const syn : iter_all<EntryOnQuad>()) {
529 SynapseOnSynapseRow
const syn_on_row(syn, quad);
530 quad_config.m_values[syn] = config.values[syn_on_row];
534 SynapseWeightQuadOnDLS(
535 SynapseQuadOnSynram(quad, coord.toSynapseRowOnSynram()), coord.toSynramOnDLS()),
538 if constexpr (!std::is_same<ContainerT, container_type const>::value) {
539 for (
auto const syn : iter_all<EntryOnQuad>()) {
540 SynapseOnSynapseRow
const syn_on_row(syn, quad);
541 config.values[syn_on_row] = quad_config.m_values[syn];
551 :
public BackendContainerBase<
552 lola::vx::SynapseLabelRow,
553 fisch::vx::word_access_type::Omnibus,
554 fisch::vx::word_access_type::OmnibusChipOverJTAG>
562 template <
typename ContainerT,
typename VisitorT>
568 using halco::common::iter_all;
569 using namespace halco::hicann_dls::vx;
571 visitor(coord, config);
573 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
574 haldls::vx::SynapseLabelQuad quad_config;
575 for (
auto const syn : iter_all<EntryOnQuad>()) {
576 SynapseOnSynapseRow
const syn_on_row(syn, quad);
577 quad_config.m_values[syn] = config.values[syn_on_row];
581 SynapseLabelQuadOnDLS(
582 SynapseQuadOnSynram(quad, coord.toSynapseRowOnSynram()), coord.toSynramOnDLS()),
585 if constexpr (!std::is_same<ContainerT, container_type const>::value) {
586 for (
auto const syn : iter_all<EntryOnQuad>()) {
587 SynapseOnSynapseRow
const syn_on_row(syn, quad);
588 config.values[syn_on_row] = quad_config.m_values[syn];
598 :
public BackendContainerBase<
599 lola::vx::SynapseCorrelationCalibRow,
600 fisch::vx::word_access_type::Omnibus,
601 fisch::vx::word_access_type::OmnibusChipOverJTAG>
609 template <
typename ContainerT,
typename VisitorT>
615 using halco::common::iter_all;
616 using namespace halco::hicann_dls::vx;
618 visitor(coord, config);
620 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
621 haldls::vx::SynapseCorrelationCalibQuad quad_config;
622 for (
auto const syn : iter_all<EntryOnQuad>()) {
623 SynapseOnSynapseRow
const syn_on_row(syn, quad);
624 quad_config.m_time_calibs[syn] = config.time_calibs[syn_on_row];
625 quad_config.m_amp_calibs[syn] = config.amp_calibs[syn_on_row];
629 SynapseCorrelationCalibQuadOnDLS(
630 SynapseQuadOnSynram(quad, coord.toSynapseRowOnSynram()), coord.toSynramOnDLS()),
633 if constexpr (!std::is_same<ContainerT, container_type const>::value) {
634 for (
auto const syn : iter_all<EntryOnQuad>()) {
635 SynapseOnSynapseRow
const syn_on_row(syn, quad);
636 config.time_calibs[syn_on_row] = quad_config.m_time_calibs[syn];
637 config.amp_calibs[syn_on_row] = quad_config.m_amp_calibs[syn];
647 :
public BackendContainerBase<
648 lola::vx::SynapseRow,
649 fisch::vx::word_access_type::Omnibus,
650 fisch::vx::word_access_type::OmnibusChipOverJTAG>
658 template <
typename ContainerT,
typename VisitorT>
664 using halco::common::iter_all;
665 using namespace halco::hicann_dls::vx;
667 visitor(coord, config);
669 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
670 haldls::vx::SynapseQuad quad_config;
671 for (
auto const syn : iter_all<EntryOnQuad>()) {
672 SynapseOnSynapseRow
const syn_on_row(syn, quad);
673 quad_config.m_weights.at(syn) = config.weights[syn_on_row];
674 quad_config.m_labels.at(syn) = config.labels[syn_on_row];
675 quad_config.m_time_calibs.at(syn) = config.time_calibs[syn_on_row];
676 quad_config.m_amp_calibs.at(syn) = config.amp_calibs[syn_on_row];
681 SynapseQuadOnSynram(quad, coord.toSynapseRowOnSynram()), coord.toSynramOnDLS()),
684 if constexpr (!std::is_same<ContainerT, container_type const>::value) {
685 for (
auto const syn : iter_all<EntryOnQuad>()) {
686 SynapseOnSynapseRow
const syn_on_row(syn, quad);
687 config.weights[syn_on_row] = quad_config.m_weights.at(syn);
688 config.labels[syn_on_row] = quad_config.m_labels.at(syn);
689 config.time_calibs[syn_on_row] = quad_config.m_time_calibs.at(syn);
690 config.amp_calibs[syn_on_row] = quad_config.m_amp_calibs.at(syn);
700 :
public BackendContainerBase<
701 lola::vx::SynapseWeightMatrix,
702 fisch::vx::word_access_type::Omnibus,
703 fisch::vx::word_access_type::OmnibusChipOverJTAG>
711 template <
typename ContainerT,
typename VisitorT>
717 using halco::common::iter_all;
718 using namespace halco::hicann_dls::vx;
720 visitor(coord, config);
722 for (
auto const row : iter_all<SynapseRowOnSynram>()) {
723 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
724 haldls::vx::SynapseWeightQuad quad_config;
725 for (
auto const syn : iter_all<EntryOnQuad>()) {
726 SynapseOnSynapseRow
const syn_on_row(syn, quad);
727 quad_config.m_values[syn] = config.values[row][syn_on_row];
731 SynapseWeightQuadOnDLS(SynapseQuadOnSynram(quad, row), coord.toSynramOnDLS()),
734 if constexpr (!std::is_same<ContainerT, container_type const>::value) {
735 for (
auto const syn : iter_all<EntryOnQuad>()) {
736 SynapseOnSynapseRow
const syn_on_row(syn, quad);
737 config.values[row][syn_on_row] = quad_config.m_values[syn];
747 :
public BackendContainerBase<
748 lola::vx::SynapseLabelMatrix,
749 fisch::vx::word_access_type::Omnibus,
750 fisch::vx::word_access_type::OmnibusChipOverJTAG>
758 template <
typename ContainerT,
typename VisitorT>
764 using halco::common::iter_all;
765 using namespace halco::hicann_dls::vx;
767 visitor(coord, config);
769 for (
auto const row : iter_all<SynapseRowOnSynram>()) {
770 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
771 haldls::vx::SynapseLabelQuad quad_config;
772 for (
auto const syn : iter_all<EntryOnQuad>()) {
773 SynapseOnSynapseRow
const syn_on_row(syn, quad);
774 quad_config.m_values[syn] = config.values[row][syn_on_row];
778 SynapseLabelQuadOnDLS(SynapseQuadOnSynram(quad, row), coord.toSynramOnDLS()),
781 if constexpr (!std::is_same<ContainerT, container_type const>::value) {
782 for (
auto const syn : iter_all<EntryOnQuad>()) {
783 SynapseOnSynapseRow
const syn_on_row(syn, quad);
784 config.values[row][syn_on_row] = quad_config.m_values[syn];
794 :
public BackendContainerBase<
795 lola::vx::SynapseCorrelationCalibMatrix,
796 fisch::vx::word_access_type::Omnibus,
797 fisch::vx::word_access_type::OmnibusChipOverJTAG>
805 template <
typename ContainerT,
typename VisitorT>
811 using halco::common::iter_all;
812 using namespace halco::hicann_dls::vx;
814 visitor(coord, config);
816 for (
auto const row : iter_all<SynapseRowOnSynram>()) {
817 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
818 haldls::vx::SynapseCorrelationCalibQuad quad_config;
819 for (
auto const syn : iter_all<EntryOnQuad>()) {
820 SynapseOnSynapseRow
const syn_on_row(syn, quad);
821 quad_config.m_time_calibs[syn] = config.time_calibs[row][syn_on_row];
822 quad_config.m_amp_calibs[syn] = config.amp_calibs[row][syn_on_row];
826 SynapseCorrelationCalibQuadOnDLS(
827 SynapseQuadOnSynram(quad, row), coord.toSynramOnDLS()),
830 if constexpr (!std::is_same<ContainerT, container_type const>::value) {
831 for (
auto const syn : iter_all<EntryOnQuad>()) {
832 SynapseOnSynapseRow
const syn_on_row(syn, quad);
833 config.time_calibs[row][syn_on_row] = quad_config.m_time_calibs[syn];
834 config.amp_calibs[row][syn_on_row] = quad_config.m_amp_calibs[syn];
844 :
public BackendContainerBase<
845 lola::vx::SynapseMatrix,
846 fisch::vx::word_access_type::Omnibus,
847 fisch::vx::word_access_type::OmnibusChipOverJTAG>
855 template <
typename ContainerT,
typename VisitorT>
861 using halco::common::iter_all;
862 using namespace halco::hicann_dls::vx;
864 visitor(coord, config);
866 for (
auto const row : iter_all<SynapseRowOnSynram>()) {
867 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
868 haldls::vx::SynapseQuad quad_config;
869 for (
auto const syn : iter_all<EntryOnQuad>()) {
870 SynapseOnSynapseRow
const syn_on_row(syn, quad);
871 quad_config.m_weights.at(syn) = config.weights[row][syn_on_row];
872 quad_config.m_labels.at(syn) = config.labels[row][syn_on_row];
873 quad_config.m_time_calibs.at(syn) = config.time_calibs[row][syn_on_row];
874 quad_config.m_amp_calibs.at(syn) = config.amp_calibs[row][syn_on_row];
877 quad_config, SynapseQuadOnDLS(SynapseQuadOnSynram(quad, row), coord), visitor);
879 if constexpr (!std::is_same<ContainerT, container_type const>::value) {
880 for (
auto const syn : iter_all<EntryOnQuad>()) {
881 SynapseOnSynapseRow
const syn_on_row(syn, quad);
882 config.weights[row][syn_on_row] = quad_config.m_weights.at(syn);
883 config.labels[row][syn_on_row] = quad_config.m_labels.at(syn);
884 config.time_calibs[row][syn_on_row] = quad_config.m_time_calibs.at(syn);
885 config.amp_calibs[row][syn_on_row] = quad_config.m_amp_calibs.at(syn);
895 :
public BackendContainerBase<
896 lola::vx::CorrelationResetRow,
897 fisch::vx::word_access_type::Omnibus,
898 fisch::vx::word_access_type::OmnibusChipOverJTAG>
904 template <
typename ContainerT,
typename VisitorT>
910 using halco::common::iter_all;
911 using namespace halco::hicann_dls::vx;
913 visitor(coord, config);
914 haldls::vx::CorrelationReset reset_container;
916 for (
auto const quad : iter_all<SynapseQuadColumnOnDLS>()) {
917 SynapseQuadOnSynram
const quad_on_synram(quad, coord.toSynapseRowOnSynram());
918 CorrelationResetOnDLS
const reset_coord(quad_on_synram, coord.toSynramOnDLS());
920 visit_preorder(reset_container, reset_coord, visitor);
halco::hicann_dls::vx::ColumnCorrelationRowOnDLS coordinate_type
halco::common::typed_heap_array< Value, halco::hicann_dls::vx::SynapseOnSynapseRow > Values
ColumnCorrelationRow() SYMBOL_VISIBLE
std::false_type has_local_data
haldls::vx::ColumnCorrelationQuad::ColumnCorrelationSwitch Value
halco::common::typed_heap_array< Value, halco::hicann_dls::vx::SynapseOnSynapseRow > Values
haldls::vx::ColumnCurrentQuad::ColumnCurrentSwitch Value
std::false_type has_local_data
halco::hicann_dls::vx::ColumnCurrentRowOnDLS coordinate_type
ColumnCurrentRow() SYMBOL_VISIBLE
Reset correlation capacitors in all quads of a given row on synram.
halco::hicann_dls::vx::CorrelationResetRowOnDLS coordinate_type
CorrelationResetRow() SYMBOL_VISIBLE
Default constructor.
std::false_type has_local_data
halco::hicann_dls::vx::SynapseCorrelationCalibMatrixOnDLS coordinate_type
halco::common::typed_heap_array< row_type< T >, halco::hicann_dls::vx::SynapseRowOnSynram > matrix_type
std::false_type has_local_data
haldls::vx::SynapseCorrelationCalibQuad::AmpCalib AmpCalib
row_type< AmpCalib > _amp_calibs_row_type
row_type< TimeCalib > _time_calibs_row_type
haldls::vx::SynapseCorrelationCalibQuad::TimeCalib TimeCalib
matrix_type< TimeCalib > _time_calibs_type
SynapseCorrelationCalibMatrix() SYMBOL_VISIBLE
Default constructor.
halco::common::typed_array< T, halco::hicann_dls::vx::SynapseOnSynapseRow > row_type
matrix_type< AmpCalib > _amp_calibs_type
SynapseCorrelationCalibRow() SYMBOL_VISIBLE
Default constructor.
haldls::vx::SynapseCorrelationCalibQuad::AmpCalib AmpCalib
std::false_type has_local_data
halco::hicann_dls::vx::SynapseCorrelationCalibRowOnDLS coordinate_type
haldls::vx::SynapseCorrelationCalibQuad::TimeCalib TimeCalib
halco::common::typed_heap_array< AmpCalib, halco::hicann_dls::vx::SynapseOnSynapseRow > _amp_calibs_type
halco::common::typed_heap_array< TimeCalib, halco::hicann_dls::vx::SynapseOnSynapseRow > _time_calibs_type
SynapseLabelMatrix() SYMBOL_VISIBLE
Default constructor.
row_type< Value > _row_type
haldls::vx::SynapseLabelQuad::Value Value
halco::common::typed_heap_array< row_type< T >, halco::hicann_dls::vx::SynapseRowOnSynram > matrix_type
matrix_type< Value > _values_type
std::false_type has_local_data
halco::common::typed_array< T, halco::hicann_dls::vx::SynapseOnSynapseRow > row_type
halco::hicann_dls::vx::SynapseLabelMatrixOnDLS coordinate_type
halco::common::typed_heap_array< Value, halco::hicann_dls::vx::SynapseOnSynapseRow > _values_type
std::false_type has_local_data
SynapseLabelRow() SYMBOL_VISIBLE
Default constructor.
haldls::vx::SynapseLabelQuad::Value Value
halco::hicann_dls::vx::SynapseLabelRowOnDLS coordinate_type
row_type< Weight > _weights_row_type
std::false_type has_local_data
matrix_type< Label > _labels_type
halco::common::typed_array< T, halco::hicann_dls::vx::SynapseOnSynapseRow > row_type
halco::hicann_dls::vx::SynramOnDLS coordinate_type
matrix_type< AmpCalib > _amp_calibs_type
SynapseMatrix() SYMBOL_VISIBLE
Default constructor.
haldls::vx::SynapseQuad::TimeCalib TimeCalib
matrix_type< Weight > _weights_type
haldls::vx::SynapseQuad::Weight Weight
haldls::vx::SynapseQuad::Label Label
row_type< TimeCalib > _time_calibs_row_type
row_type< Label > _labels_row_type
haldls::vx::SynapseQuad::AmpCalib AmpCalib
matrix_type< TimeCalib > _time_calibs_type
row_type< AmpCalib > _amp_calibs_row_type
halco::common::typed_heap_array< row_type< T >, halco::hicann_dls::vx::SynapseRowOnSynram > matrix_type
halco::common::typed_heap_array< Weight, halco::hicann_dls::vx::SynapseOnSynapseRow > _weights_type
halco::common::typed_heap_array< TimeCalib, halco::hicann_dls::vx::SynapseOnSynapseRow > _time_calibs_type
haldls::vx::SynapseQuad::AmpCalib AmpCalib
SynapseRow() SYMBOL_VISIBLE
Default constructor.
halco::common::typed_heap_array< Label, halco::hicann_dls::vx::SynapseOnSynapseRow > _labels_type
haldls::vx::SynapseQuad::Label Label
haldls::vx::SynapseQuad::Weight Weight
halco::hicann_dls::vx::SynapseRowOnDLS coordinate_type
haldls::vx::SynapseQuad::TimeCalib TimeCalib
std::false_type has_local_data
halco::common::typed_heap_array< AmpCalib, halco::hicann_dls::vx::SynapseOnSynapseRow > _amp_calibs_type
haldls::vx::SynapseWeightQuad::Value Value
matrix_type< Value > _values_type
halco::common::typed_heap_array< row_type< T >, halco::hicann_dls::vx::SynapseRowOnSynram > matrix_type
std::false_type has_local_data
halco::common::typed_array< T, halco::hicann_dls::vx::SynapseOnSynapseRow > row_type
halco::hicann_dls::vx::SynapseWeightMatrixOnDLS coordinate_type
row_type< Value > _row_type
SynapseWeightMatrix() SYMBOL_VISIBLE
Default constructor.
haldls::vx::SynapseWeightQuad::Value Value
halco::hicann_dls::vx::SynapseWeightRowOnDLS coordinate_type
halco::common::typed_heap_array< Value, halco::hicann_dls::vx::SynapseOnSynapseRow > _values_type
std::false_type has_local_data
SynapseWeightRow() SYMBOL_VISIBLE
Default constructor.
#define GENPYBIND_TAG_LOLA_VX
lola::vx::ColumnCorrelationRow ColumnCorrelationRow
lola::vx::SynapseCorrelationCalibRow SynapseCorrelationCalibRow
lola::vx::CorrelationResetRow CorrelationResetRow
lola::vx::SynapseMatrix SynapseMatrix
lola::vx::ColumnCurrentRow ColumnCurrentRow
lola::vx::SynapseWeightRow SynapseWeightRow
lola::vx::SynapseCorrelationCalibMatrix SynapseCorrelationCalibMatrix
lola::vx::SynapseWeightMatrix SynapseWeightMatrix
lola::vx::SynapseRow SynapseRow
lola::vx::SynapseLabelRow SynapseLabelRow
lola::vx::SynapseLabelMatrix SynapseLabelMatrix
lola::vx::ColumnCorrelationRow container_type
static void call(ContainerT &config, typename container_type::coordinate_type const &coord, VisitorT &&visitor)
static void call(ContainerT &config, typename container_type::coordinate_type const &coord, VisitorT &&visitor)
lola::vx::ColumnCurrentRow container_type
static void call(ContainerT &config, lola::vx::CorrelationResetRow::coordinate_type const &coord, VisitorT &&visitor)
lola::vx::SynapseCorrelationCalibMatrix container_type
static void call(ContainerT &config, typename container_type::coordinate_type const &coord, VisitorT &&visitor)
lola::vx::SynapseCorrelationCalibRow container_type
static void call(ContainerT &config, typename container_type::coordinate_type const &coord, VisitorT &&visitor)
lola::vx::SynapseLabelMatrix container_type
static void call(ContainerT &config, typename container_type::coordinate_type const &coord, VisitorT &&visitor)
lola::vx::SynapseLabelRow container_type
static void call(ContainerT &config, typename container_type::coordinate_type const &coord, VisitorT &&visitor)
lola::vx::SynapseMatrix container_type
static void call(ContainerT &config, typename container_type::coordinate_type const &coord, VisitorT &&visitor)
lola::vx::SynapseRow container_type
static void call(ContainerT &config, typename container_type::coordinate_type const &coord, VisitorT &&visitor)
static void call(ContainerT &config, typename container_type::coordinate_type const &coord, VisitorT &&visitor)
lola::vx::SynapseWeightMatrix container_type
lola::vx::SynapseWeightRow container_type
static void call(ContainerT &config, typename container_type::coordinate_type const &coord, VisitorT &&visitor)
BOOST_HANA_ADAPT_STRUCT(lola::vx::ColumnCorrelationRow, values)