MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ rebuild_distributions_if_needed()

void MayaFlux::Kinesis::Stochastic::Stochastic::rebuild_distributions_if_needed ( double  min,
double  max 
)
private

Definition at line 187 of file Stochastic.cpp.

188{
189 if (!m_dist_dirty)
190 return;
191
192 const double range = max - min;
193
195 double spread = 4.0;
196 if (auto cfg = get_config("spread"); cfg.has_value()) {
197 spread = std::any_cast<double>(*cfg);
198 }
199 m_normal_dist = std::normal_distribution<double>(0.0, range / spread);
200 } else if (m_algorithm == Algorithm::EXPONENTIAL) {
201 m_exponential_dist = std::exponential_distribution<double>(1.0);
202 }
203
204 m_dist_dirty = false;
205}
std::optional< std::any > get_config(const std::string &key) const
Gets configuration parameter.
std::exponential_distribution< double > m_exponential_dist
std::normal_distribution< double > m_normal_dist
std::vector< double > max(std::span< const double > data, size_t n_windows, uint32_t hop_size, uint32_t window_size)
Maximum value per window.
Definition Analysis.cpp:436
std::vector< double > range(std::span< const double > data, size_t n_windows, uint32_t hop_size, uint32_t window_size)
Value range (max - min) per window.
Definition Analysis.cpp:452
std::vector< double > min(std::span< const double > data, size_t n_windows, uint32_t hop_size, uint32_t window_size)
Minimum value per window.
Definition Analysis.cpp:420

References MayaFlux::Kinesis::Stochastic::EXPONENTIAL, get_config(), m_algorithm, m_dist_dirty, m_exponential_dist, m_normal_dist, and MayaFlux::Kinesis::Stochastic::NORMAL.

Referenced by generate_memoryless().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: