Changeset 750
- Timestamp:
- Feb 17, 2007, 11:56:29 AM (17 years ago)
- Location:
- trunk/yat
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/yat/random/random.cc
r738 r750 39 39 // support rng/seed changes through environment vars 40 40 if (!gsl_rng_env_setup()) 41 throw utility::GSL_error("RNG: unknown generator");41 throw utility::GSL_error("RNG::RNG unknown generator"); 42 42 if (!(rng_=gsl_rng_alloc(gsl_rng_default))) 43 throw utility::GSL_error("RNG: failed to allocate memory");43 throw utility::GSL_error("RNG::RNG failed to allocate memory"); 44 44 } 45 45 … … 110 110 { 111 111 if (!(rng_ = gsl_rng_clone(rng->rng()))) 112 throw utility::GSL_error("RNG_state: failed to allocate memory");112 throw utility::GSL_error("RNG_state::RNG_state failed to allocate memory"); 113 113 } 114 114 … … 152 152 delete p; 153 153 if (!gen_) 154 throw utility::GSL_error("DiscreteGeneral: failed to setup generator.");154 throw utility::GSL_error("DiscreteGeneral::DiscreteGeneral failed to setup generator."); 155 155 } 156 156 … … 174 174 { 175 175 if (range_>rng_->max()) { 176 std::stringstream ss("DiscreteUniform: ");176 std::stringstream ss("DiscreteUniform::DiscreteUniform: "); 177 177 ss << n << " is too large for RNG " << rng_->name(); 178 178 throw utility::GSL_error(ss.str()); … … 193 193 // underlying RNG 194 194 if (n>rng_->max()) { 195 std::stringstream ss("DiscreteUniform::op (): ");195 std::stringstream ss("DiscreteUniform::operator(u_long): "); 196 196 ss << n << " is too large for RNG " << rng_->name(); 197 197 throw utility::GSL_error(ss.str()); -
trunk/yat/regression/MultiDimensional.cc
r739 r750 23 23 24 24 #include "MultiDimensional.h" 25 #include "yat/utility/Exception.h" 25 26 #include "yat/utility/matrix.h" 26 27 #include "yat/utility/vector.h" … … 59 60 if (work_) 60 61 gsl_multifit_linear_free(work_); 61 work_=gsl_multifit_linear_alloc(x.rows(),fit_parameters_.size()); 62 gsl_multifit_linear(x.gsl_matrix_p(),y.gsl_vector_p(), 63 fit_parameters_.gsl_vector_p(), 64 covariance_.gsl_matrix_p(),&chisquare_,work_); 62 if (!(work_=gsl_multifit_linear_alloc(x.rows(),fit_parameters_.size()))) 63 throw utility::GSL_error("MultiDimensional::fit failed to allocate memory"); 64 65 int status = gsl_multifit_linear(x.gsl_matrix_p(), y.gsl_vector_p(), 66 fit_parameters_.gsl_vector_p(), 67 covariance_.gsl_matrix_p(), &chisquare_, 68 work_); 69 if (status) 70 throw utility::GSL_error(std::string("MultiDimensional::fit",status)); 71 65 72 s2_ = chisquare_/(x.rows()-x.columns()); 66 73 } -
trunk/yat/regression/MultiDimensionalWeighted.cc
r741 r750 62 62 if (work_) 63 63 gsl_multifit_linear_free(work_); 64 work_=gsl_multifit_linear_alloc(x.rows(),fit_parameters_.size()); 65 gsl_multifit_wlinear(x.gsl_matrix_p(),w.gsl_vector_p(),y.gsl_vector_p(), 66 fit_parameters_.gsl_vector_p(), 67 covariance_.gsl_matrix_p(),&chisquare_,work_); 64 if (!(work_=gsl_multifit_linear_alloc(x.rows(),fit_parameters_.size()))) 65 throw utility::GSL_error("MultiDimensionalWeighted::fit failed to allocate memory"); 66 int status = gsl_multifit_wlinear(x.gsl_matrix_p(), w.gsl_vector_p(), 67 y.gsl_vector_p(), 68 fit_parameters_.gsl_vector_p(), 69 covariance_.gsl_matrix_p(), &chisquare_, 70 work_); 71 if (status) 72 throw utility::GSL_error(std::string("MultiDimensionalWeighted::fit", 73 status)); 68 74 69 75 statistics::AveragerWeighted aw; -
trunk/yat/utility/Exception.h
r738 r750 29 29 #include <string> 30 30 31 #include <gsl/gsl_errno.h> 32 31 33 namespace theplu { 32 34 namespace yat { … … 48 50 */ 49 51 inline GSL_error(std::string message) throw() 50 : std::runtime_error("IO_error: " + message) {} 52 : std::runtime_error("GSL_error: " + message) {} 53 54 inline GSL_error(std::string message, int gsl_status) throw() 55 : std::runtime_error("GSL_error: " + message + gsl_strerror(gsl_status)) {} 51 56 }; 52 57
Note: See TracChangeset
for help on using the changeset viewer.