Hi Achim. You are right, INT_MAX is the C++ constant to compare to. It is defined in limits.h
I'm not sure I want to locate limits.h (where is it ? are there several versions ?), and parse it, all from within Emacs-lisp... And this will have to be done for all languages (Python, Perl, Java, and so on), not just C++. Or we could assume that INT_MAX is always 2147483647. (Which of course is not true). Not so easy... Regards Thierry Le 16/06/2014 20:28, Achim Gratz a écrit : > Thierry Banel writes: >> So Babel C++ may cause problem for large integers. >> I am not sure how we can fix this in any case. > You'd need to know INT_MAX and give an error for larger values or use an > integral type that is large enough to handle Emacs' integer (which would > most likely be necessary for any Emacs that uses wide integer). > >> In the meantime, we can force large values to be declared as doubles by >> adding dot zero >> like this: >> >> #+BEGIN_SRC C++ :var large=9876543210 .0 >> printf ("%g", large); >> #+END_SRC > That will lose precision, so it may not be the right thing either. > > > Regards, > Achim.