Kestrel Interface
Loading...
Searching...
No Matches
kest_expression.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  kest_expression
struct  kest_interval
struct  kest_named_expression

Macros

#define KEST_EXPR_FORM_ATOMIC   0
#define KEST_EXPR_FORM_UNARY_OP   1
#define KEST_EXPR_FORM_UNARY_FN   2
#define KEST_EXPR_FORM_INFIX_OP   3
#define KEST_EXPR_FORM_NORM   4
#define KEST_EXPR_CONST   0
#define KEST_EXPR_REF   1
#define KEST_EXPR_NEG   2
#define KEST_EXPR_ADD   3
#define KEST_EXPR_SUB   4
#define KEST_EXPR_MUL   5
#define KEST_EXPR_DIV   6
#define KEST_EXPR_ABS   7
#define KEST_EXPR_SQR   8
#define KEST_EXPR_SQRT   9
#define KEST_EXPR_EXP   10
#define KEST_EXPR_LN   11
#define KEST_EXPR_POW   12
#define KEST_EXPR_SIN   13
#define KEST_EXPR_SINH   14
#define KEST_EXPR_COS   15
#define KEST_EXPR_COSH   16
#define KEST_EXPR_TAN   17
#define KEST_EXPR_TANH   18
#define KEST_EXPR_ASIN   19
#define KEST_EXPR_ACOS   20
#define KEST_EXPR_ATAN   21
#define KEST_EXPR_TYPE_MAX_VAL   KEST_EXPR_ATAN
#define KEST_EXPR_REC_MAX_DEPTH   128

Functions

 DECLARE_PTR_LIST (kest_expression)
kest_expression kest_expression_const (float v)
kest_expressionnew_m_expression_const (float v)
kest_expressionnew_m_expression_reference (char *ref_name)
kest_expressionnew_m_expression_unary (int unary_type, kest_expression *rhs)
kest_expressionnew_m_expression_binary (int binary_type, kest_expression *arg_1, kest_expression *arg_2)
int kest_expression_references_param (kest_expression *expr, kest_parameter *param)
float kest_expression_evaluate (kest_expression *expr, kest_expr_scope *scope)
int kest_expression_is_constant (kest_expression *expr)
float kest_expression_min (kest_expression *expr, kest_parameter_pll *params)
float kest_expression_max (kest_expression *expr, kest_parameter_pll *params)
int kest_expression_detect_constants (kest_expression *expr)
kest_interval kest_interval_real_line ()
kest_interval kest_interval_ab (float a, float b)
kest_interval kest_interval_a_ (float a)
kest_interval kest_interval__b (float b)
kest_interval kest_interval_singleton (float v)
kest_interval kest_expression_compute_range (kest_expression *expr, kest_expr_scope *scope)
char * kest_expression_type_to_str (int type)
int kest_expression_print (kest_expression *expr)
const char * kest_expression_to_string (kest_expression *expr)
 DECLARE_LINKED_PTR_LIST (kest_named_expression)

Variables

kest_expression kest_expression_standard_gain_min
kest_expression kest_expression_standard_gain_max
kest_expression kest_expression_zero
kest_expression kest_expression_one
kest_expression kest_expression_minus_one
kest_expression kest_expression_pi
kest_expression kest_expression_e
kest_expression kest_expression_sample_rate
kest_expression kest_expression_int_max
kest_expression kest_expression_int_min
kest_expression kest_expression_freq_max

Macro Definition Documentation

◆ KEST_EXPR_ABS

◆ KEST_EXPR_ACOS

◆ KEST_EXPR_ADD

◆ KEST_EXPR_ASIN

◆ KEST_EXPR_ATAN

◆ KEST_EXPR_CONST

◆ KEST_EXPR_COS

◆ KEST_EXPR_COSH

◆ KEST_EXPR_DIV

◆ KEST_EXPR_EXP

◆ KEST_EXPR_FORM_ATOMIC

