cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | the secret reason for us trying to get PyPy users: to test the JIT well enough that we're somewhat confident about it
jamesaxl has quit [Quit: WeeChat 2.2]
bbot2 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
altendky has joined #pypy
Levex has joined #pypy
Levex has quit [Remote host closed the connection]
jcea has quit [Quit: jcea]
bairdmich has joined #pypy
bairdmich has quit [Remote host closed the connection]
Adran15 has joined #pypy
Adran15 has quit [Remote host closed the connection]
ceridwen has quit [Ping timeout: 265 seconds]
ceridwen has joined #pypy
_whitelogger has joined #pypy
lritter_ has joined #pypy
lritter has quit [Ping timeout: 248 seconds]
dddddd has quit [Remote host closed the connection]
urdh28 has joined #pypy
urdh28 has quit [Remote host closed the connection]
dindon7 has joined #pypy
altendky has quit [Quit: Connection closed for inactivity]
dindon7 has quit [Ping timeout: 268 seconds]
forgottenone has joined #pypy
BWBellairs11 has joined #pypy
BWBellairs11 has quit [Ping timeout: 256 seconds]
arigato has joined #pypy
energizer has quit [Ping timeout: 256 seconds]
energizer has joined #pypy
sulvone2 has joined #pypy
sulvone2 has quit [Remote host closed the connection]
tayfun26 has joined #pypy
Zoddo26 has joined #pypy
Zoddo26 has quit [Remote host closed the connection]
glyph has quit [Quit: End of line.]
glyph has joined #pypy
arigato has quit [Ping timeout: 256 seconds]
glyph has quit [Ping timeout: 240 seconds]
glyph has joined #pypy
arigato has joined #pypy
oberstet has joined #pypy
forgottenone has quit [Ping timeout: 272 seconds]
ThiefMaster7 has joined #pypy
moei has quit [Quit: Leaving...]
ThiefMaster7 has quit [Remote host closed the connection]
realitix has joined #pypy
<Cheery> I consider doing bit of interval arithmetic with varying rounding modes.
<Cheery> but I think that.. JIT in rpython is doing stuff with floating point arithmetic?
<Cheery> so if I design the switching of rounding mode wrong, then the JIT won't be aware of it, and it'll clobber my rounding modes.
<fijal> JIT does very little with floating point arithmetics
<fijal> because you cannot do stuff without some bound proves and stuff
<fijal> generally speaking, optimization is only valid if it produces (provably) the same result bit-wise
<fijal> not mathematics-wise
<Cheery> so if I do a wrapper that switches the rounding mode through a C call to fesetround, then do the computation like a+b and then restore the previous rounding mode, that should be okay?
<Cheery> the JIT does not attempt to move the computation over the call to fesetround ?
<Cheery> eg. any call to C code.
moei has joined #pypy
<arigato> no, the JIT assumes that something like "a+b" produces always the same result, and is movable
<arigato> e.g. if you do 40.0 + 2.0 it will definitely replace it with 42.0 in the code
<Cheery> that is expected
<Cheery> except, if the constant folding goes over the fesetenv boundary
<arigato> I'm saying that it will move the runtime addition to a random point in time, which is when the JIT runs its optimizations
<arigato> it might also do optimizations like assume "a+b" is the same as this other "a+b" computed much earlier
<Cheery> so we'd need fadd(a, b, rounding=+/-/~/0)
<Cheery> that's a bit bad, because it needs to be done for every float operation.
<Cheery> I'd like to try write a prolog variant with constraint arithmetic on real intervals.
<arigato> likely, you need some functions in C that operates over pairs of "double", and which is completely opaque to both the JIT and the rest of RPython
<Cheery> yeah
<Cheery> the thing I'm trying out is explained in this paper: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.22.2768&rep=rep1&type=pdf
<Cheery> the rough idea is that if we construct intervals from floating points instead of using them directly, then a prolog interpreter can do constraint logic programming using floating point arithmetic
<arigato> right
<arigato> it's probably useful in Python too, but for that I'd imagine you'd simply use cffi to call the C functions operating on the "pair-of-double" structs
<arigato> and then write some Python class overloading many operators
genera4 has joined #pypy
genera4 has quit [Remote host closed the connection]
forgottenone has joined #pypy
arigato has quit [Quit: Leaving]
dddddd has joined #pypy
realitix_ has joined #pypy
realitix_ is now known as realitix
realitix has quit [Ping timeout: 240 seconds]
marky1991 has joined #pypy
realitix has joined #pypy
realitix has quit [Client Quit]
Cld has joined #pypy
<Cld> Hi
danmackay26 has joined #pypy
altendky has joined #pypy
adamg has joined #pypy
danmackay26 has quit [Read error: Connection reset by peer]
adamg has quit [K-Lined]
<simpson> Hi.
arigato has joined #pypy
<arigato> Cheery: note that if you write it as C functions operating on pair-of-doubles, then you can wrap *that* inside an RPython wrapper function that is marked as @jit.elidable
<arigato> you'd get some of the same basic arithmetic optimisations, like constant-folding
arigato has quit [Client Quit]
realitix has joined #pypy
<Cheery> maybe I'll do that.
jamesaxl has joined #pypy
jcea has joined #pypy
marky1991 has quit [Quit: Saliendo]
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
realitix has quit [Quit: realitix]
mt10 has joined #pypy
mt10 has quit [Remote host closed the connection]
marky1991 has quit [Ping timeout: 240 seconds]
adamholmberg has joined #pypy
ffernand28 has joined #pypy
ffernand28 has quit [Remote host closed the connection]
Rhy0lite has joined #pypy
marky1991 has joined #pypy
forgottenone has quit [Ping timeout: 240 seconds]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
realitix has joined #pypy
realitix has quit [Client Quit]
realitix has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
ketralnis has joined #pypy
ketralnis has quit [Remote host closed the connection]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
Algernop22 has joined #pypy
Algernop22 has quit [Remote host closed the connection]
realitix has quit [Quit: realitix]
realitix has joined #pypy
realitix has quit [Client Quit]
realitix has joined #pypy
realitix has quit [Client Quit]
forgottenone has joined #pypy
marky1991 has quit [Ping timeout: 240 seconds]
marky1991 has joined #pypy
tayfun26 has quit [Remote host closed the connection]
mattip has quit [Ping timeout: 240 seconds]
oberstet has quit [Quit: Leaving]
michaelgreene has joined #pypy
lritter_ has quit [Ping timeout: 272 seconds]
mattip has joined #pypy
<kenaan> mattip py3.5 d6a8f43fadd2 /pypy/module/cpyext/test/test_datetime.py: fix print statement
Typhon19 has joined #pypy
<kenaan> mattip unicode-utf8-py3 82a40174a16f /pypy/module/test_lib_pypy/: fix lib_pypy tests
<kenaan> mattip unicode-utf8-py3 6ef4fd4b0165 /: merge py3.5 into branch
Typhon19 has quit [Remote host closed the connection]
Louis29 has joined #pypy
Louis29 has quit [Remote host closed the connection]
Lymia4 has joined #pypy
Lymia4 has quit [Remote host closed the connection]
gthank_ has joined #pypy
gthank has quit [Read error: Connection reset by peer]
arza28 has joined #pypy
arza28 has quit [Remote host closed the connection]
adamholmberg has quit []
adamholmberg has joined #pypy
graingert20 has joined #pypy
graingert20 has quit [Remote host closed the connection]
marky1991 has quit [Read error: Connection reset by peer]
graingert_ has joined #pypy
tazle__ has joined #pypy
graingert has quit [*.net *.split]
dmalcolm has quit [*.net *.split]
tazle has quit [*.net *.split]
graingert_ is now known as graingert
marky1991 has joined #pypy
glyph has quit [Ping timeout: 260 seconds]
jamesaxl has quit [Ping timeout: 260 seconds]
jamesaxl has joined #pypy
glyph has joined #pypy
dmalcolm has joined #pypy
marky1991 has quit [Ping timeout: 240 seconds]
barbietoss has joined #pypy
barbietoss has quit [Remote host closed the connection]
Rhy0lite has quit [Quit: Leaving]
agree16 has joined #pypy
agree16 has quit [Remote host closed the connection]
ChasedSpade has joined #pypy
ChasedSpade has quit [Killed (Sigyn (Spam is off topic on freenode.))]
altendky has quit [Quit: Connection closed for inactivity]
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 260 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 248 seconds]
HollyW00d12 has joined #pypy
HollyW00d12 has quit [Remote host closed the connection]
jamesaxl has quit [Quit: WeeChat 2.2]
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 240 seconds]