1 #ifndef GNM_EXPR_DERIV_H_ 2 #define GNM_EXPR_DERIV_H_ 3 4 G_BEGIN_DECLS 5 6 #include <gnumeric-fwd.h> 7 #include <expr.h> 8 #include <numbers.h> 9 10 /* ------------------------------------------------------------------------- */ 11 12 GType gnm_expr_deriv_info_get_type (void); 13 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); 17 18 void gnm_expr_deriv_info_set_var (GnmExprDeriv *deriv, GnmEvalPos const *var); 19 20 /* ------------------------------------------------------------------------- */ 21 22 GnmExpr const *gnm_expr_deriv (GnmExpr const *expr, 23 GnmEvalPos const *ep, 24 GnmExprDeriv *info); 25 26 27 GnmExprTop const *gnm_expr_top_deriv (GnmExprTop const *texpr, 28 GnmEvalPos const *ep, 29 GnmExprDeriv *info); 30 31 GnmExprTop const *gnm_expr_cell_deriv (GnmCell *y, GnmCell *x); 32 33 gnm_float gnm_expr_cell_deriv_value (GnmCell *y, GnmCell *x); 34 35 GnmExpr const *gnm_expr_deriv_chain (GnmExpr const *expr, 36 GnmExpr const *deriv, 37 GnmEvalPos const *ep, 38 GnmExprDeriv *info); 39 40 GnmExprList *gnm_expr_deriv_collect (GnmExpr const *expr, 41 GnmEvalPos const *ep, 42 GnmExprDeriv *info); 43 44 /* ------------------------------------------------------------------------- */ 45 46 void gnm_expr_deriv_shutdown_ (void); 47 48 /* ------------------------------------------------------------------------- */ 49 50 G_END_DECLS 51 52 #endif 53