My Project
|
#include <Rules.h>
Public Types | |
using | ValueTy = typename BinaryReducer::ValueTy |
using | ThisTy = BasePropagatedFact< BinaryReducer > |
Public Member Functions | |
BasePropagatedFact () | |
int | getSalience () const |
bool | hasValue () const |
ValueTy | getValue () const |
ModificationResult | assertValue (int assertSalience, ValueTy assertValue) |
ModificationResult | mergeFrom (const ThisTy &other) |
A fact that can converge through forward propagation alone without the need to track ownership or individual assertions. In practice, this works for static assertions that are either minimized or maximized and do not vary dynamically.
It is expected that ValueTy is appropriate to pass by value and has an operator==. The BinaryReducer type should have two static methods: using ValueTy : Type of the value. ValueTy initialValue() : Returns the initial value of the fact. ValueTy reduce(ValueTy lhs, ValueTy rhs) : Reduces two values.
using mlir::quantizer::BasePropagatedFact< BinaryReducer >::ThisTy = BasePropagatedFact<BinaryReducer> |
using mlir::quantizer::BasePropagatedFact< BinaryReducer >::ValueTy = typename BinaryReducer::ValueTy |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |