MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ execute_with_grammar()

template<ComputeData InputType>
auto MayaFlux::Yantra::GrammarAwareComputeMatrix::execute_with_grammar ( const InputType &  input,
const ExecutionContext context = {} 
)
inline

Execute operations with grammar rule pre-processing.

Template Parameters
InputTypeThe input data type
Parameters
inputInput data to process
contextExecution context containing parameters and metadata
Returns
Processed input data after grammar rule application

Applies grammar rules to the input data before any matrix operations. This allows for intelligent preprocessing, operation selection, and parameter configuration based on the input characteristics and context.

The process:

  1. Wraps input data in IO structure
  2. Searches for matching grammar rules
  3. Applies the best matching rule if found
  4. Returns processed data or original data if no rules match
Note
This method focuses on grammar rule application. Use the base ComputeMatrix methods for actual operation execution.

Definition at line 475 of file ComputePipeline.hpp.

475 {})
476 {
477 IO<InputType> input_data { input };
478
479 if (auto best_rule = m_grammar->find_best_match(input_data, context)) {
480 if (auto rule_result = m_grammar->execute_rule(best_rule->name, input_data, context)) {
481 try {
482 input_data = std::any_cast<IO<InputType>>(*rule_result);
483 } catch (const std::bad_any_cast&) {
484 // Continue with original data if conversion fails
485 }
486 }
487 }
488
489 return input_data;
490 }
std::shared_ptr< ComputationGrammar > m_grammar
Grammar instance for rule-based operation selection.