Changeset 782 for trunk/yat/utility/vector.cc
- Timestamp:
- Mar 5, 2007, 10:17:31 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/yat/utility/vector.cc
r775 r782 229 229 230 230 231 bool vector::isnull(void) const232 {233 return gsl_vector_isnull(proxy_v_);234 }235 236 237 231 bool vector::isview(void) const 238 232 { 239 233 return view_ || view_const_; 240 }241 242 243 double vector::max(void) const244 {245 return gsl_vector_max(proxy_v_);246 }247 248 249 size_t vector::max_index(void) const250 {251 return gsl_vector_max_index(proxy_v_);252 }253 254 255 double vector::min(void) const256 {257 return gsl_vector_min(proxy_v_);258 }259 260 261 size_t vector::min_index(void) const262 {263 return gsl_vector_min_index(proxy_v_);264 }265 266 267 std::pair<double,double> vector::minmax(void) const268 {269 double min, max;270 gsl_vector_minmax(proxy_v_, &min, &max);271 return std::pair<double,double>(min,max);272 }273 274 275 std::pair<size_t,size_t> vector::minmax_index(void) const276 {277 size_t min_index, max_index;278 gsl_vector_minmax_index(proxy_v_, &min_index, &max_index);279 return std::pair<size_t,size_t>(min_index,max_index);280 234 } 281 235 … … 305 259 { 306 260 gsl_vector_set_all(v_,value); 307 }308 309 310 void vector::set_basis(const size_t i)311 {312 gsl_vector_set_basis(v_,i);313 }314 315 316 void vector::set_zero(void)317 {318 gsl_vector_set_zero(v_);319 261 } 320 262 … … 328 270 329 271 330 void vector::sort(void) 331 { 332 gsl_sort_vector(v_); 333 } 334 335 336 double vector::sum(void) const 337 { 338 double sum = 0; 339 for (size_t i=0; i<size(); i++) 340 sum += (*this)(i); 341 return( sum ); 342 } 343 344 345 void vector::swap(vector& other) 346 { 347 int status=gsl_vector_swap(v_,other.v_); 348 if (status) 349 throw utility::GSL_error(std::string("vector::swap",status)); 350 } 351 352 353 void vector::swap_elements(size_t i, size_t j) 272 void vector::swap(size_t i, size_t j) 354 273 { 355 274 int status=gsl_vector_swap_elements(v_, i, j); … … 459 378 460 379 380 bool isnull(const vector& v) 381 { 382 return gsl_vector_isnull(v.gsl_vector_p()); 383 } 384 385 386 double max(const vector& v) 387 { 388 return gsl_vector_max(v.gsl_vector_p()); 389 } 390 391 392 size_t max_index(const vector& v) 393 { 394 return gsl_vector_max_index(v.gsl_vector_p()); 395 } 396 397 398 double min(const vector& v) 399 { 400 return gsl_vector_min(v.gsl_vector_p()); 401 } 402 403 404 size_t min_index(const vector& v) 405 { 406 return gsl_vector_min_index(v.gsl_vector_p()); 407 } 408 409 410 std::pair<double,double> minmax(const vector& v) 411 { 412 std::pair<double,double> minmax; 413 gsl_vector_minmax(v.gsl_vector_p(), &minmax.first, &minmax.second); 414 return minmax; 415 } 416 417 418 std::pair<size_t,size_t> minmax_index(const vector& v) 419 { 420 std::pair<size_t,size_t> minmax; 421 gsl_vector_minmax_index(v.gsl_vector_p(), &minmax.first, &minmax.second); 422 return minmax; 423 } 424 425 426 void set_basis(vector& v, size_t i) 427 { 428 gsl_vector_set_basis(v.gsl_vector_p(),i); 429 } 430 431 432 void sort(vector& v) 433 { 434 gsl_sort_vector(v.gsl_vector_p()); 435 } 436 437 438 double sum(const vector& v) 439 { 440 double sum = 0; 441 size_t vsize=v.size(); 442 for (size_t i=0; i<vsize; ++i) 443 sum += v[i]; 444 return sum; 445 } 446 447 448 void swap(vector& v, vector& w) 449 { 450 int status=gsl_vector_swap(v.gsl_vector_p(),w.gsl_vector_p()); 451 if (status) 452 throw utility::GSL_error(std::string("swap(vector&,vector&)",status)); 453 } 454 455 461 456 std::ostream& operator<<(std::ostream& s, const vector& a) 462 457 {
Note: See TracChangeset
for help on using the changeset viewer.