0
3
0
| ... | ... |
@@ -72,10 +72,8 @@ |
| 72 | 72 |
#include <lemon/dim2.h> |
| 73 | 73 |
///\ingroup misc |
| 74 | 74 |
///\file |
| 75 | 75 |
///\brief Mersenne Twister random number generator |
| 76 |
/// |
|
| 77 |
///\author Balazs Dezso |
|
| 78 | 76 |
|
| 79 | 77 |
namespace lemon {
|
| 80 | 78 |
|
| 81 | 79 |
namespace _random_bits {
|
| ... | ... |
@@ -515,14 +513,12 @@ |
| 515 | 513 |
/// The lemon provides a global instance of the random number |
| 516 | 514 |
/// generator which name is \ref lemon::rnd "rnd". Usually it is a |
| 517 | 515 |
/// good programming convenience to use this global generator to get |
| 518 | 516 |
/// random numbers. |
| 519 |
/// |
|
| 520 |
/// \author Balazs Dezso |
|
| 521 | 517 |
class Random {
|
| 522 | 518 |
private: |
| 523 | 519 |
|
| 524 |
// |
|
| 520 |
// Architecture word |
|
| 525 | 521 |
typedef unsigned long Word; |
| 526 | 522 |
|
| 527 | 523 |
_random_bits::RandomCore<Word> core; |
| 528 | 524 |
_random_bits::BoolProducer<Word> bool_producer; |
| ... | ... |
@@ -722,10 +718,10 @@ |
| 722 | 718 |
return std::sqrt(-2*std::log(S)/S)*V1; |
| 723 | 719 |
} |
| 724 | 720 |
/// Gauss distribution with given mean and standard deviation |
| 725 | 721 |
|
| 722 |
/// Gauss distribution with given mean and standard deviation |
|
| 726 | 723 |
/// \sa gauss() |
| 727 |
/// |
|
| 728 | 724 |
double gauss(double mean,double std_dev) |
| 729 | 725 |
{
|
| 730 | 726 |
return gauss()*std_dev+mean; |
| 731 | 727 |
} |
| ... | ... |
@@ -813,8 +809,11 @@ |
| 813 | 809 |
|
| 814 | 810 |
///@{
|
| 815 | 811 |
|
| 816 | 812 |
/// Uniform distribution on the full unit circle. |
| 813 |
|
|
| 814 |
/// Uniform distribution on the full unit circle. |
|
| 815 |
/// |
|
| 817 | 816 |
dim2::Point<double> disc() |
| 818 | 817 |
{
|
| 819 | 818 |
double V1,V2; |
| 820 | 819 |
do {
|
| ... | ... |
@@ -47,11 +47,15 @@ |
| 47 | 47 |
///\sa Tolerance<float> |
| 48 | 48 |
///\sa Tolerance<double> |
| 49 | 49 |
///\sa Tolerance<long double> |
| 50 | 50 |
///\sa Tolerance<int> |
| 51 |
#if defined __GNUC__ && !defined __STRICT_ANSI__ |
|
| 51 | 52 |
///\sa Tolerance<long long int> |
| 53 |
#endif |
|
| 52 | 54 |
///\sa Tolerance<unsigned int> |
| 55 |
#if defined __GNUC__ && !defined __STRICT_ANSI__ |
|
| 53 | 56 |
///\sa Tolerance<unsigned long long int> |
| 57 |
#endif |
|
| 54 | 58 |
|
| 55 | 59 |
template<class T> |
| 56 | 60 |
class Tolerance |
| 57 | 61 |
{
|
| ... | ... |
@@ -129,9 +133,9 @@ |
| 129 | 133 |
bool positive(Value a) const { return _epsilon<a; }
|
| 130 | 134 |
///Returns \c true if \c a is \e surely negative |
| 131 | 135 |
bool negative(Value a) const { return -_epsilon>a; }
|
| 132 | 136 |
///Returns \c true if \c a is \e surely non-zero |
| 133 |
bool nonZero(Value a) const { return positive(a)||negative(a); }
|
|
| 137 |
bool nonZero(Value a) const { return positive(a)||negative(a); }
|
|
| 134 | 138 |
|
| 135 | 139 |
///@} |
| 136 | 140 |
|
| 137 | 141 |
///Returns zero |
| ... | ... |
@@ -180,9 +184,9 @@ |
| 180 | 184 |
bool positive(Value a) const { return _epsilon<a; }
|
| 181 | 185 |
///Returns \c true if \c a is \e surely negative |
| 182 | 186 |
bool negative(Value a) const { return -_epsilon>a; }
|
| 183 | 187 |
///Returns \c true if \c a is \e surely non-zero |
| 184 |
bool nonZero(Value a) const { return positive(a)||negative(a); }
|
|
| 188 |
bool nonZero(Value a) const { return positive(a)||negative(a); }
|
|
| 185 | 189 |
|
| 186 | 190 |
///@} |
| 187 | 191 |
|
| 188 | 192 |
///Returns zero |
| ... | ... |
@@ -231,9 +235,9 @@ |
| 231 | 235 |
bool positive(Value a) const { return _epsilon<a; }
|
| 232 | 236 |
///Returns \c true if \c a is \e surely negative |
| 233 | 237 |
bool negative(Value a) const { return -_epsilon>a; }
|
| 234 | 238 |
///Returns \c true if \c a is \e surely non-zero |
| 235 |
bool nonZero(Value a) const { return positive(a)||negative(a); }
|
|
| 239 |
bool nonZero(Value a) const { return positive(a)||negative(a); }
|
|
| 236 | 240 |
|
| 237 | 241 |
///@} |
| 238 | 242 |
|
| 239 | 243 |
///Returns zero |
| ... | ... |
@@ -264,9 +268,9 @@ |
| 264 | 268 |
static bool positive(Value a) { return 0<a; }
|
| 265 | 269 |
///Returns \c true if \c a is \e surely negative |
| 266 | 270 |
static bool negative(Value a) { return 0>a; }
|
| 267 | 271 |
///Returns \c true if \c a is \e surely non-zero |
| 268 |
static bool nonZero(Value a) { return a!=0; }
|
|
| 272 |
static bool nonZero(Value a) { return a!=0; }
|
|
| 269 | 273 |
|
| 270 | 274 |
///@} |
| 271 | 275 |
|
| 272 | 276 |
///Returns zero |
| ... | ... |
@@ -297,9 +301,9 @@ |
| 297 | 301 |
static bool positive(Value a) { return 0<a; }
|
| 298 | 302 |
///Returns \c true if \c a is \e surely negative |
| 299 | 303 |
static bool negative(Value) { return false; }
|
| 300 | 304 |
///Returns \c true if \c a is \e surely non-zero |
| 301 |
static bool nonZero(Value a) { return a!=0; }
|
|
| 305 |
static bool nonZero(Value a) { return a!=0; }
|
|
| 302 | 306 |
|
| 303 | 307 |
///@} |
| 304 | 308 |
|
| 305 | 309 |
///Returns zero |
| ... | ... |
@@ -331,9 +335,9 @@ |
| 331 | 335 |
static bool positive(Value a) { return 0<a; }
|
| 332 | 336 |
///Returns \c true if \c a is \e surely negative |
| 333 | 337 |
static bool negative(Value a) { return 0>a; }
|
| 334 | 338 |
///Returns \c true if \c a is \e surely non-zero |
| 335 |
static bool nonZero(Value a) { return a!=0;}
|
|
| 339 |
static bool nonZero(Value a) { return a!=0;}
|
|
| 336 | 340 |
|
| 337 | 341 |
///@} |
| 338 | 342 |
|
| 339 | 343 |
///Returns zero |
| ... | ... |
@@ -364,9 +368,9 @@ |
| 364 | 368 |
static bool positive(Value a) { return 0<a; }
|
| 365 | 369 |
///Returns \c true if \c a is \e surely negative |
| 366 | 370 |
static bool negative(Value) { return false; }
|
| 367 | 371 |
///Returns \c true if \c a is \e surely non-zero |
| 368 |
static bool nonZero(Value a) { return a!=0;}
|
|
| 372 |
static bool nonZero(Value a) { return a!=0;}
|
|
| 369 | 373 |
|
| 370 | 374 |
///@} |
| 371 | 375 |
|
| 372 | 376 |
///Returns zero |
| ... | ... |
@@ -401,9 +405,9 @@ |
| 401 | 405 |
static bool positive(Value a) { return 0<a; }
|
| 402 | 406 |
///Returns \c true if \c a is \e surely negative |
| 403 | 407 |
static bool negative(Value a) { return 0>a; }
|
| 404 | 408 |
///Returns \c true if \c a is \e surely non-zero |
| 405 |
static bool nonZero(Value a) { return a!=0;}
|
|
| 409 |
static bool nonZero(Value a) { return a!=0;}
|
|
| 406 | 410 |
|
| 407 | 411 |
///@} |
| 408 | 412 |
|
| 409 | 413 |
///Returns zero |
| ... | ... |
@@ -436,9 +440,9 @@ |
| 436 | 440 |
static bool positive(Value a) { return 0<a; }
|
| 437 | 441 |
///Returns \c true if \c a is \e surely negative |
| 438 | 442 |
static bool negative(Value) { return false; }
|
| 439 | 443 |
///Returns \c true if \c a is \e surely non-zero |
| 440 |
static bool nonZero(Value a) { return a!=0;}
|
|
| 444 |
static bool nonZero(Value a) { return a!=0;}
|
|
| 441 | 445 |
|
| 442 | 446 |
///@} |
| 443 | 447 |
|
| 444 | 448 |
///Returns zero |
0 comments (0 inline)