star-gs

Literate program for a geometric sensitivity calculation
git clone git://git.meso-star.fr/star-gs.git
Log | Files | Refs | README | LICENSE

commit 5e8d57ee99513ac85ec72f8792ff23a449fc28f2
parent 53fea035dcea083b6e2e9cf1b6a7d1c16ac1b8a6
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed,  4 Jan 2023 22:01:45 +0100

Relecture de l'annexe "fonction de calcul"

Ce commit fixe une erreur de compilation Latex, corrige une faute
d'orthographe et le code C de la fonction run_realisation.

Diffstat:
Msrc/sgs_compute_sensitivity_translation.nw | 14+++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/sgs_compute_sensitivity_translation.nw b/src/sgs_compute_sensitivity_translation.nw @@ -1065,7 +1065,7 @@ if(res != RES_OK) goto error; \paragraph{} En sortie de l'intégration Monte-Carlo (fonction [[smc_solve]]) nous disposons d'un estimateur de nos variables aléatoires, en l'occurrence la sensibilité à la translation et la fraction de la luminance qui dépend du -paramètre {\PI}. Nous pouvons dès lors récupérer l'état de notre estimateur +paramètre {$\PI$}. Nous pouvons dès lors récupérer l'état de notre estimateur pour afficher l'espérance et l'écart type de ces variables. <<afficher les résultats de l'estimation>>= @@ -1075,13 +1075,14 @@ if(res != RES_OK) goto error; printf("Sensibilité ~ %g +/- %g\n", SMC_DOUBLEN(status.E)[0], /* Espérance */ SMC_DOUBLEN(status.SE)[0]); /* Écart type */ + printf("Luminance ~ %g +/- %g\n", SMC_DOUBLEN(status.E)[1], /* Espérance */ SMC_DOUBLEN(status.SE)[1]); /* Écart type */ @ -\paragraph{} Ne reste plus qu'à déclarer les variables locales utilisés par -notre fonction de calcul +\paragraph{} Ne reste plus qu'à déclarer les variables locales utilisées par +notre fonction de calcul. <<variables locales au calcul de sensibilité>>= /* Système */ @@ -1117,10 +1118,13 @@ run_realisation const unsigned ithread, void* ctx) { - struct smc_doubleN_context* context = ctx; + struct smc_doubleN_context* context = NULL; + struct sgs* sgs = NULL, ASSERT(ctx && output); (void)ithread; /* Éviter l'avertissement de compilation "variable inutilisée" */ - return realisation(rng, ctx->integrand_data.sgs->scene, SMC_DOUBLEN(output)); + context = ctx; + sgs = context->integrand_data + return realisation(rng, sgs->scene, SMC_DOUBLEN(output)); } @