My Project
Public Types | Public Member Functions | List of all members
mlir::quantizer::BasePropagatedFact< BinaryReducer > Class Template Reference

#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)
 

Detailed Description

template<typename BinaryReducer>
class mlir::quantizer::BasePropagatedFact< BinaryReducer >

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.

Member Typedef Documentation

◆ ThisTy

template<typename BinaryReducer>
using mlir::quantizer::BasePropagatedFact< BinaryReducer >::ThisTy = BasePropagatedFact<BinaryReducer>

◆ ValueTy

template<typename BinaryReducer>
using mlir::quantizer::BasePropagatedFact< BinaryReducer >::ValueTy = typename BinaryReducer::ValueTy

Constructor & Destructor Documentation

◆ BasePropagatedFact()

template<typename BinaryReducer>
mlir::quantizer::BasePropagatedFact< BinaryReducer >::BasePropagatedFact ( )
inline

Member Function Documentation

◆ assertValue()

template<typename BinaryReducer>
ModificationResult mlir::quantizer::BasePropagatedFact< BinaryReducer >::assertValue ( int  assertSalience,
ValueTy  assertValue 
)
inline

◆ getSalience()

template<typename BinaryReducer>
int mlir::quantizer::BasePropagatedFact< BinaryReducer >::getSalience ( ) const
inline

◆ getValue()

template<typename BinaryReducer>
ValueTy mlir::quantizer::BasePropagatedFact< BinaryReducer >::getValue ( ) const
inline

◆ hasValue()

template<typename BinaryReducer>
bool mlir::quantizer::BasePropagatedFact< BinaryReducer >::hasValue ( ) const
inline

◆ mergeFrom()

template<typename BinaryReducer>
ModificationResult mlir::quantizer::BasePropagatedFact< BinaryReducer >::mergeFrom ( const ThisTy other)
inline

The documentation for this class was generated from the following file: