NeoN
A framework for CFD software
Loading...
Searching...
No Matches
Public Member Functions | List of all members
NeoN::dsl::Optimizer< ExpressionType > Class Template Referenceabstract

Abstract base for DSL expression optimizers. More...

#include <optimizer.hpp>

Inheritance diagram for NeoN::dsl::Optimizer< ExpressionType >:
NeoN::dsl::DivLapOptimizer< ExpressionType >

Public Member Functions

virtual ~Optimizer ()=default
 
virtual ExpressionType optimize (const ExpressionType &expr) const =0
 Return an optimized copy of expr.
 

Detailed Description

template<typename ExpressionType>
class NeoN::dsl::Optimizer< ExpressionType >

Abstract base for DSL expression optimizers.

Subclasses inspect an expression and return a semantically equivalent but potentially more efficient one (e.g. by replacing two operators with a single fused kernel).

Template Parameters
ExpressionTypeThe DSL expression type being optimized.

Definition at line 27 of file optimizer.hpp.

Constructor & Destructor Documentation

◆ ~Optimizer()

template<typename ExpressionType >
virtual NeoN::dsl::Optimizer< ExpressionType >::~Optimizer ( )
virtualdefault

Member Function Documentation

◆ optimize()

template<typename ExpressionType >
virtual ExpressionType NeoN::dsl::Optimizer< ExpressionType >::optimize ( const ExpressionType &  expr) const
pure virtual

Return an optimized copy of expr.

Implementations must not mutate expr; they return a new expression.

Implemented in NeoN::dsl::DivLapOptimizer< ExpressionType >.


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