VapourSynth-llvmexpr
Loading...
Searching...
No Matches
Compiler Class Reference

#include <llvmexpr/runtime/llvm/Compiler.hpp>

Public Member Functions

 Compiler (std::vector< Token > tokens_in, const VSVideoInfo *out_vi, const std::vector< const VSVideoInfo * > &in_vi, int width_in, int height_in, bool mirror, std::string dump_path, const std::map< std::pair< int, std::string >, int > &p_map, std::string function_name, int opt_level_in, int approx_math_in, const analysis::ExpressionAnalysisResults &analysis_results_in, int tile_x_in=0, int tile_y_in=0, ExprMode mode=ExprMode::Expr, const std::vector< std::string > &output_props={})
CompiledFunction compile ()

Detailed Description

Copyright (C) 2025 yuygfgg

This file is part of Vapoursynth-llvmexpr.

Vapoursynth-llvmexpr is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Vapoursynth-llvmexpr is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Vapoursynth-llvmexpr. If not, see https://www.gnu.org/licenses/.

Definition at line 33 of file Compiler.hpp.

Constructor & Destructor Documentation

◆ Compiler()

Compiler::Compiler ( std::vector< Token > tokens_in,
const VSVideoInfo * out_vi,
const std::vector< const VSVideoInfo * > & in_vi,
int width_in,
int height_in,
bool mirror,
std::string dump_path,
const std::map< std::pair< int, std::string >, int > & p_map,
std::string function_name,
int opt_level_in,
int approx_math_in,
const analysis::ExpressionAnalysisResults & analysis_results_in,
int tile_x_in = 0,
int tile_y_in = 0,
ExprMode mode = ExprMode::Expr,
const std::vector< std::string > & output_props = {} )

Definition at line 77 of file Compiler.cpp.

86 : tokens(std::move(tokens_in)), vo(out_vi), vi(in_vi),
87 num_inputs(static_cast<int>(in_vi.size())), width(width_in),
88 height(height_in), mirror_boundary(mirror),
89 dump_ir_path(std::move(dump_path)), prop_map(p_map),
90 func_name(std::move(function_name)), opt_level(opt_level_in),
91 approx_math(approx_math_in), tile_x(tile_x_in), tile_y(tile_y_in),
92 expr_mode(mode), output_props(output_props),
93 analysis_results(analysis_results_in) {}

Member Function Documentation

◆ compile()

CompiledFunction Compiler::compile ( )

Definition at line 95 of file Compiler.cpp.

95 {
96 if (approx_math == 2) {
97 return compileWithApproxMath(1);
98 }
99 return compileWithApproxMath(approx_math);
100}

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