Blender V4.3
BLI_expr_pylike_eval.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2018 Blender Authors, Alexander Gavrilov. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
11#ifdef __cplusplus
12extern "C" {
13#endif
14
17
21 /* Computation errors; result is still set, but may be NaN */
24 /* Expression dependent errors or bugs; result is 0 */
28
44bool BLI_expr_pylike_is_using_param(const struct ExprPyLike_Parsed *expr, int index);
51ExprPyLike_Parsed *BLI_expr_pylike_parse(const char *expression,
52 const char **param_names,
53 int param_names_len);
59 const double *param_values,
60 int param_values_len,
61 double *r_result);
62
63#ifdef __cplusplus
64}
65#endif
eExprPyLike_EvalStatus
@ EXPR_PYLIKE_FATAL_ERROR
@ EXPR_PYLIKE_SUCCESS
@ EXPR_PYLIKE_DIV_BY_ZERO
@ EXPR_PYLIKE_MATH_ERROR
@ EXPR_PYLIKE_INVALID
bool BLI_expr_pylike_is_constant(const struct ExprPyLike_Parsed *expr)
eExprPyLike_EvalStatus BLI_expr_pylike_eval(struct ExprPyLike_Parsed *expr, const double *param_values, int param_values_len, double *r_result)
void BLI_expr_pylike_free(struct ExprPyLike_Parsed *expr)
bool BLI_expr_pylike_is_valid(const struct ExprPyLike_Parsed *expr)
ExprPyLike_Parsed * BLI_expr_pylike_parse(const char *expression, const char **param_names, int param_names_len)
bool BLI_expr_pylike_is_using_param(const struct ExprPyLike_Parsed *expr, int index)