1 #ifndef STAN_LANG_AST_NODE_INTEGRATE_1D_HPP 2 #define STAN_LANG_AST_NODE_INTEGRATE_1D_HPP 3 4 #include <stan/lang/ast/node/expression.hpp> 5 #include <string> 6 7 namespace stan { 8 namespace lang { 9 10 struct integrate_1d { 11 /** 12 * Name of the function being integrated. 13 */ 14 std::string function_name_; 15 16 /** 17 * Lower integration boundary. 18 */ 19 expression lb_; 20 21 /** 22 * Upper integration boundary. 23 */ 24 expression ub_; 25 26 /** 27 * Parameters. 28 */ 29 expression theta_; 30 31 /** 32 * Real-valued data. 33 */ 34 expression x_r_; 35 36 /** 37 * Integer-valued data. 38 */ 39 expression x_i_; 40 41 /** 42 * Relative tolerance of solution. 43 */ 44 expression rel_tol_; 45 46 47 /** 48 * Construct a 1D integrator AST node. 49 */ 50 integrate_1d(); 51 52 /** 53 * Construct a 1D integrator AST node with the specified function 54 * name, lower and upper integration bounds, parameters, and real 55 * and integer data. 56 * 57 * @param function_name name of function to integrate 58 * @param lb lower bound of integration 59 * @param ub upper bound of integration 60 * @param theta parameters 61 * @param x_r real data 62 * @param x_i integer data 63 * @param rel_tol relative tolerance 64 */ 65 integrate_1d(const std::string& function_name, const expression& lb, 66 const expression& ub, const expression& theta, 67 const expression& x_r, const expression& x_i, 68 const expression& rel_tol); 69 }; 70 71 } 72 } 73 #endif 74