MemoryValue lte(const MemoryValue &a, const MemoryValue &b) override
Alu(GreaterThanInterface &greater_than, FieldGreaterThanInterface &field_gt, RangeCheckInterface &range_check, EventEmitterInterface< AluEvent > &event_emitter)
RangeCheckInterface & range_check
MemoryValue fdiv(const MemoryValue &a, const MemoryValue &b) override
MemoryValue truncate(const FF &a, MemoryTag dst_tag) override
MemoryValue eq(const MemoryValue &a, const MemoryValue &b) override
MemoryValue lt(const MemoryValue &a, const MemoryValue &b) override
MemoryValue shl(const MemoryValue &a, const MemoryValue &b) override
MemoryValue add(const MemoryValue &a, const MemoryValue &b) override
MemoryValue sub(const MemoryValue &a, const MemoryValue &b) override
FieldGreaterThanInterface & field_gt
MemoryValue mul(const MemoryValue &a, const MemoryValue &b) override
MemoryValue shr(const MemoryValue &a, const MemoryValue &b) override
EventEmitterInterface< AluEvent > & events
MemoryValue op_not(const MemoryValue &a) override
GreaterThanInterface & greater_than
MemoryValue div(const MemoryValue &a, const MemoryValue &b) override
virtual MemoryValue lt(const MemoryValue &a, const MemoryValue &b)=0
virtual MemoryValue add(const MemoryValue &a, const MemoryValue &b)=0
virtual MemoryValue mul(const MemoryValue &a, const MemoryValue &b)=0
virtual MemoryValue shl(const MemoryValue &a, const MemoryValue &b)=0
virtual MemoryValue fdiv(const MemoryValue &a, const MemoryValue &b)=0
virtual MemoryValue div(const MemoryValue &a, const MemoryValue &b)=0
virtual MemoryValue op_not(const MemoryValue &a)=0
virtual MemoryValue lte(const MemoryValue &a, const MemoryValue &b)=0
virtual MemoryValue shr(const MemoryValue &a, const MemoryValue &b)=0
virtual ~AluInterface()=default
virtual MemoryValue eq(const MemoryValue &a, const MemoryValue &b)=0
virtual MemoryValue sub(const MemoryValue &a, const MemoryValue &b)=0
virtual MemoryValue truncate(const FF &a, MemoryTag dst_tag)=0
EventEmitter< DataCopyEvent > event_emitter