52 lines
756 B
C++
52 lines
756 B
C++
|
|
/*
|
|||
|
|
* SignalMajorization.h
|
|||
|
|
*
|
|||
|
|
* Created on: 22 <EFBFBD><EFBFBD><EFBFBD>. 2017 <EFBFBD>.
|
|||
|
|
* Author: titov
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef SOURCE_SIGNALMAJORIZATION_H_
|
|||
|
|
#define SOURCE_SIGNALMAJORIZATION_H_
|
|||
|
|
|
|||
|
|
#include "../systemic/ISignal.hh"
|
|||
|
|
|
|||
|
|
namespace systemic { namespace detail {
|
|||
|
|
|
|||
|
|
class SignalMajorizationAnd : public ISignal {
|
|||
|
|
private:
|
|||
|
|
|
|||
|
|
ISignal & a;
|
|||
|
|
ISignal & b;
|
|||
|
|
|
|||
|
|
const float error;
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
SignalMajorizationAnd( ISignal &, ISignal &, float delta );
|
|||
|
|
|
|||
|
|
virtual ~SignalMajorizationAnd() = default;
|
|||
|
|
|
|||
|
|
operator float() const;
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
class SignalMajorizationOr : public ISignal {
|
|||
|
|
private:
|
|||
|
|
|
|||
|
|
ISignal & a;
|
|||
|
|
ISignal & b;
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
SignalMajorizationOr(ISignal &, ISignal &);
|
|||
|
|
|
|||
|
|
virtual ~SignalMajorizationOr() = default;
|
|||
|
|
|
|||
|
|
operator float() const;
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
} }
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif /* SOURCE_SIGNALMAJORIZATION_H_ */
|