Kaspersky Neuromorphic Platform  1.0.0
API Reference
Loading...
Searching...
No Matches
altai_lif.h
Go to the documentation of this file.
1
22#pragma once
23
24#include <cstdint>
25#include <limits>
26#include <numeric>
27#include <utility>
28
29#include "type_traits.h"
30
31
35namespace knp::neuron_traits
36{
37
42struct AltAILIF;
43
44
48template <>
49struct default_values<AltAILIF>
50{
57 constexpr static bool is_diff_ = false;
58
65 constexpr static bool is_reset_ = true;
66
72 constexpr static bool leak_rev_ = true;
73
80 constexpr static bool saturate_ = true;
81
86 constexpr static bool do_not_save_ = false;
87
92 constexpr static int16_t potential_ = 0;
93
97 constexpr static uint16_t activation_threshold_ = 1;
98
105 constexpr static uint16_t negative_activation_threshold_ = 30000;
106
110 constexpr static int16_t potential_leak_ = 0;
111
115 constexpr static uint16_t potential_reset_value_ = 0;
116};
117
118
122template <>
123struct neuron_parameters<AltAILIF>
124{
146 bool is_diff_ = default_values<AltAILIF>::is_diff_;
147
169 bool is_reset_ = default_values<AltAILIF>::is_reset_;
170
182 bool leak_rev_ = default_values<AltAILIF>::leak_rev_;
183
205 bool saturate_ = default_values<AltAILIF>::saturate_;
206
213 bool do_not_save_ = default_values<AltAILIF>::do_not_save_;
214
218 int16_t potential_ = default_values<AltAILIF>::potential_;
219
226 uint16_t activation_threshold_ = default_values<AltAILIF>::activation_threshold_;
227
234 uint16_t negative_activation_threshold_ = default_values<AltAILIF>::negative_activation_threshold_;
235
246 int16_t potential_leak_ = default_values<AltAILIF>::potential_leak_;
247
268 uint16_t potential_reset_value_ = default_values<AltAILIF>::potential_reset_value_;
269};
270
271} // namespace knp::neuron_traits
Namespace for neuron traits.
Definition all_traits.h:37
Common neuron type traits.
Structure for neuron default values.
Definition type_traits.h:43
Structure for neuron parameters.
Definition type_traits.h:36