New submission from Benjamin Peterson:

According to C99, "When a finite value of real floating type is converted to an 
integer type other than _Bool, the  fractional  part  is  discarded  (i.e.,  
the  value  is  truncated  toward  zero). If the value of the integral part 
cannot be represented by the integer type,the behavior is undefined." So, e.g., 
(long)x, where x is a double is in general undefined behavior without a range 
check. We have several cases in CPython where we need to fix this.

----------
components: Interpreter Core
messages: 301528
nosy: benjamin.peterson
priority: normal
severity: normal
status: open
title: demoting floating float values to unrepresentable types is undefined 
behavior
type: behavior
versions: Python 3.6, Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue31373>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to