Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonctions canonicalize, canonicalizef et canonicalizel

Entête à inclure

#include <math.h>  // <cmath> en C++

Fonctions canonicalize, canonicalizef et canonicalizel

int canonicalize( double *cx, const double *x );                    // C23
int canonicalizef( float *cx, const float *x );                     // C23
int canonicalizel( long double *cx, const long double *x );         // C23

Ces trois fonctions tentent de stocker une représentation canonique de la valeur flottante source.

Ces éléments ont été ajoutés par la version C23 du standard du langage C.

Paramètres

Valeur de retour

Ces fonctions renvoient zéro si une représentation canonique a été stockée, et une valeur non nulle sinon.

Exemple de code

L'exemple suivant montre une utilisation simple de ces fonctions.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main() {
    double source = 1.0;
    double result = 0.0;
    printf( "canonicalize(...) == %d\n", canonicalize(&result, &source) );
    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction canonicalize.

Il est à noter que la librairie mathématique doit être ajoutée durant l'étape de "link" (édition des liens) de votre exécutable. Cela se réalise en ajoutant l'option -lm à votre compilateur GCC. En cas d'utilisation d'un autre compilateur, je vous renvoie vers la documentation de ce dernier.

$> gcc -o sample sample.c -lm
$> ./sample
canonicalize(...) == 0
$>

Sujets connexes

La librairie <math.h>


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé