symbolic4
simplify.c File Reference
#include "symbolic4.h"

Go to the source code of this file.

Functions

void simplify_literal (expression *source)
 
void merge_additions_multiplications (expression *source)
 
uint8_t numeric_addition (expression **result, expression *a, expression *b, bool persistent)
 
uint8_t symbolic_addition (expression **result, expression *a, expression *b, bool persistent)
 
void evaluate_addition (expression *source)
 
void simplify_addition (expression *source)
 
uint8_t numeric_multiplication (expression **result, expression *a, expression *b, bool persistent)
 
uint8_t symbolic_multiplication (expression **result, expression *a, expression *b, bool persistent)
 
void evaluate_multiplication (expression *source)
 
uint8_t expand_multiplication (expression *source)
 
void simplify_multiplication (expression *source)
 
uint8_t expand_exponentation_base (expression *source)
 
uint8_t expand_exponentation_exponent (expression *source)
 
uint8_t numeric_exponentation (expression *source)
 
uint8_t symbolic_exponentation (expression *source)
 
return_status evaluate_exponentation (expression *source)
 
return_status simplify_exponentation (expression *source)
 
void simplify_subtraction (expression *source)
 
void expand_multiplication_addition_factors (expression *source)
 
void simplify_division (expression *source)
 
void merge_nested_exponentations (expression *source)
 
uint8_t remove_exponentation_identities (expression *source)
 
return_status exponentation_remove_logarithms (expression *source)
 
void simplify_abs (expression *source)
 
uint8_t evaluate_logarithm (expression **result, expression *value, expression *base)
 
uint8_t expand_logarithm (expression *source)
 
uint8_t simplify_logarithm (expression *source)
 
void simplify_sin (expression *source)
 
void simplify_cos (expression *source)
 
return_status simplify_tan (expression *source)
 
void simplify_arcsin (expression *source)
 
void simplify_arccos (expression *source)
 
void simplify_arctan (expression *source)
 
uint8_t simplify (expression *source, bool recursive)
 
void approximate_addition (expression *source)
 
void approximate_multiplication (expression *source)
 
void approximate_exponentation (expression *source)
 
void approximate_ln (expression *source)
 
void approximate_log (expression *source)
 
void approximate_trigonometric (expression *source)
 
void approximate (expression *source)
 

Variables

bool changed = false
 

Function Documentation

◆ approximate()

void approximate ( expression source)

Definition at line 1267 of file simplify.c.

◆ approximate_addition()

void approximate_addition ( expression source)

Definition at line 1162 of file simplify.c.

◆ approximate_exponentation()

void approximate_exponentation ( expression source)

Definition at line 1208 of file simplify.c.

◆ approximate_ln()

void approximate_ln ( expression source)

Definition at line 1219 of file simplify.c.

◆ approximate_log()

void approximate_log ( expression source)

Definition at line 1230 of file simplify.c.

◆ approximate_multiplication()

void approximate_multiplication ( expression source)

Definition at line 1185 of file simplify.c.

◆ approximate_trigonometric()

void approximate_trigonometric ( expression source)

Definition at line 1247 of file simplify.c.

◆ evaluate_addition()

void evaluate_addition ( expression source)

Definition at line 191 of file simplify.c.

◆ evaluate_exponentation()

return_status evaluate_exponentation ( expression source)

Definition at line 753 of file simplify.c.

◆ evaluate_logarithm()

uint8_t evaluate_logarithm ( expression **  result,
expression value,
expression base 
)

Definition at line 799 of file simplify.c.

◆ evaluate_multiplication()

void evaluate_multiplication ( expression source)

Definition at line 327 of file simplify.c.

◆ expand_exponentation_base()

uint8_t expand_exponentation_base ( expression source)

Definition at line 498 of file simplify.c.

◆ expand_exponentation_exponent()

uint8_t expand_exponentation_exponent ( expression source)

Definition at line 551 of file simplify.c.

◆ expand_logarithm()

uint8_t expand_logarithm ( expression source)

Definition at line 824 of file simplify.c.

◆ expand_multiplication()

uint8_t expand_multiplication ( expression source)

Definition at line 405 of file simplify.c.

◆ expand_multiplication_addition_factors()

void expand_multiplication_addition_factors ( expression source)

Definition at line 383 of file simplify.c.

◆ exponentation_remove_logarithms()

return_status exponentation_remove_logarithms ( expression source)

Definition at line 702 of file simplify.c.

◆ merge_additions_multiplications()

void merge_additions_multiplications ( expression source)

Definition at line 59 of file simplify.c.

◆ merge_nested_exponentations()

void merge_nested_exponentations ( expression source)

Definition at line 479 of file simplify.c.

◆ numeric_addition()

uint8_t numeric_addition ( expression **  result,
expression a,
expression b,
bool  persistent 
)

Definition at line 95 of file simplify.c.

◆ numeric_exponentation()

uint8_t numeric_exponentation ( expression source)

Definition at line 608 of file simplify.c.

◆ numeric_multiplication()

uint8_t numeric_multiplication ( expression **  result,
expression a,
expression b,
bool  persistent 
)

Definition at line 256 of file simplify.c.

◆ remove_exponentation_identities()

uint8_t remove_exponentation_identities ( expression source)

Definition at line 574 of file simplify.c.

◆ simplify()

uint8_t simplify ( expression source,
bool  recursive 
)

Definition at line 1117 of file simplify.c.

◆ simplify_abs()

void simplify_abs ( expression source)

Definition at line 779 of file simplify.c.

◆ simplify_addition()

void simplify_addition ( expression source)

Definition at line 241 of file simplify.c.

◆ simplify_arccos()

void simplify_arccos ( expression source)

Definition at line 1053 of file simplify.c.

◆ simplify_arcsin()

void simplify_arcsin ( expression source)

Definition at line 1017 of file simplify.c.

◆ simplify_arctan()

void simplify_arctan ( expression source)

Definition at line 1087 of file simplify.c.

◆ simplify_cos()

void simplify_cos ( expression source)

Definition at line 945 of file simplify.c.

◆ simplify_division()

void simplify_division ( expression source)

Definition at line 467 of file simplify.c.

◆ simplify_exponentation()

return_status simplify_exponentation ( expression source)

Definition at line 767 of file simplify.c.

◆ simplify_literal()

void simplify_literal ( expression source)

Definition at line 51 of file simplify.c.

◆ simplify_logarithm()

uint8_t simplify_logarithm ( expression source)

Definition at line 879 of file simplify.c.

◆ simplify_multiplication()

void simplify_multiplication ( expression source)

Definition at line 460 of file simplify.c.

◆ simplify_sin()

void simplify_sin ( expression source)

Definition at line 909 of file simplify.c.

◆ simplify_subtraction()

void simplify_subtraction ( expression source)

Definition at line 247 of file simplify.c.

◆ simplify_tan()

return_status simplify_tan ( expression source)

Definition at line 981 of file simplify.c.

◆ symbolic_addition()

uint8_t symbolic_addition ( expression **  result,
expression a,
expression b,
bool  persistent 
)

Definition at line 145 of file simplify.c.

◆ symbolic_exponentation()

uint8_t symbolic_exponentation ( expression source)

Definition at line 683 of file simplify.c.

◆ symbolic_multiplication()

uint8_t symbolic_multiplication ( expression **  result,
expression a,
expression b,
bool  persistent 
)

Definition at line 285 of file simplify.c.

Variable Documentation

◆ changed

bool changed = false

Definition at line 28 of file simplify.c.