#define KEST_EXPR_FORM_ATOMIC   0

Definition at line 4 of file kest_expression.h.

Referenced by kest_expression_form(), and kest_expression_print_rec().

◆ KEST_EXPR_FORM_INFIX_OP

#define KEST_EXPR_FORM_INFIX_OP   3

Definition at line 7 of file kest_expression.h.

Referenced by kest_expression_form(), and kest_expression_print_rec().

◆ KEST_EXPR_FORM_NORM

#define KEST_EXPR_FORM_NORM   4

Definition at line 8 of file kest_expression.h.

Referenced by kest_expression_form(), and kest_expression_print_rec().

◆ KEST_EXPR_FORM_UNARY_FN

#define KEST_EXPR_FORM_UNARY_FN   2

Definition at line 6 of file kest_expression.h.

Referenced by kest_expression_form(), and kest_expression_print_rec().

◆ KEST_EXPR_FORM_UNARY_OP

#define KEST_EXPR_FORM_UNARY_OP   1

Definition at line 5 of file kest_expression.h.

Referenced by kest_expression_form(), and kest_expression_print_rec().

◆ KEST_EXPR_LN

◆ KEST_EXPR_MUL

◆ KEST_EXPR_NEG

◆ KEST_EXPR_POW

◆ KEST_EXPR_REC_MAX_DEPTH

◆ KEST_EXPR_REF

◆ KEST_EXPR_SIN

◆ KEST_EXPR_SINH

◆ KEST_EXPR_SQR

◆ KEST_EXPR_SQRT

◆ KEST_EXPR_SUB

◆ KEST_EXPR_TAN

◆ KEST_EXPR_TANH

◆ KEST_EXPR_TYPE_MAX_VAL

#define KEST_EXPR_TYPE_MAX_VAL   KEST_EXPR_ATAN

Definition at line 33 of file kest_expression.h.

Referenced by kest_expression_arity().

Function Documentation

◆ DECLARE_LINKED_PTR_LIST()

DECLARE_LINKED_PTR_LIST ( kest_named_expression )

◆ DECLARE_PTR_LIST()

DECLARE_PTR_LIST ( kest_expression )

◆ kest_expression_compute_range()

kest_interval kest_expression_compute_range ( kest_expression * expr,
kest_expr_scope * scope )

Definition at line 1206 of file kest_expression.c.

Referenced by kest_expression_compute_format().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kest_expression_const()

kest_expression kest_expression_const ( float v)

Definition at line 502 of file kest_expression.c.

Referenced by new_m_expression_const().

Here is the caller graph for this function:

◆ kest_expression_detect_constants()

int kest_expression_detect_constants ( kest_expression * expr)

Definition at line 221 of file kest_expression.c.

Referenced by kest_parse_expression().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kest_expression_evaluate()

float kest_expression_evaluate ( kest_expression * expr,
kest_expr_scope * scope )

◆ kest_expression_is_constant()

int kest_expression_is_constant ( kest_expression * expr)

Definition at line 157 of file kest_expression.c.

Referenced by kest_extract_int_setting_from_dict(), kest_extract_parameter_from_dict(), and kest_extract_setting_from_dict().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kest_expression_max()

float kest_expression_max ( kest_expression * expr,
kest_parameter_pll * params )

◆ kest_expression_min()

float kest_expression_min ( kest_expression * expr,
kest_parameter_pll * params )

◆ kest_expression_print()

int kest_expression_print ( kest_expression * expr)

Definition at line 1372 of file kest_expression.c.

Here is the call graph for this function:

◆ kest_expression_references_param()

int kest_expression_references_param ( kest_expression * expr,
kest_parameter * param )

Definition at line 497 of file kest_expression.c.

Here is the call graph for this function:

◆ kest_expression_to_string()

const char * kest_expression_to_string ( kest_expression * expr)

Definition at line 1385 of file kest_expression.c.

