6 #ifndef LEVELZEROSIGNAL_HPP_INCLUDE
7 #define LEVELZEROSIGNAL_HPP_INCLUDE
17 class LevelZeroDevicePool;
24 unsigned int gpu,
double scalar);
28 double sample(
void)
override;
29 double read(
void)
const override;
33 std::function<double (
unsigned int)> m_devpool_func;
34 unsigned int m_domain_idx;
36 bool m_is_batch_ready;
38 mutable bool m_is_sampled;
Definition: LevelZeroSignal.hpp:20
virtual ~LevelZeroSignal()=default
bool is_sampled(void) const override
True if the signal has been sampled during this batch.
Definition: LevelZeroSignal.cpp:38
LevelZeroSignal & operator=(const LevelZeroSignal &other)=delete
void setup_batch(void) override
Prepare the signal for being updated through side effects by the owner's read_batch step....
Definition: LevelZeroSignal.cpp:25
void set_sample(double value) override
Set the value to be returned by sample()
Definition: LevelZeroSignal.cpp:32
LevelZeroSignal(std::function< double(unsigned int)> devpool_func, unsigned int gpu, double scalar)
Definition: LevelZeroSignal.cpp:14
LevelZeroSignal(const LevelZeroSignal &other)=delete
double sample(void) override
Apply any conversions necessary to interpret the latest stored value as a double.
Definition: LevelZeroSignal.cpp:43
double read(void) const override
Read directly the value of the signal without affecting any pushed batch signals.
Definition: LevelZeroSignal.cpp:53
Definition: Signal.hpp:16