Matthias247 has quit [Read error: Connection reset by peer]
jemc has joined #ponylang
jemc has quit [Ping timeout: 250 seconds]
mollymorphic has quit [Ping timeout: 258 seconds]
amclain has quit [Quit: Leaving]
_whitelogger has joined #ponylang
c355e3b has quit [Quit: Connection closed for inactivity]
_whitelogger has joined #ponylang
dinfuehr has quit [Ping timeout: 252 seconds]
dinfuehr has joined #ponylang
graaff has joined #ponylang
Candle has quit [Ping timeout: 246 seconds]
Candle has joined #ponylang
_andre has joined #ponylang
Praetonus has joined #ponylang
dinfuehr has quit [Ping timeout: 260 seconds]
dinfuehr has joined #ponylang
c355e3b has joined #ponylang
jemc has joined #ponylang
dinfuehr has left #ponylang ["Leaving..."]
TwoNotes has joined #ponylang
TwoNotes has left #ponylang [#ponylang]
TwoNotes has joined #ponylang
<TwoNotes>
Why would "1.00".f32() return 1.1175E-40 or thereabout?
<jemc>
TwoNotes: looks like it delegates to the C `strtof` function internally, so that would be the first place to investigate
amclain has joined #ponylang
<TwoNotes>
hmm, this used to work. This is on ARM
<jemc>
wonder if it's related to recent changes involving null termination
<jemc>
in fact, it probably is
<jemc>
TwoNotes: can you open an issue ticket?
<TwoNotes>
ok
<TwoNotes>
I will see what happens on x86
<jemc>
should be a simple fix of making sure the f32 method uses `cstring` internally instead of using `_ptr`
<jemc>
I'm tied up at the moment and can't make the fix, but that sounds like it should do it
<TwoNotes>
I would guess that the same problem would be in all the string->number conversions
<TwoNotes>
It seems to work correctly on X86
<jemc>
we need to change to `cstring()` anywhere internally in `String` where we are passing `_ptr` to a C function that expects a null-terminated string
<TwoNotes>
Perhaps on X86 a null just happened to end up there
<jemc>
yep, I would expect the failure to be arbitrary, and dependent on what the memory allocation layout happened to be
<TwoNotes>
It looks like the integer conversions do it the hard way and properly observe _size. The float conversionsjust hand it off to strtof etc
<TwoNotes>
So pass this.cstring()?
<TwoNotes>
there can be an offset too
jemc has quit [Ping timeout: 250 seconds]
<TwoNotes>
issue 1445
jemc has joined #ponylang
graaff has quit [Quit: Leaving]
TwoNotes has quit [Ping timeout: 246 seconds]
_andre has quit [Quit: leaving]
Matthias247 has joined #ponylang
jemc has quit [Ping timeout: 260 seconds]
c355e3b has quit [Quit: Connection closed for inactivity]