Loading [MathJax]/extensions/tex2jax.js
uint8_t vector_triple_product(expression **result, expression *source_1, expression *source_2, expression *source_3, bool persistent)
uint8_t vector_dot_product(expression **result, expression *source_1, expression *source_2, bool persistent)
#define ERROR_CHECK(F)
Check if the return status of a function is RETS_ERROR. If so, return RETS_ERROR.
uint8_t vector_magnitude(expression **result, expression *source, bool persistent)
uint8_t vector_normalized(expression **result, expression *source, expression *magnitude, bool persistent)
uint8_t vector_angle(expression **result, expression *source_1, expression *source_2, bool persistent)
void free_expression(expression *source, bool persistent)
expression * copy_expression(const expression *source)
Returns a deep copy of an expression.
uint8_t vector_cross_product(expression **result, expression *source_1, expression *source_2, bool persistent)
uint8_t simplify(expression *source, bool recursive)
void append_child(expression *parent, expression *child)
Appends a child to an expression.
expression * new_expression(expression_type type, expression_identifier identifier, uint8_t child_count,...)
Allocates and initializes a new expression with the arguments provided.
expression * new_literal(int8_t sign, uintmax_t numerator, uintmax_t denominator)
Allocates and initializes a new literal expression.
struct expression ** children