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 setpayloadsig, setpayloadsigf et setpayloadsigl

Entête à inclure

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

Fonctions setpayloadsig, setpayloadsigf et setpayloadsigl

int setpayloadsig( double *res, double pl );          // C23 / ISO/IEC 60559
int setpayloadsigf( float *res, float pl );          // C23 / ISO/IEC 60559
int setpayloadsigl( long double *res, long double pl );          // C23 / ISO/IEC 60559

Ces trois fonctions créent un NaN signalant avec le payload demandé et le stockent dans l'objet pointé par res.

Ces fonctions sont liées au support ISO/IEC 60559. Elles ne sont disponibles que si l'implémentation expose les macros de fonctionnalités correspondantes.

Paramètres

Valeur de retour

Ces fonctions renvoient zéro si le NaN signalant demandé a été stocké, 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 
 11 
#define __STDC_WANT_IEC_60559_EXT__
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main() {
    double value = 0.0;
    printf( "setpayloadsig(&value, 1.0) == %d
", setpayloadsig(&value, 1.0) );
    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction setpayloadsig.

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.

$> gcc -o sample sample.c -lm
$> ./sample
setpayloadsig(&value, 1.0) == 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é