1.12.42
[gnumeric.git] / src / expr-deriv.h
blobdace0575e5015242879daf101072bed333354713
1 #ifndef GNM_EXPR_DERIV_H_
2 #define GNM_EXPR_DERIV_H_
4 G_BEGIN_DECLS
6 #include <gnumeric-fwd.h>
7 #include <expr.h>
8 #include <numbers.h>
10 /* ------------------------------------------------------------------------- */
12 GType gnm_expr_deriv_info_get_type (void);
14 GnmExprDeriv *gnm_expr_deriv_info_new (void);
15 GnmExprDeriv *gnm_expr_deriv_info_ref (GnmExprDeriv *deriv);
16 void gnm_expr_deriv_info_unref (GnmExprDeriv *deriv);
18 void gnm_expr_deriv_info_set_var (GnmExprDeriv *deriv, GnmEvalPos const *var);
20 /* ------------------------------------------------------------------------- */
22 GnmExpr const *gnm_expr_deriv (GnmExpr const *expr,
23 GnmEvalPos const *ep,
24 GnmExprDeriv *info);
27 GnmExprTop const *gnm_expr_top_deriv (GnmExprTop const *texpr,
28 GnmEvalPos const *ep,
29 GnmExprDeriv *info);
31 GnmExprTop const *gnm_expr_cell_deriv (GnmCell *y, GnmCell *x);
33 gnm_float gnm_expr_cell_deriv_value (GnmCell *y, GnmCell *x);
35 GnmExpr const *gnm_expr_deriv_chain (GnmExpr const *expr,
36 GnmExpr const *deriv,
37 GnmEvalPos const *ep,
38 GnmExprDeriv *info);
40 GnmExprList *gnm_expr_deriv_collect (GnmExpr const *expr,
41 GnmEvalPos const *ep,
42 GnmExprDeriv *info);
44 /* ------------------------------------------------------------------------- */
46 void gnm_expr_deriv_shutdown_ (void);
48 /* ------------------------------------------------------------------------- */
50 G_END_DECLS
52 #endif