Skip to content
Extraits de code Groupes Projets
Valider 8bdf0e3f rédigé par Hugo TRACHINO's avatar Hugo TRACHINO
Parcourir les fichiers

PM does not overuse RAM

parent f57923f1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -2,6 +2,9 @@
int main(int argc, char **argv) {
int nRNG, nCuts;
std::ofstream rescsv;
rescsv.open("gva_res.csv");
if(argc <2){
printf("Please give the number of random generated number \n");
return -1;
......@@ -13,14 +16,20 @@ int main(int argc, char **argv) {
else
nCuts = atoi(argv[2]);
long unif[nRNG];
// create the outputs
for (int i = 0; i < nRNG; i++)
unif[i] = uniform();
// store hist freqs
long unif;
int freqs[nCuts];
// initialize frequences
for(int i=0; i < nCuts; i ++)
freqs[i] = 0;
store_res(unif, freqs, nRNG, nCuts);
for (int i = 0; i < nRNG; i++){
// create the outputs
unif = uniform();
// store hist freqs
freqs[unif%nCuts] ++;
rescsv << unif;
rescsv << "\n";
}
store_freqs(freqs, nCuts);
rescsv.close();
}
......@@ -19,30 +19,43 @@ long uniform() {
seed=(long) lo;
return seed ;
}
//void gaussian(){
// Y0 = sqrt(-2* log(U0))*cos(2* pi * U1);
// Y1 = sqrt(-2* log(U0))*sin(2* pi * U1);
//}
void gaussian(double U0, double U1, double res[2]){
res[0] = sqrt(-2 * log(U0)) * cos(2 * M_PI * U1);
res[1] = sqrt(-2 * log(U0)) * sin(2 * M_PI * U1);
}
void store_res(long * res, int freqs[], int nRNG, int nCuts){
std::ofstream myfile, freqcsv;
myfile.open("gva_res.csv");
void store_freqs(int freqs[], int nCuts){
std::ofstream freqcsv;
freqcsv.open("gva_freqs.csv");
int i;
for (i = 0; i < nRNG; i ++){
freqs[res[i]%nCuts] ++;
myfile << res[i];
myfile << "\n";
}
for (i=0; i < nCuts; i++){
freqcsv << "0.";
freqcsv << i;
freqcsv << (double) i / nCuts;
freqcsv << "-";
freqcsv << (double) (i+1) / nCuts;
freqcsv << ", ";
freqcsv << freqs[i];
freqcsv << "\n";
}
freqcsv << "1.0, 0";
freqcsv.close();
}
void store_res_double(double * res, int freqs[], int nRNG, int nCuts){
std::ofstream myfile, freqcsv;
myfile.open("gva_res.csv");
freqcsv.open("gva_freqs.csv");
int i;
for (i = 0; i < nRNG; i ++){
// freqs[res[i]%nCuts] ++;
myfile << res[i];
myfile << "\n";
}
// for (i=0; i < nCuts; i++){
// freqcsv << (double) i / nCuts;
// freqcsv << ", ";
// freqcsv << freqs[i];
// freqcsv << "\n";
// }
// freqcsv << "1.0, 0";
myfile.close();
freqcsv.close();
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter