#ifndef RSSN_H
#define RSSN_H
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
#ifdef __cplusplus
namespace rssn {
#endif
typedef enum rssn_ConvergenceResult {
Converges,
Diverges,
Inconclusive,
} rssn_ConvergenceResult;
typedef enum rssn_MonomialOrder {
Lexicographical,
GradedLexicographical,
GradedReverseLexicographical,
} rssn_MonomialOrder;
typedef enum rssn_CoordinateSystem {
Cartesian,
Cylindrical,
Spherical,
} rssn_CoordinateSystem;
typedef struct rssn_ComputationResultCache rssn_ComputationResultCache;
typedef struct rssn_Expr rssn_Expr;
typedef struct rssn_FiniteFieldPolynomial rssn_FiniteFieldPolynomial;
typedef struct rssn_FredholmEquation rssn_FredholmEquation;
typedef struct rssn_Multivector rssn_Multivector;
typedef struct rssn_ParametricCurve rssn_ParametricCurve;
typedef struct rssn_ParametricSurface rssn_ParametricSurface;
typedef struct rssn_ParsingCache rssn_ParsingCache;
typedef struct rssn_PrimeFieldElement rssn_PrimeFieldElement;
typedef struct rssn_RewriteRule rssn_RewriteRule;
typedef struct rssn_State rssn_State;
typedef struct rssn_Tensor rssn_Tensor;
typedef struct rssn_Vec_Expr rssn_Vec_Expr;
typedef struct rssn_Vec_FiniteFieldPolynomial rssn_Vec_FiniteFieldPolynomial;
typedef struct rssn_Vec_RewriteRule rssn_Vec_RewriteRule;
typedef struct rssn_Vec_SparsePolynomial rssn_Vec_SparsePolynomial;
typedef struct rssn_Vec_String rssn_Vec_String;
typedef struct rssn_Vector rssn_Vector;
typedef struct rssn_VolterraEquation rssn_VolterraEquation;
typedef struct rssn_Volume rssn_Volume;
typedef struct rssn_BincodeBuffer {
uint8_t *mData;
size_t mLen;
} rssn_BincodeBuffer;
typedef struct rssn_FfiPoint {
double mX;
double mY;
} rssn_FfiPoint;
#ifdef __cplusplus
extern "C" {
#endif
rssn_
DEPRECATED_WITH_NOTE
struct rssn_Expr *expr_definite_integrate(struct rssn_Expr *aHandle,
const char *aVarPtr,
struct rssn_Expr *aLowerHandle,
struct rssn_Expr *aUpperHandle)
;
rssn_
DEPRECATED_WITH_NOTE
struct rssn_Expr *expr_differentiate(struct rssn_Expr *aHandle,
const char *aVarPtr)
;
rssn_
DEPRECATED_WITH_NOTE
struct rssn_Expr *expr_integrate(struct rssn_Expr *aHandle,
const char *aVarPtr)
;
rssn_
DEPRECATED_WITH_NOTE
struct rssn_Expr *expr_limit(struct rssn_Expr *aHandle,
const char *aVarPtr,
struct rssn_Expr *aToHandle)
;
rssn_ DEPRECATED_WITH_NOTE struct rssn_Expr *expr_simplify(struct rssn_Expr *aHandle) ;
rssn_ DEPRECATED_WITH_NOTE char *expr_solve(struct rssn_Expr *aHandle, const char *aVarPtr) ;
rssn_
DEPRECATED_WITH_NOTE
struct rssn_Expr *expr_substitute(struct rssn_Expr *aHandle,
const char *aVarPtr,
struct rssn_Expr *aReplacementHandle)
;
rssn_ char *expr_to_latex(struct rssn_Expr *aHandle) ;
rssn_ char *expr_to_pretty_string(struct rssn_Expr *aHandle) ;
rssn_ char *expr_to_string(struct rssn_Expr *aHandle) ;
rssn_ char *expr_unify_expression(struct rssn_Expr *aHandle) ;
rssn_ void free_string(char *aS) ;
rssn_ char *interpolate_bezier_curve(const char *aJsonPtr) ;
rssn_ char *interpolate_lagrange(const char *aJsonPtr) ;
rssn_
DEPRECATED_WITH_NOTE
struct rssn_Expr *matrix_add(struct rssn_Expr *aH1,
struct rssn_Expr *aH2)
;
rssn_
DEPRECATED_WITH_NOTE
char *matrix_characteristic_polynomial(struct rssn_Expr *aHandle,
const char *aVarPtr)
;
rssn_ DEPRECATED_WITH_NOTE struct rssn_Expr *matrix_determinant(struct rssn_Expr *aHandle) ;
rssn_
DEPRECATED_WITH_NOTE
char *matrix_eigen_decomposition(struct rssn_Expr *aHandle)
;
rssn_ DEPRECATED_WITH_NOTE struct rssn_Expr *matrix_identity(size_t aSize) ;
rssn_ DEPRECATED_WITH_NOTE struct rssn_Expr *matrix_inverse(struct rssn_Expr *aHandle) ;
rssn_ DEPRECATED_WITH_NOTE char *matrix_lu_decomposition(struct rssn_Expr *aHandle) ;
rssn_
DEPRECATED_WITH_NOTE
struct rssn_Expr *matrix_mul(struct rssn_Expr *aH1,
struct rssn_Expr *aH2)
;
rssn_ DEPRECATED_WITH_NOTE char *matrix_null_space(struct rssn_Expr *aHandle) ;
rssn_ DEPRECATED_WITH_NOTE char *matrix_rref(struct rssn_Expr *aHandle) ;
rssn_
DEPRECATED_WITH_NOTE
struct rssn_Expr *matrix_scalar_mul(struct rssn_Expr *aScalarHandle,
struct rssn_Expr *aMatrixHandle)
;
rssn_
DEPRECATED_WITH_NOTE
struct rssn_Expr *matrix_sub(struct rssn_Expr *aH1,
struct rssn_Expr *aH2)
;
rssn_ DEPRECATED_WITH_NOTE char *matrix_trace(struct rssn_Expr *aHandle) ;
rssn_ DEPRECATED_WITH_NOTE struct rssn_Expr *matrix_transpose(struct rssn_Expr *aHandle) ;
rssn_ DEPRECATED_WITH_NOTE char *nt_mod_inverse(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE char *nt_mod_pow(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE char *numerical_gradient(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE char *numerical_integrate(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE char *physics_solve_advection_diffusion_1d(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE int64_t poly_degree(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE struct rssn_Expr *poly_from_coeffs_vec(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE bool poly_is_polynomial(const char *aJsonPtr) ;
rssn_
DEPRECATED_WITH_NOTE
struct rssn_Expr *poly_leading_coefficient(struct rssn_Expr *aHandle,
const char *aVarPtr)
;
rssn_ DEPRECATED_WITH_NOTE char *poly_long_division(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE char *poly_to_coeffs_vec(const char *aJsonPtr) ;
rssn_ bool polynomial_contains_var_handle(const struct rssn_Expr *aExprHandle, const char *aVar) ;
rssn_ int64_t polynomial_degree_handle(const struct rssn_Expr *aExprHandle, const char *aVar) ;
rssn_ void polynomial_free_expr_handle(struct rssn_Expr *aExprHandle) ;
rssn_ bool polynomial_is_polynomial_handle(const struct rssn_Expr *aExprHandle, const char *aVar) ;
rssn_
struct rssn_Expr *polynomial_leading_coefficient_handle(const struct rssn_Expr *aExprHandle,
const char *aVar)
;
rssn_
void polynomial_long_division_handle(const struct rssn_Expr *aDividendHandle,
const struct rssn_Expr *aDivisorHandle,
const char *aVar,
struct rssn_Expr **aQuotientOut,
struct rssn_Expr **aRemainderOut)
;
rssn_ struct rssn_Expr *rssn_abs_handle(const struct rssn_Expr *aZ) ;
rssn_
struct rssn_Expr *rssn_analytic_continuation_handle(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aOrigCenter,
const struct rssn_Expr *aNewCenter,
size_t aOrder)
;
rssn_
enum rssn_ConvergenceResult rssn_analyze_convergence_handle(const struct rssn_Expr *aTerm,
const char *aVar)
;
rssn_
struct rssn_Expr *rssn_apply_rules_to_normal_form(const struct rssn_Expr *aExpr,
const struct rssn_RewriteRule *const *aRules,
size_t aRulesLen)
;
rssn_
struct rssn_BincodeBuffer rssn_apply_rules_to_normal_form_bincode(struct rssn_BincodeBuffer aInput)
;
rssn_ char *rssn_apply_rules_to_normal_form_json(const char *aJsonStr) ;
rssn_ struct rssn_Expr *rssn_arg_handle(const struct rssn_Expr *aZ) ;
rssn_
struct rssn_Expr *rssn_asymptotic_expansion_handle(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aPoint,
size_t aOrder)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_abs(struct rssn_BincodeBuffer aZBuf) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_analytic_continuation(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aVarBuf,
struct rssn_BincodeBuffer aOrigCenterBuf,
struct rssn_BincodeBuffer aNewCenterBuf,
struct rssn_BincodeBuffer aOrderBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_analyze_convergence(struct rssn_BincodeBuffer aTermBuf,
struct rssn_BincodeBuffer aVarBuf)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_arg(struct rssn_BincodeBuffer aZBuf) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_asymptotic_expansion(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aVarBuf,
struct rssn_BincodeBuffer aPointBuf,
struct rssn_BincodeBuffer aOrderBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_buchberger(struct rssn_BincodeBuffer aBasisBuf,
struct rssn_BincodeBuffer aOrderBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_calculate_residue(struct rssn_BincodeBuffer aExprBuf,
const char *aVar,
struct rssn_BincodeBuffer aPoleBuf)
;
rssn_ bool rssn_bincode_check_analytic(struct rssn_BincodeBuffer aExprBuf, const char *aVar) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_chinese_remainder(struct rssn_BincodeBuffer aCongruencesBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_classify_pde(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
struct rssn_BincodeBuffer aVarsBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_coordinates_get_metric_tensor(struct rssn_BincodeBuffer aSystemBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_definite_integrate(struct rssn_BincodeBuffer aExprBuf,
const char *aVar,
struct rssn_BincodeBuffer aLowerBuf,
struct rssn_BincodeBuffer aUpperBuf)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_denest_sqrt(struct rssn_BincodeBuffer aExprBuf) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_differentiate(struct rssn_BincodeBuffer aExprBuf,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_evaluate_at_point(struct rssn_BincodeBuffer aExprBuf,
const char *aVar,
struct rssn_BincodeBuffer aValueBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_evaluate_numerical(struct rssn_BincodeBuffer aExprBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_extended_gcd(struct rssn_BincodeBuffer aABuf,
struct rssn_BincodeBuffer aBBuf)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_factor_gf(struct rssn_BincodeBuffer aPolyBuf) ;
rssn_
size_t rssn_bincode_find_pole_order(struct rssn_BincodeBuffer aExprBuf,
const char *aVar,
struct rssn_BincodeBuffer aPoleBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_find_poles(struct rssn_BincodeBuffer aExprBuf,
const char *aVar)
;
rssn_ int64_t rssn_bincode_finite_field_polynomial_degree(struct rssn_BincodeBuffer aPolyBuf) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_finite_field_polynomial_long_division(struct rssn_BincodeBuffer aDividendBuf,
struct rssn_BincodeBuffer aDivisorBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_finite_field_polynomial_new(struct rssn_BincodeBuffer aCoeffsBuf,
struct rssn_BincodeBuffer aModulusBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_fourier_series(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aVarBuf,
struct rssn_BincodeBuffer aPeriodBuf,
struct rssn_BincodeBuffer aOrderBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_general_arccos(struct rssn_BincodeBuffer aZBuf,
struct rssn_BincodeBuffer aKBuf,
struct rssn_BincodeBuffer aSBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_general_arcsin(struct rssn_BincodeBuffer aZBuf,
struct rssn_BincodeBuffer aKBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_general_arctan(struct rssn_BincodeBuffer aZBuf,
struct rssn_BincodeBuffer aKBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_general_log(struct rssn_BincodeBuffer aZBuf,
struct rssn_BincodeBuffer aKBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_general_nth_root(struct rssn_BincodeBuffer aZBuf,
struct rssn_BincodeBuffer aNBuf,
struct rssn_BincodeBuffer aKBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_general_power(struct rssn_BincodeBuffer aZBuf,
struct rssn_BincodeBuffer aWBuf,
struct rssn_BincodeBuffer aKBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_general_sqrt(struct rssn_BincodeBuffer aZBuf,
struct rssn_BincodeBuffer aKBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_get_real_imag_parts(struct rssn_BincodeBuffer aExprBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_heuristic_simplify(struct rssn_BincodeBuffer aExprBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_integrate(struct rssn_BincodeBuffer aExprBuf,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_integrate_rational_function(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aXBuf)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_is_prime(struct rssn_BincodeBuffer aNBuf) ;
rssn_ struct rssn_BincodeBuffer rssn_bincode_is_satisfiable(struct rssn_BincodeBuffer aExprBuf) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_laurent_series(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aVarBuf,
struct rssn_BincodeBuffer aCenterBuf,
struct rssn_BincodeBuffer aOrderBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_limit(struct rssn_BincodeBuffer aExprBuf,
const char *aVar,
struct rssn_BincodeBuffer aPointBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_matrix_add(struct rssn_BincodeBuffer aM1Buf,
struct rssn_BincodeBuffer aM2Buf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_matrix_determinant(struct rssn_BincodeBuffer aMatrixBuf)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_matrix_inverse(struct rssn_BincodeBuffer aMatrixBuf) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_matrix_mul(struct rssn_BincodeBuffer aM1Buf,
struct rssn_BincodeBuffer aM2Buf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_matrix_solve_linear_system(struct rssn_BincodeBuffer aABuf,
struct rssn_BincodeBuffer aBBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_matrix_transpose(struct rssn_BincodeBuffer aMatrixBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_multivector_geometric_product(struct rssn_BincodeBuffer aABuf,
struct rssn_BincodeBuffer aBBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_multivector_grade_projection(struct rssn_BincodeBuffer aMvBuf,
uint32_t aGrade)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_multivector_inner_product(struct rssn_BincodeBuffer aABuf,
struct rssn_BincodeBuffer aBBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_multivector_magnitude(struct rssn_BincodeBuffer aMvBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_multivector_outer_product(struct rssn_BincodeBuffer aABuf,
struct rssn_BincodeBuffer aBBuf)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_multivector_reverse(struct rssn_BincodeBuffer aMvBuf) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_multivector_scalar(uint32_t aP,
uint32_t aQ,
uint32_t aR,
struct rssn_BincodeBuffer aValueBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_path_integrate(struct rssn_BincodeBuffer aExprBuf,
const char *aVar,
struct rssn_BincodeBuffer aContourBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_poly_derivative_gf(struct rssn_BincodeBuffer aPolyBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_poly_division_multivariate(struct rssn_BincodeBuffer aDividendBuf,
struct rssn_BincodeBuffer aDivisorsBuf,
struct rssn_BincodeBuffer aOrderBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_poly_gcd_gf(struct rssn_BincodeBuffer aABuf,
struct rssn_BincodeBuffer aBBuf)
;
rssn_
bool rssn_bincode_polynomial_contains_var(struct rssn_BincodeBuffer aExprBuf,
const char *aVar)
;
rssn_ int64_t rssn_bincode_polynomial_degree(struct rssn_BincodeBuffer aExprBuf, const char *aVar) ;
rssn_
bool rssn_bincode_polynomial_is_polynomial(struct rssn_BincodeBuffer aExprBuf,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_polynomial_leading_coefficient(struct rssn_BincodeBuffer aExprBuf,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_polynomial_long_division(struct rssn_BincodeBuffer aDividendBuf,
struct rssn_BincodeBuffer aDivisorBuf,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_polynomial_to_coeffs_vec(struct rssn_BincodeBuffer aExprBuf,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_prime_field_element_add(struct rssn_BincodeBuffer aABuf,
struct rssn_BincodeBuffer aBBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_prime_field_element_div(struct rssn_BincodeBuffer aABuf,
struct rssn_BincodeBuffer aBBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_prime_field_element_inverse(struct rssn_BincodeBuffer aElemBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_prime_field_element_mul(struct rssn_BincodeBuffer aABuf,
struct rssn_BincodeBuffer aBBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_prime_field_element_new(struct rssn_BincodeBuffer aValueBuf,
struct rssn_BincodeBuffer aModulusBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_prime_field_element_sub(struct rssn_BincodeBuffer aABuf,
struct rssn_BincodeBuffer aBBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_product(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aVarBuf,
struct rssn_BincodeBuffer aLowerBuf,
struct rssn_BincodeBuffer aUpperBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_risch_norman_integrate(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aXBuf)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_simplify(struct rssn_BincodeBuffer aExprBuf) ;
rssn_ struct rssn_BincodeBuffer rssn_bincode_simplify_dag(struct rssn_BincodeBuffer aExprBuf) ;
rssn_ struct rssn_BincodeBuffer rssn_bincode_simplify_logic(struct rssn_BincodeBuffer aExprBuf) ;
rssn_ struct rssn_BincodeBuffer rssn_bincode_simplify_radicals(struct rssn_BincodeBuffer aExprBuf) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aVarBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_bernoulli_ode(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_by_reduction_of_order(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
const char *aVar,
struct rssn_BincodeBuffer aY1Buf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_cauchy_euler_ode(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_diophantine(struct rssn_BincodeBuffer aEquationBuf,
struct rssn_BincodeBuffer aVarsBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_exact_ode(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_first_order_linear_ode(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_heat_equation_1d(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
struct rssn_BincodeBuffer aVarsBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_laplace_equation_2d(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
struct rssn_BincodeBuffer aVarsBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_linear_system(struct rssn_BincodeBuffer aSystemBuf,
struct rssn_BincodeBuffer aVarsBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_ode(struct rssn_BincodeBuffer aOdeBuf,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_pde(struct rssn_BincodeBuffer aPdeBuf,
const char *aFunc,
struct rssn_BincodeBuffer aVarsBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_pde_by_characteristics(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
struct rssn_BincodeBuffer aVarsBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_riccati_ode(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
const char *aVar,
struct rssn_BincodeBuffer aY1Buf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_separable_ode(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_system(struct rssn_BincodeBuffer aEquationsBuf,
struct rssn_BincodeBuffer aVarsBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_solve_wave_equation_1d(struct rssn_BincodeBuffer aEquationBuf,
const char *aFunc,
struct rssn_BincodeBuffer aVarsBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_square_free_factorization_gf(struct rssn_BincodeBuffer aPolyBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_substitute(struct rssn_BincodeBuffer aExprBuf,
const char *aVar,
struct rssn_BincodeBuffer aReplacementBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_summation(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aVarBuf,
struct rssn_BincodeBuffer aLowerBuf,
struct rssn_BincodeBuffer aUpperBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_taylor_series(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aVarBuf,
struct rssn_BincodeBuffer aCenterBuf,
struct rssn_BincodeBuffer aOrderBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_tensor_add(struct rssn_BincodeBuffer aT1Buf,
struct rssn_BincodeBuffer aT2Buf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_tensor_outer_product(struct rssn_BincodeBuffer aT1Buf,
struct rssn_BincodeBuffer aT2Buf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_tensor_scalar_mul(struct rssn_BincodeBuffer aTBuf,
struct rssn_BincodeBuffer aScalarBuf)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_to_cnf(struct rssn_BincodeBuffer aExprBuf) ;
rssn_ struct rssn_BincodeBuffer rssn_bincode_to_dnf(struct rssn_BincodeBuffer aExprBuf) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_transform_contravariant_vector(struct rssn_BincodeBuffer aCompsBuf,
struct rssn_BincodeBuffer aFromBuf,
struct rssn_BincodeBuffer aToBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_transform_covariant_vector(struct rssn_BincodeBuffer aCompsBuf,
struct rssn_BincodeBuffer aFromBuf,
struct rssn_BincodeBuffer aToBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_transform_curl(struct rssn_BincodeBuffer aCompsBuf,
struct rssn_BincodeBuffer aFromBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_transform_divergence(struct rssn_BincodeBuffer aCompsBuf,
struct rssn_BincodeBuffer aFromBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_transform_expression(struct rssn_BincodeBuffer aExprBuf,
struct rssn_BincodeBuffer aFromBuf,
struct rssn_BincodeBuffer aToBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_transform_gradient(struct rssn_BincodeBuffer aScalarBuf,
struct rssn_BincodeBuffer aVarsBuf,
struct rssn_BincodeBuffer aFromBuf,
struct rssn_BincodeBuffer aToBuf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_transform_point(struct rssn_BincodeBuffer aPointBuf,
struct rssn_BincodeBuffer aFromBuf,
struct rssn_BincodeBuffer aToBuf)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_unify_expression(struct rssn_BincodeBuffer aExprBuf) ;
rssn_
struct rssn_BincodeBuffer rssn_bincode_vector_cross(struct rssn_BincodeBuffer aV1Buf,
struct rssn_BincodeBuffer aV2Buf)
;
rssn_
struct rssn_BincodeBuffer rssn_bincode_vector_dot(struct rssn_BincodeBuffer aV1Buf,
struct rssn_BincodeBuffer aV2Buf)
;
rssn_ struct rssn_BincodeBuffer rssn_bincode_vector_magnitude(struct rssn_BincodeBuffer aVBuf) ;
rssn_ struct rssn_BincodeBuffer rssn_bincode_vector_normalize(struct rssn_BincodeBuffer aVBuf) ;
rssn_ char *rssn_binomial_coefficient(size_t aN, size_t aK) ;
rssn_ char *rssn_binomial_coefficient_json(size_t aN, size_t aK) ;
rssn_
struct rssn_Vec_SparsePolynomial *rssn_buchberger_handle(const struct rssn_Vec_SparsePolynomial *aBasis,
enum rssn_MonomialOrder aOrder)
;
rssn_
struct rssn_Expr *rssn_calculate_residue(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aPole)
;
rssn_
int32_t rssn_calculus_definite_integrate(size_t aExprH,
const char *aVar,
size_t aLowerH,
size_t aUpperH,
size_t *aResultH)
;
rssn_ int32_t rssn_calculus_differentiate(size_t aExprH, const char *aVar, size_t *aResultH) ;
rssn_ int32_t rssn_calculus_integrate(size_t aExprH, const char *aVar, size_t *aResultH) ;
rssn_ int32_t rssn_calculus_limit(size_t aExprH, const char *aVar, size_t aToH, size_t *aResultH) ;
rssn_
int32_t rssn_calculus_substitute(size_t aExprH,
const char *aVar,
size_t aReplacementH,
size_t *aResultH)
;
rssn_ struct rssn_Expr *rssn_cas_expand(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_cas_expand_bincode(struct rssn_BincodeBuffer aInput) ;
rssn_ char *rssn_cas_expand_json(const char *aJsonStr) ;
rssn_ struct rssn_Expr *rssn_cas_factorize(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_cas_factorize_bincode(struct rssn_BincodeBuffer aInput) ;
rssn_ char *rssn_cas_factorize_json(const char *aJsonStr) ;
rssn_ struct rssn_Expr *rssn_cas_normalize(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_cas_normalize_bincode(struct rssn_BincodeBuffer aInput) ;
rssn_ char *rssn_cas_normalize_json(const char *aJsonStr) ;
rssn_
struct rssn_Expr *rssn_cas_simplify_with_relations(const struct rssn_Expr *aExpr,
const struct rssn_Expr *const *aRelations,
size_t aRelationsLen,
const char *const *aVars,
size_t aVarsLen,
int32_t aOrderInt)
;
rssn_
struct rssn_BincodeBuffer rssn_cas_simplify_with_relations_bincode(struct rssn_BincodeBuffer aInput)
;
rssn_ char *rssn_cas_simplify_with_relations_json(const char *aJsonStr) ;
rssn_ bool rssn_check_analytic(const struct rssn_Expr *aExpr, const char *aVar) ;
rssn_
struct rssn_Expr *rssn_chinese_remainder_handle(const struct rssn_Expr *const *aRemainders,
const struct rssn_Expr *const *aModuli,
int aLen)
;
rssn_ int32_t rssn_comb_combinations(uint64_t aN, uint64_t aK, double *aResult) ;
rssn_ int32_t rssn_comb_factorial(uint64_t aN, double *aResult) ;
rssn_ int32_t rssn_comb_permutations(uint64_t aN, uint64_t aK, double *aResult) ;
rssn_ void rssn_computation_result_cache_clear(struct rssn_ComputationResultCache *aCache) ;
rssn_ void rssn_computation_result_cache_free(struct rssn_ComputationResultCache *aCache) ;
rssn_
char *rssn_computation_result_cache_get(struct rssn_ComputationResultCache *aCache,
const struct rssn_Expr *aExpr)
;
rssn_
struct rssn_BincodeBuffer rssn_computation_result_cache_get_bincode(struct rssn_ComputationResultCache *aCache,
struct rssn_BincodeBuffer aExprBuffer)
;
rssn_
char *rssn_computation_result_cache_get_json(struct rssn_ComputationResultCache *aCache,
const char *aJsonExpr)
;
rssn_ struct rssn_ComputationResultCache *rssn_computation_result_cache_new(void) ;
rssn_
void rssn_computation_result_cache_set(struct rssn_ComputationResultCache *aCache,
const struct rssn_Expr *aExpr,
const char *aValue)
;
rssn_
void rssn_computation_result_cache_set_bincode(struct rssn_ComputationResultCache *aCache,
struct rssn_BincodeBuffer aExprBuffer,
struct rssn_BincodeBuffer aValueBuffer)
;
rssn_
void rssn_computation_result_cache_set_json(struct rssn_ComputationResultCache *aCache,
const char *aJsonExpr,
const char *aJsonValue)
;
rssn_
struct rssn_Expr *rssn_coordinates_get_metric_tensor_handle(enum rssn_CoordinateSystem aSystem)
;
rssn_ struct rssn_Expr *rssn_cos(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_cos_bincode(struct rssn_BincodeBuffer aExprBuffer) ;
rssn_ char *rssn_cos_json(const char *aJsonExpr) ;
rssn_
struct rssn_Expr *rssn_definite_integrate(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aLower,
const struct rssn_Expr *aUpper)
;
rssn_ struct rssn_Expr *rssn_denest_sqrt_handle(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_Expr *rssn_differentiate(const struct rssn_Expr *aExpr, const char *aVar) ;
rssn_ struct rssn_Expr *rssn_e(void) ;
rssn_ struct rssn_BincodeBuffer rssn_e_bincode(void) ;
rssn_ char *rssn_e_json(void) ;
rssn_
struct rssn_Expr *rssn_evaluate_at_point(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aValue)
;
rssn_ double rssn_evaluate_numerical_handle(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_Expr *rssn_exp(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_exp_bincode(struct rssn_BincodeBuffer aExprBuffer) ;
rssn_ char *rssn_exp_json(const char *aJsonExpr) ;
rssn_ struct rssn_Expr *rssn_expand(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_expand_bincode(struct rssn_BincodeBuffer aExprBuffer) ;
rssn_ char *rssn_expand_json(const char *aJsonExpr) ;
rssn_ size_t rssn_expr_create(const char *aJsonPtr) ;
rssn_ void rssn_expr_free(size_t aHandle) ;
rssn_ size_t rssn_expr_simplify(const size_t *aHandle) ;
rssn_
struct rssn_Expr *rssn_extended_gcd_handle(const struct rssn_Expr *aA,
const struct rssn_Expr *aB)
;
rssn_
struct rssn_Vec_FiniteFieldPolynomial *rssn_factor_gf_handle(const struct rssn_FiniteFieldPolynomial *aPoly)
;
rssn_ int32_t rssn_fft(rssn_Complex<double> *aData, size_t aLen) ;
rssn_
size_t rssn_find_pole_order(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aPole)
;
rssn_ struct rssn_Vec_Expr *rssn_find_poles(const struct rssn_Expr *aExpr, const char *aVar) ;
rssn_
struct rssn_Expr *rssn_fourier_series_handle(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aPeriod,
size_t aOrder)
;
rssn_ void rssn_fredholm_free(struct rssn_FredholmEquation *aPtr) ;
rssn_
struct rssn_FredholmEquation *rssn_fredholm_new(const struct rssn_Expr *aYX,
const struct rssn_Expr *aFX,
const struct rssn_Expr *aLambda,
const struct rssn_Expr *aKernel,
const struct rssn_Expr *aLowerBound,
const struct rssn_Expr *aUpperBound,
const char *aVarX,
const char *aVarT)
;
rssn_
struct rssn_Expr *rssn_fredholm_solve_neumann(const struct rssn_FredholmEquation *aEq,
size_t aIterations)
;
rssn_
struct rssn_BincodeBuffer rssn_fredholm_solve_neumann_bincode(const uint8_t *aInputPtr,
size_t aInputLen)
;
rssn_ char *rssn_fredholm_solve_neumann_json(const char *aInputJson) ;
rssn_
struct rssn_Expr *rssn_fredholm_solve_separable(const struct rssn_FredholmEquation *aEq,
const struct rssn_Expr *const *aAFuncs,
size_t aALen,
const struct rssn_Expr *const *aBFuncs,
size_t aBLen)
;
rssn_
struct rssn_BincodeBuffer rssn_fredholm_solve_separable_bincode(const uint8_t *aInputPtr,
size_t aInputLen)
;
rssn_ char *rssn_fredholm_solve_separable_json(const char *aInputJson) ;
rssn_ void rssn_free_bincode_buffer(struct rssn_BincodeBuffer aBuffer) ;
rssn_ void rssn_free_expr(struct rssn_Expr *aExpr) ;
rssn_ void rssn_free_multivector_handle(struct rssn_Multivector *aPtr) ;
rssn_ void rssn_free_poles(struct rssn_Vec_Expr *aPoles) ;
rssn_ void rssn_free_poly_vec_handle(struct rssn_Vec_FiniteFieldPolynomial *aPtr) ;
rssn_ void rssn_free_string(char *aS) ;
rssn_
struct rssn_Expr *rssn_general_arccos_handle(const struct rssn_Expr *aZ,
const struct rssn_Expr *aK,
const struct rssn_Expr *aS)
;
rssn_
struct rssn_Expr *rssn_general_arcsin_handle(const struct rssn_Expr *aZ,
const struct rssn_Expr *aK)
;
rssn_
struct rssn_Expr *rssn_general_arctan_handle(const struct rssn_Expr *aZ,
const struct rssn_Expr *aK)
;
rssn_
struct rssn_Expr *rssn_general_log_handle(const struct rssn_Expr *aZ,
const struct rssn_Expr *aK)
;
rssn_
struct rssn_Expr *rssn_general_nth_root_handle(const struct rssn_Expr *aZ,
const struct rssn_Expr *aN,
const struct rssn_Expr *aK)
;
rssn_
struct rssn_Expr *rssn_general_power_handle(const struct rssn_Expr *aZ,
const struct rssn_Expr *aW,
const struct rssn_Expr *aK)
;
rssn_
struct rssn_Expr *rssn_general_sqrt_handle(const struct rssn_Expr *aZ,
const struct rssn_Expr *aK)
;
rssn_ char *rssn_get_build_date(void) ;
rssn_ struct rssn_BincodeBuffer rssn_get_build_date_bincode(void) ;
rssn_ char *rssn_get_build_date_json(void) ;
rssn_ struct rssn_BincodeBuffer rssn_get_build_info_bincode(void) ;
rssn_ char *rssn_get_build_info_json(void) ;
rssn_ char *rssn_get_cargo_target_triple(void) ;
rssn_ char *rssn_get_commit_sha(void) ;
rssn_ struct rssn_BincodeBuffer rssn_get_commit_sha_bincode(void) ;
rssn_ char *rssn_get_commit_sha_json(void) ;
rssn_ const char *rssn_get_last_error(void) ;
rssn_ struct rssn_Vec_Expr *rssn_get_real_imag_parts(const struct rssn_Expr *aExpr) ;
rssn_ char *rssn_get_rustc_version(void) ;
rssn_ char *rssn_get_system_info(void) ;
rssn_ void rssn_handle_clear(void) ;
rssn_ struct rssn_BincodeBuffer rssn_handle_clear_bincode(void) ;
rssn_ char *rssn_handle_clear_json(void) ;
rssn_ size_t rssn_handle_clone(size_t aHandle) ;
rssn_ struct rssn_BincodeBuffer rssn_handle_clone_bincode(struct rssn_BincodeBuffer aInput) ;
rssn_ char *rssn_handle_clone_json(const char *aJsonStr) ;
rssn_ size_t rssn_handle_count(void) ;
rssn_ bool rssn_handle_exists(size_t aHandle) ;
rssn_ struct rssn_BincodeBuffer rssn_handle_exists_bincode(struct rssn_BincodeBuffer aInput) ;
rssn_ char *rssn_handle_exists_json(const char *aJsonStr) ;
rssn_ bool rssn_handle_free(size_t aHandle) ;
rssn_ struct rssn_BincodeBuffer rssn_handle_free_bincode(struct rssn_BincodeBuffer aInput) ;
rssn_ char *rssn_handle_free_json(const char *aJsonStr) ;
rssn_ struct rssn_Expr *rssn_handle_get(size_t aHandle) ;
rssn_ char *rssn_handle_get_all(void) ;
rssn_ struct rssn_BincodeBuffer rssn_handle_get_all_bincode(void) ;
rssn_ struct rssn_BincodeBuffer rssn_handle_get_bincode(struct rssn_BincodeBuffer aInput) ;
rssn_ char *rssn_handle_get_json(const char *aJsonStr) ;
rssn_ size_t rssn_handle_insert(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_handle_insert_bincode(struct rssn_BincodeBuffer aInput) ;
rssn_ char *rssn_handle_insert_json(const char *aJsonStr) ;
rssn_ char *rssn_handle_stats_json(void) ;
rssn_ char *rssn_handle_to_string(size_t aHandle) ;
rssn_ struct rssn_Expr *rssn_heuristic_simplify(const struct rssn_Expr *aExpr) ;
rssn_ int32_t rssn_ifft(rssn_Complex<double> *aData, size_t aLen) ;
rssn_ int32_t rssn_init_plugin_manager(const char *aPluginDirPtr) ;
rssn_ struct rssn_Expr *rssn_integrate(const struct rssn_Expr *aExpr, const char *aVar) ;
rssn_
struct rssn_Expr *rssn_integrate_rational_function_handle(const struct rssn_Expr *aExpr,
const char *aX)
;
rssn_
int32_t rssn_interp_bezier_curve(const struct rssn_FfiPoint *aPointsPtr,
size_t aNumPoints,
double aT,
struct rssn_FfiPoint *aResultPtr)
;
rssn_
int32_t rssn_interp_lagrange(const struct rssn_FfiPoint *aPointsPtr,
size_t aNumPoints,
size_t *aResultHandle)
;
rssn_ struct rssn_Expr *rssn_is_prime_handle(const struct rssn_Expr *aN) ;
rssn_ int32_t rssn_is_satisfiable_handle(const struct rssn_Expr *aExpr) ;
rssn_ char *rssn_json_abs(const char *aZJson) ;
rssn_
char *rssn_json_analytic_continuation(const char *aExprJson,
const char *aVarJson,
const char *aOrigCenterJson,
const char *aNewCenterJson,
const char *aOrderJson)
;
rssn_ char *rssn_json_analyze_convergence(const char *aTermJson, const char *aVarJson) ;
rssn_ char *rssn_json_arg(const char *aZJson) ;
rssn_
char *rssn_json_asymptotic_expansion(const char *aExprJson,
const char *aVarJson,
const char *aPointJson,
const char *aOrderJson)
;
rssn_ char *rssn_json_buchberger(const char *aBasisJson, const char *aOrderJson) ;
rssn_
char *rssn_json_calculate_residue(const char *aExprJson,
const char *aVar,
const char *aPoleJson)
;
rssn_ bool rssn_json_check_analytic(const char *aExprJson, const char *aVar) ;
rssn_ char *rssn_json_chinese_remainder(const char *aCongruencesJson) ;
rssn_
char *rssn_json_classify_pde(const char *aEquationJson,
const char *aFunc,
const char *aVarsJson)
;
rssn_ char *rssn_json_coordinates_get_metric_tensor(enum rssn_CoordinateSystem aSystem) ;
rssn_
char *rssn_json_definite_integrate(const char *aExprJson,
const char *aVar,
const char *aLowerJson,
const char *aUpperJson)
;
rssn_ char *rssn_json_denest_sqrt(const char *aExprJson) ;
rssn_ char *rssn_json_differentiate(const char *aExprJson, const char *aVar) ;
rssn_
char *rssn_json_evaluate_at_point(const char *aExprJson,
const char *aVar,
const char *aValueJson)
;
rssn_ char *rssn_json_evaluate_numerical(const char *aExprJson) ;
rssn_ char *rssn_json_extended_gcd(const char *aAJson, const char *aBJson) ;
rssn_ char *rssn_json_factor_gf(const char *aPolyJson) ;
rssn_
size_t rssn_json_find_pole_order(const char *aExprJson,
const char *aVar,
const char *aPoleJson)
;
rssn_ char *rssn_json_find_poles(const char *aExprJson, const char *aVar) ;
rssn_ int64_t rssn_json_finite_field_polynomial_degree(const char *aPolyJson) ;
rssn_
char *rssn_json_finite_field_polynomial_long_division(const char *aDividendJson,
const char *aDivisorJson)
;
rssn_
char *rssn_json_finite_field_polynomial_new(const char *aCoeffsJson,
const char *aModulusJson)
;
rssn_
char *rssn_json_fourier_series(const char *aExprJson,
const char *aVarJson,
const char *aPeriodJson,
const char *aOrderJson)
;
rssn_ char *rssn_json_general_arccos(const char *aZJson, const char *aKJson, const char *aSJson) ;
rssn_ char *rssn_json_general_arcsin(const char *aZJson, const char *aKJson) ;
rssn_ char *rssn_json_general_arctan(const char *aZJson, const char *aKJson) ;
rssn_ char *rssn_json_general_log(const char *aZJson, const char *aKJson) ;
rssn_ char *rssn_json_general_nth_root(const char *aZJson, const char *aNJson, const char *aKJson) ;
rssn_ char *rssn_json_general_power(const char *aZJson, const char *aWJson, const char *aKJson) ;
rssn_ char *rssn_json_general_sqrt(const char *aZJson, const char *aKJson) ;
rssn_ char *rssn_json_get_real_imag_parts(const char *aExprJson) ;
rssn_ char *rssn_json_heuristic_simplify(const char *aExprJson) ;
rssn_ char *rssn_json_integrate(const char *aExprJson, const char *aVar) ;
rssn_ char *rssn_json_integrate_rational_function(const char *aExprJson, const char *aXJson) ;
rssn_ char *rssn_json_is_prime(const char *aNJson) ;
rssn_ char *rssn_json_is_satisfiable(const char *aExprJson) ;
rssn_
char *rssn_json_laurent_series(const char *aExprJson,
const char *aVarJson,
const char *aCenterJson,
const char *aOrderJson)
;
rssn_ char *rssn_json_limit(const char *aExprJson, const char *aVar, const char *aPointJson) ;
rssn_ char *rssn_json_matrix_add(const char *aM1Json, const char *aM2Json) ;
rssn_ char *rssn_json_matrix_determinant(const char *aMatrixJson) ;
rssn_ char *rssn_json_matrix_inverse(const char *aMatrixJson) ;
rssn_ char *rssn_json_matrix_mul(const char *aM1Json, const char *aM2Json) ;
rssn_ char *rssn_json_matrix_solve_linear_system(const char *aAJson, const char *aBJson) ;
rssn_ char *rssn_json_matrix_transpose(const char *aMatrixJson) ;
rssn_ char *rssn_json_multivector_geometric_product(const char *aAJson, const char *aBJson) ;
rssn_ char *rssn_json_multivector_grade_projection(const char *aMvJson, uint32_t aGrade) ;
rssn_ char *rssn_json_multivector_inner_product(const char *aAJson, const char *aBJson) ;
rssn_ char *rssn_json_multivector_magnitude(const char *aMvJson) ;
rssn_ char *rssn_json_multivector_outer_product(const char *aAJson, const char *aBJson) ;
rssn_ char *rssn_json_multivector_reverse(const char *aMvJson) ;
rssn_
char *rssn_json_multivector_scalar(uint32_t aP,
uint32_t aQ,
uint32_t aR,
const char *aValueJson)
;
rssn_
char *rssn_json_path_integrate(const char *aExprJson,
const char *aVar,
const char *aContourJson)
;
rssn_ char *rssn_json_poly_derivative_gf(const char *aPolyJson) ;
rssn_
char *rssn_json_poly_division_multivariate(const char *aDividendJson,
const char *aDivisorsJson,
const char *aOrderJson)
;
rssn_ char *rssn_json_poly_gcd_gf(const char *aAJson, const char *aBJson) ;
rssn_ bool rssn_json_polynomial_contains_var(const char *aExprJson, const char *aVar) ;
rssn_ int64_t rssn_json_polynomial_degree(const char *aExprJson, const char *aVar) ;
rssn_ bool rssn_json_polynomial_is_polynomial(const char *aExprJson, const char *aVar) ;
rssn_ char *rssn_json_polynomial_leading_coefficient(const char *aExprJson, const char *aVar) ;
rssn_
char *rssn_json_polynomial_long_division(const char *aDividendJson,
const char *aDivisorJson,
const char *aVar)
;
rssn_ char *rssn_json_polynomial_to_coeffs_vec(const char *aExprJson, const char *aVar) ;
rssn_ char *rssn_json_prime_field_element_add(const char *aAJson, const char *aBJson) ;
rssn_ char *rssn_json_prime_field_element_div(const char *aAJson, const char *aBJson) ;
rssn_ char *rssn_json_prime_field_element_inverse(const char *aElemJson) ;
rssn_ char *rssn_json_prime_field_element_mul(const char *aAJson, const char *aBJson) ;
rssn_ char *rssn_json_prime_field_element_new(const char *aValueJson, const char *aModulusJson) ;
rssn_ char *rssn_json_prime_field_element_sub(const char *aAJson, const char *aBJson) ;
rssn_
char *rssn_json_product(const char *aExprJson,
const char *aVarJson,
const char *aLowerJson,
const char *aUpperJson)
;
rssn_ char *rssn_json_risch_norman_integrate(const char *aExprJson, const char *aXJson) ;
rssn_ char *rssn_json_simplify(const char *aExprJson) ;
rssn_ char *rssn_json_simplify_dag(const char *aExprJson) ;
rssn_ char *rssn_json_simplify_logic(const char *aExprJson) ;
rssn_ char *rssn_json_simplify_radicals(const char *aExprJson) ;
rssn_ char *rssn_json_solve(const char *aExprJson, const char *aVarJson) ;
rssn_
char *rssn_json_solve_bernoulli_ode(const char *aEquationJson,
const char *aFunc,
const char *aVar)
;
rssn_
char *rssn_json_solve_by_reduction_of_order(const char *aEquationJson,
const char *aFunc,
const char *aVar,
const char *aY1Json)
;
rssn_
char *rssn_json_solve_cauchy_euler_ode(const char *aEquationJson,
const char *aFunc,
const char *aVar)
;
rssn_ char *rssn_json_solve_diophantine(const char *aEquationJson, const char *aVarsJson) ;
rssn_
char *rssn_json_solve_exact_ode(const char *aEquationJson,
const char *aFunc,
const char *aVar)
;
rssn_
char *rssn_json_solve_first_order_linear_ode(const char *aEquationJson,
const char *aFunc,
const char *aVar)
;
rssn_
char *rssn_json_solve_heat_equation_1d(const char *aEquationJson,
const char *aFunc,
const char *aVarsJson)
;
rssn_
char *rssn_json_solve_laplace_equation_2d(const char *aEquationJson,
const char *aFunc,
const char *aVarsJson)
;
rssn_ char *rssn_json_solve_linear_system(const char *aSystemJson, const char *aVarsJson) ;
rssn_ char *rssn_json_solve_ode(const char *aOdeJson, const char *aFunc, const char *aVar) ;
rssn_ char *rssn_json_solve_pde(const char *aPdeJson, const char *aFunc, const char *aVarsJson) ;
rssn_
char *rssn_json_solve_pde_by_characteristics(const char *aEquationJson,
const char *aFunc,
const char *aVarsJson)
;
rssn_
char *rssn_json_solve_poisson_equation_2d(const char *aEquationJson,
const char *aFunc,
const char *aVarsJson)
;
rssn_
char *rssn_json_solve_riccati_ode(const char *aEquationJson,
const char *aFunc,
const char *aVar,
const char *aY1Json)
;
rssn_
char *rssn_json_solve_separable_ode(const char *aEquationJson,
const char *aFunc,
const char *aVar)
;
rssn_ char *rssn_json_solve_system(const char *aEquationsJson, const char *aVarsJson) ;
rssn_
char *rssn_json_solve_wave_equation_1d(const char *aEquationJson,
const char *aFunc,
const char *aVarsJson)
;
rssn_ char *rssn_json_square_free_factorization_gf(const char *aPolyJson) ;
rssn_
char *rssn_json_substitute(const char *aExprJson,
const char *aVar,
const char *aReplacementJson)
;
rssn_
char *rssn_json_summation(const char *aExprJson,
const char *aVarJson,
const char *aLowerJson,
const char *aUpperJson)
;
rssn_
char *rssn_json_taylor_series(const char *aExprJson,
const char *aVarJson,
const char *aCenterJson,
const char *aOrderJson)
;
rssn_ char *rssn_json_tensor_add(const char *aT1Json, const char *aT2Json) ;
rssn_ char *rssn_json_tensor_contract(const char *aTJson, size_t aAxis1, size_t aAxis2) ;
rssn_ char *rssn_json_tensor_outer_product(const char *aT1Json, const char *aT2Json) ;
rssn_ char *rssn_json_tensor_scalar_mul(const char *aTJson, const char *aScalarJson) ;
rssn_ char *rssn_json_to_cnf(const char *aExprJson) ;
rssn_ char *rssn_json_to_dnf(const char *aExprJson) ;
rssn_
char *rssn_json_transform_contravariant_vector(const char *aCompsJson,
enum rssn_CoordinateSystem aFrom,
enum rssn_CoordinateSystem aTo)
;
rssn_
char *rssn_json_transform_covariant_vector(const char *aCompsJson,
enum rssn_CoordinateSystem aFrom,
enum rssn_CoordinateSystem aTo)
;
rssn_ char *rssn_json_transform_curl(const char *aCompsJson, enum rssn_CoordinateSystem aFrom) ;
rssn_
char *rssn_json_transform_divergence(const char *aCompsJson,
enum rssn_CoordinateSystem aFrom)
;
rssn_
char *rssn_json_transform_expression(const char *aExprJson,
enum rssn_CoordinateSystem aFrom,
enum rssn_CoordinateSystem aTo)
;
rssn_
char *rssn_json_transform_gradient(const char *aScalarJson,
const char *aVarsJson,
enum rssn_CoordinateSystem aFrom,
enum rssn_CoordinateSystem aTo)
;
rssn_
char *rssn_json_transform_point(const char *aPointJson,
enum rssn_CoordinateSystem aFrom,
enum rssn_CoordinateSystem aTo)
;
rssn_ char *rssn_json_unify_expression(const char *aExprJson) ;
rssn_ char *rssn_json_vector_cross(const char *aV1Json, const char *aV2Json) ;
rssn_
char *rssn_json_vector_curl(const char *aVJson,
const char *aXVar,
const char *aYVar,
const char *aZVar)
;
rssn_
char *rssn_json_vector_divergence(const char *aVJson,
const char *aXVar,
const char *aYVar,
const char *aZVar)
;
rssn_ char *rssn_json_vector_dot(const char *aV1Json, const char *aV2Json) ;
rssn_
char *rssn_json_vector_gradient(const char *aScalarFieldJson,
const char *aXVar,
const char *aYVar,
const char *aZVar)
;
rssn_ char *rssn_json_vector_magnitude(const char *aVJson) ;
rssn_ char *rssn_json_vector_normalize(const char *aVJson) ;
rssn_
struct rssn_Vec_RewriteRule *rssn_knuth_bendix(const struct rssn_Expr *const *aEquations,
size_t aEquationsLen)
;
rssn_ struct rssn_BincodeBuffer rssn_knuth_bendix_bincode(struct rssn_BincodeBuffer aInput) ;
rssn_ char *rssn_knuth_bendix_json(const char *aJsonStr) ;
rssn_
struct rssn_Expr *rssn_laurent_series_handle(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aCenter,
size_t aOrder)
;
rssn_
struct rssn_Expr *rssn_limit(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aPoint)
;
rssn_
char *rssn_line_integral_scalar(const char *aScalarField,
const struct rssn_ParametricCurve *aCurve)
;
rssn_
struct rssn_BincodeBuffer rssn_line_integral_scalar_bincode(const uint8_t *aInputPtr,
size_t aInputLen)
;
rssn_ char *rssn_line_integral_scalar_json(const char *aInputJson) ;
rssn_
char *rssn_line_integral_vector(const char *aFieldX,
const char *aFieldY,
const char *aFieldZ,
const struct rssn_ParametricCurve *aCurve)
;
rssn_
struct rssn_BincodeBuffer rssn_line_integral_vector_bincode(const uint8_t *aInputPtr,
size_t aInputLen)
;
rssn_ char *rssn_line_integral_vector_json(const char *aInputJson) ;
rssn_ struct rssn_Expr *rssn_ln(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_ln_bincode(struct rssn_BincodeBuffer aExprBuffer) ;
rssn_ char *rssn_ln_json(const char *aJsonExpr) ;
rssn_ int32_t rssn_matrix_add(size_t aH1, size_t aH2, size_t *aResultH) ;
rssn_
struct rssn_Expr *rssn_matrix_add_handle(const struct rssn_Expr *aM1,
const struct rssn_Expr *aM2)
;
rssn_ int32_t rssn_matrix_determinant(size_t aH, size_t *aResultH) ;
rssn_ struct rssn_Expr *rssn_matrix_determinant_handle(const struct rssn_Expr *aMatrix) ;
rssn_ int32_t rssn_matrix_identity(size_t aSize, size_t *aResultH) ;
rssn_ int32_t rssn_matrix_inverse(size_t aH, size_t *aResultH) ;
rssn_ struct rssn_Expr *rssn_matrix_inverse_handle(const struct rssn_Expr *aMatrix) ;
rssn_ int32_t rssn_matrix_mul(size_t aH1, size_t aH2, size_t *aResultH) ;
rssn_
struct rssn_Expr *rssn_matrix_mul_handle(const struct rssn_Expr *aM1,
const struct rssn_Expr *aM2)
;
rssn_ int32_t rssn_matrix_scalar_mul(size_t aScalarH, size_t aMatrixH, size_t *aResultH) ;
rssn_
struct rssn_Expr *rssn_matrix_solve_linear_system_handle(const struct rssn_Expr *aA,
const struct rssn_Expr *aB)
;
rssn_ int32_t rssn_matrix_sub(size_t aH1, size_t aH2, size_t *aResultH) ;
rssn_ int32_t rssn_matrix_transpose(size_t aH, size_t *aResultH) ;
rssn_ struct rssn_Expr *rssn_matrix_transpose_handle(const struct rssn_Expr *aMatrix) ;
rssn_
struct rssn_Multivector *rssn_multivector_geometric_product_handle(const struct rssn_Multivector *aA,
const struct rssn_Multivector *aB)
;
rssn_
struct rssn_Multivector *rssn_multivector_grade_projection_handle(const struct rssn_Multivector *aMv,
uint32_t aGrade)
;
rssn_
struct rssn_Multivector *rssn_multivector_inner_product_handle(const struct rssn_Multivector *aA,
const struct rssn_Multivector *aB)
;
rssn_ struct rssn_Expr *rssn_multivector_magnitude_handle(const struct rssn_Multivector *aMv) ;
rssn_
struct rssn_Multivector *rssn_multivector_outer_product_handle(const struct rssn_Multivector *aA,
const struct rssn_Multivector *aB)
;
rssn_ struct rssn_Multivector *rssn_multivector_reverse_handle(const struct rssn_Multivector *aMv) ;
rssn_
struct rssn_Multivector *rssn_multivector_scalar_handle(uint32_t aP,
uint32_t aQ,
uint32_t aR,
const struct rssn_Expr *aValue)
;
rssn_ int32_t rssn_nt_gcd(uint64_t aA, uint64_t aB, uint64_t *aResult) ;
rssn_ int32_t rssn_nt_is_prime(uint64_t aN, bool *aResult) ;
rssn_ int32_t rssn_nt_mod_inverse(int64_t aA, int64_t aB, int64_t *aResult) ;
rssn_ int32_t rssn_nt_mod_pow(uint64_t aBase, uint64_t aExp, uint64_t aModulus, uint64_t *aResult) ;
rssn_
int32_t rssn_numerical_gradient(size_t aExprH,
const char *const *aVars,
size_t aNumVars,
const double *aPoint,
size_t aPointLen,
double *aResultVec)
;
rssn_
int32_t rssn_numerical_integrate(size_t aExprH,
const char *aVar,
double aStart,
double aEnd,
size_t aNSteps,
uint32_t aMethod,
double *aResult)
;
rssn_ void rssn_parametric_curve_free(struct rssn_ParametricCurve *aCurve) ;
rssn_
struct rssn_ParametricCurve *rssn_parametric_curve_new(const char *aRX,
const char *aRY,
const char *aRZ,
const char *aTVar,
const char *aTLower,
const char *aTUpper)
;
rssn_ void rssn_parametric_surface_free(struct rssn_ParametricSurface *aSurface) ;
rssn_
struct rssn_ParametricSurface *rssn_parametric_surface_new(const char *aRX,
const char *aRY,
const char *aRZ,
const char *aUVar,
const char *aULower,
const char *aUUpper,
const char *aVVar,
const char *aVLower,
const char *aVUpper)
;
rssn_ void rssn_parsing_cache_clear(struct rssn_ParsingCache *aCache) ;
rssn_ void rssn_parsing_cache_free(struct rssn_ParsingCache *aCache) ;
rssn_
struct rssn_Expr *rssn_parsing_cache_get(struct rssn_ParsingCache *aCache,
const char *aInput)
;
rssn_
struct rssn_BincodeBuffer rssn_parsing_cache_get_bincode(struct rssn_ParsingCache *aCache,
const char *aInput)
;
rssn_ char *rssn_parsing_cache_get_json(struct rssn_ParsingCache *aCache, const char *aInput) ;
rssn_ struct rssn_ParsingCache *rssn_parsing_cache_new(void) ;
rssn_
void rssn_parsing_cache_set(struct rssn_ParsingCache *aCache,
const char *aInput,
const struct rssn_Expr *aExpr)
;
rssn_
void rssn_parsing_cache_set_bincode(struct rssn_ParsingCache *aCache,
const char *aInput,
struct rssn_BincodeBuffer aBuffer)
;
rssn_
void rssn_parsing_cache_set_json(struct rssn_ParsingCache *aCache,
const char *aInput,
const char *aJsonExpr)
;
rssn_
struct rssn_Expr *rssn_path_integrate(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aContour)
;
rssn_
int32_t rssn_physics_advection_diffusion_1d(const double *aInitialCond,
size_t aLen,
double aDx,
double aC,
double aD,
double aDt,
size_t aSteps,
double *aResultPtr)
;
rssn_ struct rssn_Expr *rssn_pi(void) ;
rssn_ struct rssn_BincodeBuffer rssn_pi_bincode(void) ;
rssn_ char *rssn_pi_json(void) ;
rssn_
size_t rssn_plugin_execute(const char *aPluginNamePtr,
const char *aCommandPtr,
size_t aArgsHandle)
;
rssn_ struct rssn_Expr *rssn_poles_get(const struct rssn_Vec_Expr *aPoles, size_t aIndex) ;
rssn_ size_t rssn_poles_len(const struct rssn_Vec_Expr *aPoles) ;
rssn_ int32_t rssn_poly_degree(size_t aExprHandle, const char *aVarPtr, int64_t *aResult) ;
rssn_
struct rssn_FiniteFieldPolynomial *rssn_poly_derivative_gf_handle(const struct rssn_FiniteFieldPolynomial *aPoly)
;
rssn_
struct rssn_FiniteFieldPolynomial *rssn_poly_gcd_gf_handle(const struct rssn_FiniteFieldPolynomial *aA,
const struct rssn_FiniteFieldPolynomial *aB)
;
rssn_ int32_t rssn_poly_is_polynomial(size_t aExprHandle, const char *aVarPtr, bool *aResult) ;
rssn_
int32_t rssn_poly_long_division(size_t aNHandle,
size_t aDHandle,
const char *aVarPtr,
size_t *aQHandle,
size_t *aRHandle)
;
rssn_ struct rssn_Expr *rssn_pow(const struct rssn_Expr *aBase, const struct rssn_Expr *aExp) ;
rssn_
struct rssn_BincodeBuffer rssn_pow_bincode(struct rssn_BincodeBuffer aBaseBuffer,
struct rssn_BincodeBuffer aExpBuffer)
;
rssn_ char *rssn_pow_json(const char *aJsonBase, const char *aJsonExp) ;
rssn_
struct rssn_PrimeFieldElement *rssn_prime_field_element_add_handle(const struct rssn_PrimeFieldElement *aA,
const struct rssn_PrimeFieldElement *aB)
;
rssn_ void rssn_prime_field_element_free_handle(struct rssn_PrimeFieldElement *aElem) ;
rssn_
struct rssn_PrimeFieldElement *rssn_prime_field_element_inverse_handle(const struct rssn_PrimeFieldElement *aElem)
;
rssn_
struct rssn_PrimeFieldElement *rssn_prime_field_element_mul_handle(const struct rssn_PrimeFieldElement *aA,
const struct rssn_PrimeFieldElement *aB)
;
rssn_
struct rssn_PrimeFieldElement *rssn_prime_field_element_new_handle(const rssn_BigInt *aValue,
const rssn_BigInt *aModulus)
;
rssn_
struct rssn_Expr *rssn_product_handle(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aLower,
const struct rssn_Expr *aUpper)
;
rssn_ void rssn_rewrite_rule_free(struct rssn_RewriteRule *aRule) ;
rssn_ struct rssn_Expr *rssn_rewrite_rule_get_lhs(const struct rssn_RewriteRule *aRule) ;
rssn_ struct rssn_Expr *rssn_rewrite_rule_get_rhs(const struct rssn_RewriteRule *aRule) ;
rssn_
struct rssn_RewriteRule *rssn_rewrite_rule_new(const struct rssn_Expr *aLhs,
const struct rssn_Expr *aRhs)
;
rssn_ struct rssn_BincodeBuffer rssn_rewrite_rule_new_bincode(struct rssn_BincodeBuffer aInput) ;
rssn_ char *rssn_rewrite_rule_new_json(const char *aJsonStr) ;
rssn_ char *rssn_rewrite_rule_to_string(const struct rssn_RewriteRule *aRule) ;
rssn_
struct rssn_BincodeBuffer rssn_rewrite_rule_to_string_bincode(struct rssn_BincodeBuffer aInput)
;
rssn_ char *rssn_rewrite_rule_to_string_json(const char *aJsonStr) ;
rssn_
struct rssn_Expr *rssn_risch_norman_integrate_handle(const struct rssn_Expr *aExpr,
const char *aX)
;
rssn_ void rssn_rules_vec_free(struct rssn_Vec_RewriteRule *aRules) ;
rssn_
struct rssn_RewriteRule *rssn_rules_vec_get(const struct rssn_Vec_RewriteRule *aRules,
size_t aIndex)
;
rssn_ size_t rssn_rules_vec_len(const struct rssn_Vec_RewriteRule *aRules) ;
rssn_
enum rssn_ConvergenceResult *rssn_series_analyze_convergence_handle(const struct rssn_Expr *aSeries,
const char *aVar)
;
rssn_
struct rssn_BincodeBuffer rssn_series_bincode_analyze_convergence(struct rssn_BincodeBuffer aSeriesBuf,
struct rssn_BincodeBuffer aVarBuf)
;
rssn_ char *rssn_series_json_analyze_convergence(const char *aSeriesJson, const char *aVarJson) ;
rssn_ struct rssn_Expr *rssn_simplify(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_Expr *rssn_simplify_dag(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_Expr *rssn_simplify_logic_handle(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_Expr *rssn_simplify_radicals_handle(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_Expr *rssn_sin(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_sin_bincode(struct rssn_BincodeBuffer aExprBuffer) ;
rssn_ char *rssn_sin_json(const char *aJsonExpr) ;
rssn_ int32_t rssn_solve(size_t aExprH, const char *aVar, size_t *aResultH) ;
rssn_
struct rssn_Expr *rssn_solve_airfoil_equation(const struct rssn_Expr *aFX,
const char *aVarX,
const char *aVarT)
;
rssn_
struct rssn_BincodeBuffer rssn_solve_airfoil_equation_bincode(const uint8_t *aInputPtr,
size_t aInputLen)
;
rssn_ char *rssn_solve_airfoil_equation_json(const char *aInputJson) ;
rssn_
struct rssn_Expr *rssn_solve_bernoulli_ode(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_Expr *rssn_solve_by_reduction_of_order(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *aVar,
const struct rssn_Expr *aY1)
;
rssn_
struct rssn_Expr *rssn_solve_cauchy_euler_ode(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_Expr *rssn_solve_diophantine_handle(const struct rssn_Expr *aEquation,
const char *const *aVarsPtr,
int aVarsLen)
;
rssn_
struct rssn_Expr *rssn_solve_exact_ode(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_Expr *rssn_solve_first_order_linear_ode(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *aVar)
;
rssn_ struct rssn_Vec_Expr *rssn_solve_handle(const struct rssn_Expr *aExpr, const char *aVar) ;
rssn_
struct rssn_Expr *rssn_solve_heat_equation_1d(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *const *aVars,
size_t aVarsLen)
;
rssn_
struct rssn_Expr *rssn_solve_helmholtz_equation(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *const *aVars,
size_t aVarsLen)
;
rssn_
struct rssn_Expr *rssn_solve_klein_gordon_equation(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *const *aVars,
size_t aVarsLen)
;
rssn_
struct rssn_Expr *rssn_solve_laplace_equation_2d(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *const *aVars,
size_t aVarsLen)
;
rssn_
struct rssn_Vec_Expr *rssn_solve_linear_system_handle(const struct rssn_Expr *aSystem,
const struct rssn_Vec_String *aVars)
;
rssn_
struct rssn_Expr *rssn_solve_ode(const struct rssn_Expr *aOdeExpr,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_Expr *rssn_solve_pde(const struct rssn_Expr *aPdeExpr,
const char *aFunc,
const char *const *aVars,
size_t aVarsLen)
;
rssn_
struct rssn_Expr *rssn_solve_pde_by_characteristics(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *const *aVars,
size_t aVarsLen)
;
rssn_
struct rssn_Expr *rssn_solve_poisson_equation_2d(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *const *aVars,
size_t aVarsLen)
;
rssn_
struct rssn_Expr *rssn_solve_riccati_ode(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *aVar,
const struct rssn_Expr *aY1)
;
rssn_
struct rssn_Expr *rssn_solve_schrodinger_equation(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *const *aVars,
size_t aVarsLen)
;
rssn_
struct rssn_Expr *rssn_solve_separable_ode(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *aVar)
;
rssn_
struct rssn_Expr *rssn_solve_wave_equation_1d_dalembert(const struct rssn_Expr *aEquation,
const char *aFunc,
const char *const *aVars,
size_t aVarsLen)
;
rssn_ struct rssn_Expr *rssn_sqrt(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_sqrt_bincode(struct rssn_BincodeBuffer aExprBuffer) ;
rssn_ char *rssn_sqrt_json(const char *aJsonExpr) ;
rssn_ void rssn_state_free(struct rssn_State *aState) ;
rssn_ char *rssn_state_get_intermediate_value(const struct rssn_State *aState) ;
rssn_
struct rssn_BincodeBuffer rssn_state_get_intermediate_value_bincode(struct rssn_BincodeBuffer aStateBuffer)
;
rssn_ char *rssn_state_get_intermediate_value_json(const char *aJsonState) ;
rssn_ struct rssn_State *rssn_state_new(void) ;
rssn_ struct rssn_BincodeBuffer rssn_state_new_bincode(void) ;
rssn_ char *rssn_state_new_json(void) ;
rssn_ void rssn_state_set_intermediate_value(struct rssn_State *aState, const char *aValue) ;
rssn_
struct rssn_BincodeBuffer rssn_state_set_intermediate_value_bincode(struct rssn_BincodeBuffer aStateBuffer,
struct rssn_BincodeBuffer aValueBuffer)
;
rssn_ char *rssn_state_set_intermediate_value_json(const char *aJsonState, const char *aValue) ;
rssn_
int32_t rssn_stats_covariance(const double *aD1,
const double *aD2,
size_t aLen,
double *aResult)
;
rssn_ int32_t rssn_stats_mean(const double *aData, size_t aLen, double *aResult) ;
rssn_ int32_t rssn_stats_std_dev(const double *aData, size_t aLen, double *aResult) ;
rssn_ int32_t rssn_stats_variance(const double *aData, size_t aLen, double *aResult) ;
rssn_
struct rssn_Expr *rssn_substitute(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aReplacement)
;
rssn_
struct rssn_Expr *rssn_summation_handle(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aLower,
const struct rssn_Expr *aUpper)
;
rssn_
char *rssn_surface_integral(const char *aFieldX,
const char *aFieldY,
const char *aFieldZ,
const struct rssn_ParametricSurface *aSurface)
;
rssn_
struct rssn_BincodeBuffer rssn_surface_integral_bincode(const uint8_t *aInputPtr,
size_t aInputLen)
;
rssn_ char *rssn_surface_integral_json(const char *aInputJson) ;
rssn_ struct rssn_Expr *rssn_tan(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_BincodeBuffer rssn_tan_bincode(struct rssn_BincodeBuffer aExprBuffer) ;
rssn_ char *rssn_tan_json(const char *aJsonExpr) ;
rssn_
struct rssn_Expr *rssn_taylor_series_handle(const struct rssn_Expr *aExpr,
const char *aVar,
const struct rssn_Expr *aCenter,
size_t aOrder)
;
rssn_
struct rssn_Tensor *rssn_tensor_add_handle(const struct rssn_Tensor *aT1,
const struct rssn_Tensor *aT2)
;
rssn_
struct rssn_Tensor *rssn_tensor_contract_handle(const struct rssn_Tensor *aT,
size_t aAxis1,
size_t aAxis2)
;
rssn_
struct rssn_Tensor *rssn_tensor_outer_product_handle(const struct rssn_Tensor *aT1,
const struct rssn_Tensor *aT2)
;
rssn_
struct rssn_Tensor *rssn_tensor_scalar_mul_handle(const struct rssn_Tensor *aT,
const struct rssn_Expr *aScalar)
;
rssn_ char *rssn_test_string_passing(void) ;
rssn_ struct rssn_Expr *rssn_to_cnf_handle(const struct rssn_Expr *aExpr) ;
rssn_ struct rssn_Expr *rssn_to_dnf_handle(const struct rssn_Expr *aExpr) ;
rssn_
struct rssn_Vec_Expr *rssn_transform_contravariant_vector_handle(const struct rssn_Vec_Expr *aComps,
enum rssn_CoordinateSystem aFrom,
enum rssn_CoordinateSystem aTo)
;
rssn_
struct rssn_Vec_Expr *rssn_transform_covariant_vector_handle(const struct rssn_Vec_Expr *aComps,
enum rssn_CoordinateSystem aFrom,
enum rssn_CoordinateSystem aTo)
;
rssn_
struct rssn_Vec_Expr *rssn_transform_curl_handle(const struct rssn_Vec_Expr *aComps,
enum rssn_CoordinateSystem aFrom)
;
rssn_
struct rssn_Expr *rssn_transform_divergence_handle(const struct rssn_Vec_Expr *aComps,
enum rssn_CoordinateSystem aFrom)
;
rssn_
struct rssn_Expr *rssn_transform_expression_handle(const struct rssn_Expr *aExpr,
enum rssn_CoordinateSystem aFrom,
enum rssn_CoordinateSystem aTo)
;
rssn_
struct rssn_Vec_Expr *rssn_transform_gradient_handle(const struct rssn_Expr *aScalar,
const struct rssn_Vec_String *aVars,
enum rssn_CoordinateSystem aFrom,
enum rssn_CoordinateSystem aTo)
;
rssn_
struct rssn_Vec_Expr *rssn_transform_point_handle(const struct rssn_Vec_Expr *aPoint,
enum rssn_CoordinateSystem aFrom,
enum rssn_CoordinateSystem aTo)
;
rssn_ struct rssn_Expr *rssn_unify_expression_handle(const struct rssn_Expr *aExpr) ;
rssn_
int32_t rssn_vec_dot_product(const double *aD1,
size_t aL1,
const double *aD2,
size_t aL2,
double *aResult)
;
rssn_ int32_t rssn_vec_norm(const double *aData, size_t aLen, double *aResult) ;
rssn_ rssn_Vector *rssn_vector_cross_handle(const rssn_Vector *aV1, const rssn_Vector *aV2) ;
rssn_ struct rssn_Expr *rssn_vector_dot_handle(const rssn_Vector *aV1, const rssn_Vector *aV2) ;
rssn_ struct rssn_Expr *rssn_vector_magnitude_handle(const rssn_Vector *aV) ;
rssn_ rssn_Vector *rssn_vector_normalize_handle(const rssn_Vector *aV) ;
rssn_ void rssn_volterra_free(struct rssn_VolterraEquation *aPtr) ;
rssn_
struct rssn_VolterraEquation *rssn_volterra_new(const struct rssn_Expr *aYX,
const struct rssn_Expr *aFX,
const struct rssn_Expr *aLambda,
const struct rssn_Expr *aKernel,
const struct rssn_Expr *aLowerBound,
const char *aVarX,
const char *aVarT)
;
rssn_
struct rssn_Expr *rssn_volterra_solve_by_differentiation(const struct rssn_VolterraEquation *aEq)
;
rssn_
struct rssn_BincodeBuffer rssn_volterra_solve_by_differentiation_bincode(const uint8_t *aInputPtr,
size_t aInputLen)
;
rssn_ char *rssn_volterra_solve_by_differentiation_json(const char *aInputJson) ;
rssn_
struct rssn_Expr *rssn_volterra_solve_successive(const struct rssn_VolterraEquation *aEq,
size_t aIterations)
;
rssn_
struct rssn_BincodeBuffer rssn_volterra_solve_successive_bincode(const uint8_t *aInputPtr,
size_t aInputLen)
;
rssn_ char *rssn_volterra_solve_successive_json(const char *aInputJson) ;
rssn_ void rssn_volume_free(struct rssn_Volume *aVolume) ;
rssn_ char *rssn_volume_integral(const char *aScalarField, const struct rssn_Volume *aVolume) ;
rssn_
struct rssn_BincodeBuffer rssn_volume_integral_bincode(const uint8_t *aInputPtr,
size_t aInputLen)
;
rssn_ char *rssn_volume_integral_json(const char *aInputJson) ;
rssn_
struct rssn_Volume *rssn_volume_new(const char *aZLower,
const char *aZUpper,
const char *aYLower,
const char *aYUpper,
const char *aXLower,
const char *aXUpper,
const char *aXVar,
const char *aYVar,
const char *aZVar)
;
rssn_ DEPRECATED_WITH_NOTE char *stats_percentile(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE char *stats_simple_linear_regression(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE char *transforms_fft(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE char *transforms_ifft(const char *aJsonPtr) ;
rssn_ DEPRECATED_WITH_NOTE char *vector_scalar_mul(const char *aJsonPtr) ;
#ifdef __cplusplus
} #endif
#ifdef __cplusplus
} #endif
#endif