1515#include < boost/random/uniform_real_distribution.hpp>
1616
1717#include < stan/callbacks/interrupt.hpp>
18- #include < stan/callbacks/writer .hpp>
18+ #include < stan/callbacks/stream_logger .hpp>
1919#include < stan/callbacks/stream_writer.hpp>
20+ #include < stan/callbacks/writer.hpp>
2021#include < stan/io/empty_var_context.hpp>
2122#include < stan/services/diagnose/diagnose.hpp>
2223#include < stan/services/optimize/bfgs.hpp>
@@ -782,8 +783,8 @@ namespace pystan {
782783 && args.get_ctrl_sampling_algorithm () != Fixed_param)
783784 throw std::runtime_error (" Must use algorithm=\" Fixed_param\" for "
784785 " model that has no parameters." );
785- stan::callbacks::stream_writer info (std::cout);
786- stan::callbacks::stream_writer err ( std::cerr);
786+ stan::callbacks::stream_logger logger (std::cout, std::cout, std::cout,
787+ std::cerr, std::cerr);
787788
788789 PyErr_CheckSignals_Functor interrupt;
789790
@@ -850,7 +851,7 @@ namespace pystan {
850851 init_radius,
851852 epsilon, error,
852853 interrupt,
853- info ,
854+ logger ,
854855 init_writer,
855856 sample_writer);
856857 holder.num_failed = return_code;
@@ -868,7 +869,7 @@ namespace pystan {
868869 random_seed, id, init_radius,
869870 num_iterations,
870871 save_iterations,
871- interrupt, info ,
872+ interrupt, logger ,
872873 init_writer, sample_writer);
873874 }
874875 if (args.get_ctrl_optim_algorithm () == BFGS) {
@@ -891,7 +892,7 @@ namespace pystan {
891892 num_iterations,
892893 save_iterations,
893894 refresh,
894- interrupt, info ,
895+ interrupt, logger ,
895896 init_writer, sample_writer);
896897 }
897898 if (args.get_ctrl_optim_algorithm () == LBFGS) {
@@ -916,7 +917,7 @@ namespace pystan {
916917 num_iterations,
917918 save_iterations,
918919 refresh,
919- interrupt, info ,
920+ interrupt, logger ,
920921 init_writer, sample_writer);
921922 }
922923 std::vector<double > params = sample_writer.x ();
@@ -958,7 +959,7 @@ namespace pystan {
958959 num_thin,
959960 refresh,
960961 interrupt,
961- info, err , init_writer,
962+ logger , init_writer,
962963 *sample_writer_ptr, diagnostic_writer);
963964 } else if (args.get_ctrl_sampling_algorithm () == NUTS) {
964965 sampler_names.resize (5 );
@@ -990,7 +991,7 @@ namespace pystan {
990991 num_warmup, num_samples,
991992 num_thin, save_warmup, refresh,
992993 stepsize, stepsize_jitter, max_depth,
993- interrupt, info, err , init_writer,
994+ interrupt, logger , init_writer,
994995 *sample_writer_ptr, diagnostic_writer);
995996 } else {
996997 double delta = args.get_ctrl_sampling_adapt_delta ();
@@ -1009,7 +1010,7 @@ namespace pystan {
10091010 stepsize, stepsize_jitter, max_depth,
10101011 delta, gamma, kappa,
10111012 t0, init_buffer, term_buffer, window,
1012- interrupt, info, err , init_writer,
1013+ interrupt, logger , init_writer,
10131014 *sample_writer_ptr, diagnostic_writer);
10141015 }
10151016 } else if (args.get_ctrl_sampling_metric () == DIAG_E) {
@@ -1020,7 +1021,7 @@ namespace pystan {
10201021 num_warmup, num_samples,
10211022 num_thin, save_warmup, refresh,
10221023 stepsize, stepsize_jitter, max_depth,
1023- interrupt, info, err , init_writer,
1024+ interrupt, logger , init_writer,
10241025 *sample_writer_ptr, diagnostic_writer);
10251026 } else {
10261027 double delta = args.get_ctrl_sampling_adapt_delta ();
@@ -1039,7 +1040,7 @@ namespace pystan {
10391040 stepsize, stepsize_jitter, max_depth,
10401041 delta, gamma, kappa,
10411042 t0, init_buffer, term_buffer, window,
1042- interrupt, info, err , init_writer,
1043+ interrupt, logger , init_writer,
10431044 *sample_writer_ptr, diagnostic_writer);
10441045 }
10451046 } else if (args.get_ctrl_sampling_metric () == UNIT_E) {
@@ -1050,7 +1051,7 @@ namespace pystan {
10501051 num_warmup, num_samples,
10511052 num_thin, save_warmup, refresh,
10521053 stepsize, stepsize_jitter, max_depth,
1053- interrupt, info, err , init_writer,
1054+ interrupt, logger , init_writer,
10541055 *sample_writer_ptr, diagnostic_writer);
10551056 } else {
10561057 double delta = args.get_ctrl_sampling_adapt_delta ();
@@ -1065,7 +1066,7 @@ namespace pystan {
10651066 num_thin, save_warmup, refresh,
10661067 stepsize, stepsize_jitter, max_depth,
10671068 delta, gamma, kappa, t0,
1068- interrupt, info, err , init_writer,
1069+ interrupt, logger , init_writer,
10691070 *sample_writer_ptr, diagnostic_writer);
10701071 }
10711072 }
@@ -1097,7 +1098,7 @@ namespace pystan {
10971098 num_warmup, num_samples,
10981099 num_thin, save_warmup, refresh,
10991100 stepsize, stepsize_jitter, int_time,
1100- interrupt, info, err , init_writer,
1101+ interrupt, logger , init_writer,
11011102 *sample_writer_ptr, diagnostic_writer);
11021103 } else {
11031104 double delta = args.get_ctrl_sampling_adapt_delta ();
@@ -1116,7 +1117,7 @@ namespace pystan {
11161117 stepsize, stepsize_jitter, int_time,
11171118 delta, gamma, kappa, t0,
11181119 init_buffer, term_buffer, window,
1119- interrupt, info, err , init_writer,
1120+ interrupt, logger , init_writer,
11201121 *sample_writer_ptr, diagnostic_writer);
11211122
11221123 }
@@ -1128,7 +1129,7 @@ namespace pystan {
11281129 num_warmup, num_samples,
11291130 num_thin, save_warmup, refresh,
11301131 stepsize, stepsize_jitter, int_time,
1131- interrupt, info, err , init_writer,
1132+ interrupt, logger , init_writer,
11321133 *sample_writer_ptr, diagnostic_writer);
11331134
11341135 } else {
@@ -1148,7 +1149,7 @@ namespace pystan {
11481149 stepsize, stepsize_jitter, int_time,
11491150 delta, gamma, kappa, t0,
11501151 init_buffer, term_buffer, window,
1151- interrupt, info, err , init_writer,
1152+ interrupt, logger , init_writer,
11521153 *sample_writer_ptr, diagnostic_writer);
11531154 }
11541155 } else if (args.get_ctrl_sampling_metric () == UNIT_E) {
@@ -1159,7 +1160,7 @@ namespace pystan {
11591160 num_warmup, num_samples,
11601161 num_thin, save_warmup, refresh,
11611162 stepsize, stepsize_jitter, int_time,
1162- interrupt, info, err , init_writer,
1163+ interrupt, logger , init_writer,
11631164 *sample_writer_ptr, diagnostic_writer);
11641165
11651166 } else {
@@ -1175,7 +1176,7 @@ namespace pystan {
11751176 num_thin, save_warmup, refresh,
11761177 stepsize, stepsize_jitter, int_time,
11771178 delta, gamma, kappa, t0,
1178- interrupt, info, err , init_writer,
1179+ interrupt, logger , init_writer,
11791180 *sample_writer_ptr, diagnostic_writer);
11801181 }
11811182 }
@@ -1265,7 +1266,7 @@ namespace pystan {
12651266 max_iterations, tol_rel_obj, eta,
12661267 adapt_engaged, adapt_iterations,
12671268 eval_elbo, output_samples,
1268- interrupt, info , init_writer,
1269+ interrupt, logger , init_writer,
12691270 *sample_writer_ptr, diagnostic_writer);
12701271 } else {
12711272 return_code = stan::services::experimental::advi
@@ -1275,7 +1276,7 @@ namespace pystan {
12751276 max_iterations, tol_rel_obj, eta,
12761277 adapt_engaged, adapt_iterations,
12771278 eval_elbo, output_samples,
1278- interrupt, info , init_writer,
1279+ interrupt, logger , init_writer,
12791280 *sample_writer_ptr, diagnostic_writer);
12801281 }
12811282 std::vector<std::vector<double > > slst (sample_writer_ptr->values_ .x ().begin (),
0 commit comments