/*
Author: Jim Michaels
Creation Date: 3/13/2012
Current Date: 3/13/2012
Abstract: Shows what I think is a bug in <random>'s uniform_int
distribution where the mt19937 random number generator I am
feeding through it has its numbers concentrated around the
upper portion of the range rather than spread out across the
entire range of the data type. Am I not undertsanding what
uniform_int is supposed to do? or is it not supposed to
produce discrete statistical uniform distributions?
*/
#include <tr1/random>
#include <tr1/stdint.h>
#include <iostream>
using namespace std;
std::tr1::mt19937 gen;//mersenne twister random number generator
#if defined(__MINGW32__)||defined(_MSC_VER)||defined(__BORLANDC__)
std::tr1::uniform_int<> u(0ULL, 0xffffffffffffffffULL);
#else
std::tr1::uniform_int<> u(0Ui64, 0xffffffffffffffffUi64);
#endif
inline uint64_t random(void) {
return u(gen);
}
int main(void) {
int x;
bool isFirst=true;
uint64_t mn=0,mx=0,cur=0;
for (x=0; x < 100; x++) {
cout.fill('0');
cout.width(20);
cur=random();
if (isFirst) {
mn=cur;
mx=cur;
isFirst=false;
}
cout<<cur<<endl;
if (cur>mx) mx=cur;
if (cur<mn) mn=cur;
}
cout<<endl<<"min=";
cout.fill('0');
cout.width(20);
cout<<mn<<"\nmax=";
cout.fill('0');
cout.width(20);
cout<<mx<<"\ndifference=";
cout.fill('0');
cout.width(20);
cout<<mx-mn<<endl;
return 0;
}
//problem: this hovers way too long around
/*
sample output:
18446744072913795932
18446744073304931054
18446744073000918905
18446744073575839711
18446744073337503749
18446744072130546618
18446744071764878885
18446744071763422559
18446744073678977040
18446744073527044839
18446744073694353124
18446744073558749017
18446744073570802426
18446744072532038929
18446744073583248563
18446744073628418359
18446744073525585066
18446744072842422873
18446744072851762780
18446744073347638446
18446744072162347015
18446744072817088873
18446744073187415213
18446744073535572907
18446744071577799048
18446744072230969164
18446744072841661626
18446744073061566917
18446744073426054765
18446744072341001254
18446744072329729627
18446744072669053378
18446744072595640013
18446744072606313980
18446744072229840436
18446744072447029159
18446744072838875481
18446744073161637570
18446744073684075993
18446744072951308745
18446744072944631962
18446744072398850529
18446744072694865646
18446744073495756929
18446744072264748328
18446744072702453906
18446744072829941902
18446744072190477567
18446744072824680856
18446744072461283062
18446744073369711431
18446744072655938920
18446744072882903664
18446744072445861649
18446744072333885098
18446744072228208822
18446744072467034220
18446744072180375568
18446744072738533078
18446744073536653217
18446744071878841848
18446744073180228744
18446744071928290152
18446744072885671619
18446744072641251774
18446744072941808995
18446744072940068643
18446744071587653283
18446744073452171529
18446744072417095975
18446744073240984662
18446744073534709601
18446744071909774250
18446744071764857140
18446744072686194971
18446744072892367725
18446744073025437414
18446744073660252266
18446744072911911023
18446744073405741205
18446744073311686108
18446744073058725738
18446744073516353565
18446744072060476037
18446744072759924511
18446744073655691123
18446744072982966111
18446744072823059978
18446744071928274454
18446744071967957672
18446744071775629235
18446744072561930879
18446744073353901113
18446744072400586818
18446744072334388088
18446744072666734544
18446744072651826116
18446744071826455169
18446744071853359699
18446744071679627487
min=18446744071577799048
max=18446744073694353124
difference=00000000002116554076
*/
-------------
Jim Michaels
[email protected]
[email protected]
http://JimsComputerRepairandWebDesign.com
http://JesusnJim.com (my personal site, has software)
---
Computer memory measurements, SSD measurements, microsoft disk size
measurements (note: they will say GB or MB or KB or TB when it is not!):
[KiB] [MiB] [GiB] [TiB]
[2^10B=1,024B=1KiB]
[2^20B=1,048,576B=1MiB]
[2^30B=1,073,741,824B=1GiB]
[2^40B=1,099,511,627,776B=1TiB]
hard disk industry disk size measurements:
[KB] [MB] [GB] [TB]
[10^3B=1,000B=1KB]
[10^6B=1,000,000B=1MB]
[10^9B=1,000,000,000B=1GB]
[10^12B=1,000,000,000,000B=1TB]------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public