Referenced by kest_dict_entry_to_string(), kest_expression_compute_format(), kest_expression_compute_range_rec(), kest_extract_biquad_from_dict(), kest_extract_filter_from_dict(), kest_extract_parameter_from_dict(), and kest_parse_asm_line().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kest_expression_type_to_str()

char * kest_expression_type_to_str ( int type)

Definition at line 40 of file kest_expression.c.

Referenced by kest_extract_parameter_from_dict().

Here is the caller graph for this function:

◆ kest_interval__b()

kest_interval kest_interval__b ( float b)

Definition at line 621 of file kest_expression.c.

◆ kest_interval_a_()

kest_interval kest_interval_a_ ( float a)

Definition at line 613 of file kest_expression.c.

◆ kest_interval_ab()

kest_interval kest_interval_ab ( float a,
float b )

Definition at line 605 of file kest_expression.c.

Referenced by kest_expression_compute_range_rec().

Here is the caller graph for this function:

◆ kest_interval_real_line()

kest_interval kest_interval_real_line ( )

Definition at line 597 of file kest_expression.c.

Referenced by kest_expression_compute_range_rec().

Here is the caller graph for this function:

◆ kest_interval_singleton()

kest_interval kest_interval_singleton ( float v)

Definition at line 629 of file kest_expression.c.

Referenced by kest_expression_compute_range_rec().

Here is the caller graph for this function:

◆ new_m_expression_binary()

kest_expression * new_m_expression_binary ( int binary_type,
kest_expression * arg_1,
kest_expression * arg_2 )

Definition at line 548 of file kest_expression.c.

Referenced by kest_parse_expression_rec_pratt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ new_m_expression_const()

kest_expression * new_m_expression_const ( float v)

Definition at line 513 of file kest_expression.c.

Referenced by kest_parse_asm_arg_2(), and kest_parse_expression_rec_pratt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ new_m_expression_reference()

kest_expression * new_m_expression_reference ( char * ref_name)

Definition at line 574 of file kest_expression.c.

Referenced by kest_parse_asm_arg_2(), and kest_parse_expression_rec_pratt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ new_m_expression_unary()

kest_expression * new_m_expression_unary ( int unary_type,
kest_expression * rhs )

Definition at line 524 of file kest_expression.c.

Referenced by kest_parse_expression_rec_pratt().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ kest_expression_e

kest_expression kest_expression_e
extern

Definition at line 34 of file kest_expression.c.

◆ kest_expression_freq_max

kest_expression kest_expression_freq_max
extern

Definition at line 38 of file kest_expression.c.

Referenced by init_effect().

◆ kest_expression_int_max

kest_expression kest_expression_int_max
extern

Definition at line 36 of file kest_expression.c.

◆ kest_expression_int_min

kest_expression kest_expression_int_min
extern

Definition at line 37 of file kest_expression.c.

◆ kest_expression_minus_one

kest_expression kest_expression_minus_one
extern

Definition at line 32 of file kest_expression.c.

◆ kest_expression_one

kest_expression kest_expression_one
extern

Definition at line 31 of file kest_expression.c.

Referenced by init_effect().

◆ kest_expression_pi

kest_expression kest_expression_pi
extern

Definition at line 33 of file kest_expression.c.

◆ kest_expression_sample_rate

kest_expression kest_expression_sample_rate
extern

Definition at line 35 of file kest_expression.c.

◆ kest_expression_standard_gain_max

kest_expression kest_expression_standard_gain_max
extern

Definition at line 29 of file kest_expression.c.

Referenced by kest_init_context().

◆ kest_expression_standard_gain_min

kest_expression kest_expression_standard_gain_min
extern

Definition at line 28 of file kest_expression.c.

Referenced by kest_init_context().

◆ kest_expression_zero

kest_expression kest_expression_zero
extern

Definition at line 30 of file kest_expression.c.

Referenced by init_effect().