C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Re: Entiers avec tests de debordement

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Frederic Py
Guest





PostPosted: Wed Jul 30, 2003 1:04 pm    Post subject: Re: Entiers avec tests de debordement Reply with quote



Marc Boyer wrote:
Quote:
Je suis à la recherche d'une classe (template) qui encapsulerait
les types numériques et déclencherait une exception en cas de
débordement.

A priori je verrais bien l'exploitation de std::numeric_limits avec un
template de ce genre.

template<class Ty, class Limits=std::numeric_limits
class bound_checked;

Pour le code ca devient plus tordu surement mais numeric_lits::min et
numeric_limits::max devraient etre suffisants pour les entiers classiques


--
Frederic Py


Back to top
Marc Boyer
Guest





PostPosted: Wed Jul 30, 2003 1:46 pm    Post subject: Re: Entiers avec tests de debordement Reply with quote



Frederic Py wrote:
Quote:
Marc Boyer wrote:
Je suis à la recherche d'une classe (template) qui encapsulerait
les types numériques et déclencherait une exception en cas de
débordement.

A priori je verrais bien l'exploitation de std::numeric_limits avec un
template de ce genre.

template class bound_checked;

Pour le code ca devient plus tordu surement mais numeric_lits::min et
numeric_limits::max devraient etre suffisants pour les entiers classiques

Ouaip, tout à fait, en ré-écrivant +=, *=, et en renvoyant les
(+,*,- sur ces deux là), et en ajoutant quelques conversions
(bien choisies) vers le type numérique sous-jascent.

Mais je me dis que quelqu'un a déjà bien fait ça, et mieux
que moi, surement, non ?

Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(

Back to top
Julien Blanc
Guest





PostPosted: Wed Jul 30, 2003 2:01 pm    Post subject: Re: Entiers avec tests de debordement Reply with quote



Marc Boyer wrote:
Quote:
Frederic Py wrote:

Ouaip, tout à fait, en ré-écrivant +=, *=, et en renvoyant les
(+,*,- sur ces deux là), et en ajoutant quelques conversions
(bien choisies) vers le type numérique sous-jascent.

Mais je me dis que quelqu'un a déjà bien fait ça, et mieux
que moi, surement, non ?

j'avais commencé quelque chose, et je me suis arrêté après m'être rendu
compte que j'allais soit :

- avoir un code extrêmement lent en raison de toutes les vérifications
faites AVANT les calculs (ce qui est loin d'être trivial)
- avoir un code susceptible de merder dans certains cas

le pire est que les processeurs offrent un moyen à ma connaissance de
détecter les débordements de capacité, ce qui résouds une bonne partie
des problèmes, mais je n'ai jamais trouvé comment récupérer cela de
manière simple et portable (autre que l'utilisation d'assembleur) en c++.

j'avais aussi cherché quelque chose de déjà fait, et rien trouvé.
Moralité, utiliser un langage qui permet cela (eiffel ou ada Smile ).

--
Julien Blanc. Equipe cadp. VERIMAG. Grenoble. France.


Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.