`eq=(cos(2)**2+sin(2)**2-1/S(10**120))` rounds to 1 but neither `eq<1` nor 
`eq>1` evaluates but the correct value for `int(eq)` is 0.

/c

On Tuesday, September 19, 2023 at 8:14:35 AM UTC-5 Chris Smith wrote:

> Given
> ```
> def f(self):
>     from sympy.core.numbers import int_valued
>     r = self.round(2)
>     i = int(r)
>     if int_valued(r):
>         # non-integer self should pass one of these tests
>         if (self > i) is S.true:
>             return i
>         if (self < i) is S.true:
>             return i - 1
>         # is it safe to assume that self == i?
>     return i ``` Can anyone think of a real numerical expression which 
> will round up and then not compare with self and cause f to return an 
> integer that is 1 too large? 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/e58a36bd-af3d-43ae-97fd-c9fb06d4f4afn%40googlegroups.com.

Reply via email to