OVH Cloud OVH Cloud

+- infini

2 réponses
Avatar
Aurélien Barbier-Accary
Bonjour,

j'ai besoin de définir la classe suivante :
class ScalaireBorné // sans accent bien sûr
{
protected:
double xmin, x, xmax; // xmin <= x <= xmax
public:
ScalaireBorne(const double& x, const double& xmin=???, const double& xmax=???);
//...
};

Ma question est donc comment donner les bornes par défaut -inf et +inf ?
Il me semble que ces bornes sont 2^-1075 et 2^1024 mais comment les définir
proprement ?
Existe-t-il une bibliothèque qui les défini où faut-il utiliser quelque chose du
type 1>>1075 et 1<<1024 ?
Je sais que gcc (que j'utilise) déclare des fonctions isNaN(), isinf() et
finite(), mais je n'ai rien trouvé pour les valeurs -inf et +inf :-(

Aurélien.

2 réponses

Avatar
Arnaud Debaene
Aurélien Barbier-Accary wrote:
Bonjour,

j'ai besoin de définir la classe suivante :
class ScalaireBorné // sans accent bien sûr
{
protected:
double xmin, x, xmax; // xmin <= x <= xmax
public:
ScalaireBorne(const double& x, const double& xmin=???, const
double& xmax=???); //...
};

Ma question est donc comment donner les bornes par défaut -inf et
+inf ?


std::numeric_limits<double>::infinity()

Arnaud

Avatar
Aurélien Barbier-Accary
Aurélien Barbier-Accary wrote:
Ma question est donc comment donner les bornes par défaut -inf et +inf ?



std::numeric_limits<double>::infinity()

Arnaud


nickel, merci !

Finalement j'utilise donc numeric_limits<double>::min() et
numeric_limits<double>::max().

Aurélien.