Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
S
SGI-Bourgoin-Trachino
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki externe
Code
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Déploiement
Releases
Registre de conteneur
Registre de modèles
Surveillance
Incidents
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Hugo TRACHINO
SGI-Bourgoin-Trachino
Validations
8bdf0e3f
Valider
8bdf0e3f
rédigé
5 years ago
par
Hugo TRACHINO
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
PM does not overuse RAM
parent
f57923f1
Aucune branche associée trouvée
Branches contenant la validation
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
2
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
2 fichiers modifiés
PM.cpp
+17
-8
17 ajouts, 8 suppressions
PM.cpp
fcts.h
+30
-17
30 ajouts, 17 suppressions
fcts.h
avec
47 ajouts
et
25 suppressions
PM.cpp
+
17
−
8
Voir le fichier @
8bdf0e3f
...
...
@@ -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
);
freqs
[
i
]
=
0
;
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
();
}
Ce diff est replié.
Cliquez pour l'agrandir.
fcts.h
+
30
−
17
Voir le fichier @
8bdf0e3f
...
...
@@ -10,39 +10,52 @@ static long seed = 0xAAAA;
long
uniform
()
{
long
unsigned
int
hi
=
m
*
(
seed
&
n
);
long
unsigned
int
lo
=
m
*
(
seed
>>
16
);
lo
+=
(
hi
&
0x7FFF
)
<<
16
;
lo
+=
hi
>>
15
;
if
(
lo
>
0x7FFFFFFF
)
lo
-=
0x7FFFFFFF
;
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
){
void
store_freqs
(
int
freqs
[],
int
nCuts
){
std
::
ofstream
freqcsv
;
freqcsv
.
open
(
"gva_freqs.csv"
);
int
i
;
for
(
i
=
0
;
i
<
nCuts
;
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
]
++
;
//
freqs[res[i]%nCuts] ++;
myfile
<<
res
[
i
];
myfile
<<
"
\n
"
;
}
for
(
i
=
0
;
i
<
nCuts
;
i
++
){
freqcsv
<<
"0."
;
freqcsv
<<
i
;
freqcsv
<<
", "
;
freqcsv
<<
freqs
[
i
];
freqcsv
<<
"
\n
"
;
}
freqcsv
<<
"1.0, 0"
;
// for (i=0; i < nCuts; i++){
// freqcsv << (double) i / nCuts;
// freqcsv << ", ";
// freqcsv << freqs[i];
// freqcsv << "\n";
// }
// freqcsv << "1.0, 0";
myfile
.
close
();
freqcsv
.
close
();
}
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter