Zoffix | s: &sprintf | 01:35 | |
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/eb69...ol.pm#L319 | ||
iBakeCake | imma swap is_approx to is-approx in 6.c-errata shortly. Functionally the tests will remain the same, as the new version without custom tolerances replicates the old one's behaviour. | 01:46 | |
Ummm... | 01:56 | ||
How does it work: 2015.12 Does not have is-approx(). It passes 6.c-errata. 2016.12 will not have is_approx().... So if we change 6.c-errata to use is-approx instead of is_approx, a 2015.12 version attempting to run those tests would fail. | 01:57 | ||
Is that acceptable? | |||
iBakeCake currently thinks of extending deprecation to the next language release. It's not like is_approx is in the way or anything. | 01:59 | ||
OTOH the passing 6.c test suite is packed with the tarballs | 02:00 | ||
TimToady | .oO(the road to 6.d is paved with melting tarballs...) |
02:02 | |
iBakeCake | ZOFVM: Files=1198, Tests=130039, 143 wallclock secs (22.81 usr 3.74 sys + 2597.14 cusr 225.72 csys = 2849.41 CPU) | 02:24 | |
dalek | ast: 40f6f5b | (Zoffix Znet)++ | / (45 files): Replace deprecated is_approx with is-approx is_approx will reach the end of its deprecation cycle on Dec. 17. Replace it with the new version, the is-approx. The new is-approx without explicit tolerance provided behaves exactly as old is_approx as of today[^1], so this commit makes no functional changes and all tests function the same. Method used: 1) find . -iname '*' -exec perl -pi -e \ 's/(^|\s)is_approx(\(|\s)/${1}is-approx${2}/g' {} \; 2) Check manually to ensure all substitutions are done on is_approx 3fe2159 | cpin++ | S32-list/duckmap.t: A couple more duckmap tests (#173) |
02:30 | |
iBakeCake | github.com/perl6/roast/commit/40f6...9da8413188 | 02:31 | |
Gonna do 6.c-errata tomorrow | |||
nine | FWIW I'm against removal of is_approx and against changing 6.c-errata to is-approx. Cost/benefit doesn't seem right. | 05:46 | |
[Tux] | This is Rakudo version 2016.10-16-geb6907e built on MoarVM version 2016.10-12-gdf20321 | 06:21 | |
csv-ip5xs 3.269 | |||
test 16.028 | |||
test-t 6.864 | |||
csv-parser 17.421 | |||
nine | geekosaur: have you considered stopping to flood? ;) | 06:34 | |
geekosaur | znc flaking (known bug) because local network flaking | 06:44 | |
geekosaur had intended to be asleep now. as if. apparently no sleep permitted tonight | |||
samcv | :P | 06:54 | |
lizmat | Files=1150, Tests=53642, 211 wallclock secs (12.77 usr 3.84 sys + 1282.64 cusr 115.72 csys = 1414.97 CPU) | 07:52 | |
jnthn | morning, #perl6-dev | 08:57 | |
lizmat | decommute& | 09:33 | |
FROGGS | jnthn: the with nativecall registered callback gets called now btw | 09:35 | |
jnthn | FROGGS++ :) | 09:37 | |
FROGGS | now I just need to do something sane :o) | 09:57 | |
Zoffix | nine, what's the cost of is_approx/is-approx? | 10:13 | |
nine, considering on 2015.12 Inline::Perl5 fails to install (with panda) entirely and fails these tests of HEAD 6.c-errata: gist.github.com/zoffixznet/2beb9e8...e0f77fff32 | 10:16 | ||
I guess it can be argued a mere use of a test function in roast constitutes it being "tested" | 10:31 | ||
Sounds like we need a proper deprecation policy (unless one I'm not aware of exists). Specifically for stuff that isn't explicitly covered by roast. | 10:33 | ||
m: dd to-json [^3] | |||
camelia | rakudo-moar eb6907: OUTPUT«"[\n 0,\n 1,\n 2\n]"» | ||
timotimo | i have an optimization idea that could reduce the size of core.setting ... i don't know by how much yet. | 10:55 | |
Zoffix | \o/ | ||
timotimo | just doing my first trial run of a small subset of this optimization | 10:56 | |
m: say "after this opt, the size of the core setting is now { 10962296 / 11052656 }x what it was before" | 10:59 | ||
camelia | rakudo-moar eb6907: OUTPUT«after this opt, the size of the core setting is now 0.99182459x what it was before» | ||
timotimo | wow ... almost one percent? :\ | ||
Zoffix | .oO( We are the 99%! ) |
11:01 | |
timotimo | m: say (11052656 - 10962296) / 1024 | 11:02 | |
camelia | rakudo-moar eb6907: OUTPUT«88.242188» | ||
timotimo | this makes me hopeful, though | ||
hum. this deduplicates 3838 instances of a thing to 1 .. but the next spots in the ranking have 483, 139, 137, and 135 each | 11:08 | ||
m: say (11052656 - 10947896) / 1024 | 11:20 | ||
camelia | rakudo-moar eb6907: OUTPUT«102.304688» | ||
timotimo | m: say 61607.6 - 61714.8 | 11:24 | |
camelia | rakudo-moar eb6907: OUTPUT«-107.2» | ||
timotimo | oh, wrong way around | ||
that's a whooping 107 kilobytes off of rakudo startup, though | |||
nine | Zoffix: the cost is for example that 2015.12 won't be able to run 6.c-errata anymore. So it's gonna be harder to find out, when someone was fixed/started failing. I'll look into Inline::Perl5. | ||
timotimo | m: say "total savings off of core setting: { 11052648 - 10947896 }" | 11:29 | |
camelia | rakudo-moar eb6907: OUTPUT«total savings off of core setting: 104752» | ||
timotimo | the memory saving is more than just the reduction in core setting size! \o/ | ||
iBakeCake | OK, I'll leave is_approx in 6.c-errata | 11:33 | |
nine | Zoffix: the Inline::Perl5 failure is the "Bytecode validation error at offset 190, instruction 30: operand type 32 does not match register type 24" which also appeared on Travis and has been fixed in MoarVM somewhere between 2016.06 and 2016.09 | 11:37 | |
dalek | kudo/cache_most_common_cds: cc13fb5 | timotimo++ | src/Perl6/World.nqp: cache the top three container descriptors measured across the core setting, though hopefully the tests are cheap enough to not impact common user programs |
11:51 | |
timotimo | kind of wishing we could just measure before/after maxresidentk for all our test files | 11:54 | |
iBakeCake | OK | 11:59 | |
timotimo | next step for my cache | 12:04 | |
m: say (11052656 - 10912288) / 1024 | 12:25 | ||
camelia | rakudo-moar eb6907: OUTPUT«137.078125» | ||
timotimo | that's a little bit more win | ||
not bad i guess :) | |||
m: say 61714.8 - 61406.0 | 12:26 | ||
camelia | rakudo-moar eb6907: OUTPUT«308.8» | ||
timotimo | now *that* is good | ||
FROGGS | and what is *that*? | ||
timotimo | that's how much smaller a perl6 -e '' is now | ||
FROGGS | by 300kb? | 12:27 | |
timotimo | yeah | 12:28 | |
brrt | probably still worth it | 12:29 | |
timotimo | excuse me? you're saying 300kb isn't good? | ||
(well, almost half of that is still just the mmaped core setting shrinking) | |||
it's definitely worth it | 12:30 | ||
brrt | yes, 300kb is good... sorry :-o | ||
timotimo | :D | ||
i wonder how much time per kilobyte of deserialization we spend during startup | 12:31 | ||
dalek | p: b7335a9 | jnthn++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION for various fixes. |
12:36 | |
kudo/cache_most_common_cds: a58c139 | timotimo++ | src/Perl6/World.nqp: generalize container descriptor caches will now cache descriptors of all names, but still only for Any and Mu and only for no default value and readonly. |
12:39 | ||
timotimo | gist.github.com/timo/e1070ff64a45f...7c1e90f2d2 - think i should add a cache for something else? | 12:40 | |
clearly we need a cache for descriptors for variables named a, b, or x | |||
iBakeCake | .oO( $i ) |
12:42 | |
[Coke] | Zoffix, jdv79: I'll see if I can golf it. | ||
(regarding is-approx vs. is_approx - I think we have to leave the old one in place in 6.c errata. | 12:43 | ||
dalek | kudo/nom: 200364a | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION for some MoarVM fixes. One involving a callframe crash (jnthn++), one involving a mkdir bug on Windows (FROGGS++). |
12:46 | |
iBakeCake | [Coke]: it's something to do with grammar captures, I think. The $!made the error references is from NQPMatch (github.com/perl6/nqp/blob/master/s...r.nqp#L805 ) and the .list>>.ast on this line is what triggers the error: github.com/supernovus/exemel/blob/...t.pm6#L327 | ||
That's as far as I've gotten. | |||
And yeah, I'm leaving is_approx in | 12:47 | ||
[Coke] | oh, then you're already way ahead of me. if we do need a golf, let me know, I can do that. :) | ||
iBakeCake | [Coke]: you do it. | ||
[Coke] | Roger. | ||
iBakeCake | I gave up. The above alone took me like an hour and I figured I wouldn't know how to fix it anyway :) | ||
DrForr | Heh. I did get a few giggles in the crowd (such as it was) for Σ @x; | 12:49 | |
iBakeCake | I got "You're not making your case better" when I used that after my slides with the shrug operator :) | ||
dalek | ast: 2df332c | jnthn++ | S06-advanced/callframe.t: Test to cover a fixed callframe($n).file bug. |
12:50 | |
ast: 4bd2bf1 | jnthn++ | S06-advanced/callframe.t: Also cover use of callframe in a hot loop. |
|||
DrForr | "What, you'd prefer to have to write everything out longhand in ASCII?" | ||
iBakeCake | :) | ||
timotimo | oh, huh, spec test fallout | 12:53 | |
iBakeCake rushes to the shelter | |||
jnthn | iBakeCake: Did you golf it to anything smaller than using the XML module? | 13:00 | |
iBakeCake | jnthn: unfortunately no. What I mentioned above was it. | 13:01 | |
[Coke] | is there a rakudobrew invocation that builds the latest version of rakudo/nqp/moar ? | ||
or do I need to find the commits from each to be safe? | 13:02 | ||
iBakeCake | [Coke]: it should be rakudobrew tripple nom master master but IIRC it was broken | ||
like it was complaining about make | |||
Must... Resist... Urge... | 13:03 | ||
[Coke] | ok. I already grabbed the shas for this one, will try that next time. danke. | ||
dalek | ast: 99bcae0 | (Zoffix Znet)++ | S02-types/num.t: [coverage] Cover naked nummy secs |
||
iBakeCake giggles | |||
jnthn | [Coke]: fwiw I bumped the MOAR/NQP revisions | 13:04 | |
DrForr | We should add an OS VM so we can have a rakudobrew double Bochs. | ||
jnthn | [Coke]: So building Rakudo HEAD should get you the fixes for 426 | ||
[Coke] | iBakeCake: triple with explicit values has same failure: Couldn't determine correct make program. Aborting. | 13:06 | |
jnthn++, thanks. | |||
dalek | ast: 7ac1bd3 | (Zoffix Znet)++ | S02-types/num.t: Shorten sin/cos to tan |
13:09 | |
timotimo | i'll be AFK for a bit, but if anybody wants to investigate my branch causing spec test breakage, feel free | 13:11 | |
perl6 t/spec/S03-binding/scalars.rakudo.moar; perl6 t/spec/S04-statements/for.rakudo.moar; perl6 t/spec/integration/advent2009-day09.t; perl6 t/spec/integration/advent2013-day21.t | 13:12 | ||
^- this'll get you all the failures at once | |||
jnthn | Well, got the module golfed from 1245 lines to 309 so far... | 13:27 | |
dalek | ast: 157f9a2 | (Zoffix Znet)++ | S02-types/num.t: Define √ to make trig tests more readable |
||
[Coke] | jnthn++ | ||
jnthn | And now down to 110 lines | 13:40 | |
iBakeCake | m: say cotan(2e10*π) | 13:43 | |
camelia | rakudo-moar 200364: OUTPUT«-223277.804065798» | ||
iBakeCake | m: say cotan(2e100*π) | ||
camelia | rakudo-moar 200364: OUTPUT«3.40219219786696» | ||
iBakeCake | :} that's quite a precion loss. | 13:44 | |
(both "should" be Inf) | |||
jnthn | .oO( not sure if typo or pun :P ) |
13:45 | |
iBakeCake | heh.... typo | 13:46 | |
m: say cotan(π) ≅ -tan(π/2) | |||
camelia | rakudo-moar 200364: OUTPUT«False» | ||
iBakeCake | m: say cotan(π) ≅ -tan(π/2)/2 | 13:47 | |
camelia | rakudo-moar 200364: OUTPUT«True» | ||
iBakeCake | Fun | ||
m: say ∞ ≅ ∞/2 | |||
camelia | rakudo-moar 200364: OUTPUT«False» | ||
iBakeCake | m: say ∞ == ∞/2 | 13:49 | |
camelia | rakudo-moar 200364: OUTPUT«True» | ||
iBakeCake | m: multi sub infix:<≅> (∞, ∞) { Bool::True }; | 13:51 | |
camelia | rakudo-moar 200364: OUTPUT«===SORRY!=== Error while compiling <tmp>Missing blockat <tmp>:1------> multi sub infix:<≅> (⏏∞, ∞) { Bool::True };» | ||
iBakeCake | m: multi sub infix:<≅> (Inf, Inf) { Bool::True }; | ||
camelia | ( no output ) | ||
iBakeCake | Rakudobugged (inf literal in sig): rt.perl.org/Ticket/Display.html?id=129915 | 13:58 | |
jnthn | Well, fixed the warnings around $!made | 14:02 | |
Turns out the very occasional SEGV is unrelated | 14:03 | ||
jnthn spectests the fix | 14:04 | ||
iBakeCake | :o | 14:05 | |
jnthn++ | |||
timotimo | oooooh | 14:06 | |
jnthn | committable6 HEAD grammar G { token TOP { .+ { make ~$/ } } }; await do for ^300 { start { G.parse('x' x 1000) } } | 14:07 | |
committable6: HEAD grammar G { token TOP { .+ { make ~$/ } } }; await do for ^300 { start { G.parse('x' x 1000) } } | |||
committable6 | jnthn, ¦«HEAD»: Use of Nil in string contextUse of Nil in string context in block at /tmp/IprhnwAtMX line 1 in block at /tmp/IprhnwAtMX line 1 | ||
jnthn | That is a kinda golf of it | 14:08 | |
committable6: HEAD use Test; grammar G { token TOP { .+ { make ~$/ } } }; my $warned; { CONTROL { when CX::Warn { $warned = True; .resume } }; await do for ^300 { start { G.parse('x' x 1000) } } }; nok $warned | 14:10 | ||
committable6 | jnthn, ¦«HEAD»: ok 1 - | ||
jnthn | committable6: HEAD use Test; grammar G { token TOP { .+ { make ~$/ } } }; my $warned; { CONTROL { when CX::Warn { $warned = True; .resume } }; await do for ^300 { start { G.parse('x' x 1000) } } }; nok $warned | ||
committable6 | jnthn, ¦«HEAD»: Use of Nil in string contextUse of Nil in string context in block at /tmp/05qJBTLZ_M line 1 in regex TOP at /tmp/05qJBTLZ_M line 1ok 1 - | ||
jnthn | Oh, right | ||
committable6: HEAD use Test; grammar G { token TOP { .+ { make ~$/ } } }; my $warned; { await do for ^300 { start { CONTROL { when CX::Warn { $warned = True; } }; G.parse('x' x 1000) } } }; nok $warned | |||
committable6 | jnthn, ¦«HEAD»: not ok 1 - # Failed test at /tmp/LncO2yPgQW line 1 «exit code = 1» | ||
dalek | kudo/nom: 4f3681b | (Zoffix Znet)++ | src/core/Numeric.pm: Make ∞ ≅ ∞ give True Since ∞ == ∞ is True, and, say, 2 ≅ 2 is True, it makes sense for ∞ ≅ ∞ to be True as well. However, the math involved produced a NaN, which made the operator return False for infinities. Add two extra candidates that handle ∞ ≅ ∞ and -∞ ≅ -∞ |
14:11 | |
ast: ab4bbc6 | (Zoffix Znet)++ | S03-operators/relational.t: Test ≅ works correctly with infinities |
|||
kudo/nom: 7a456ff | jnthn++ | src/Perl6/Actions.nqp: Missing clone of codeblocks embedded in regexes. Could cause over-sharing when a grammar was used on multiple threads. |
14:13 | ||
jnthn | Should try it on my non-golfed version too I guess | 14:14 | |
break; bbi10 | |||
Then will add the test | |||
[Coke] | jnthn: woot, it worked. | ||
jnthn | [Coke]: The fix I just did, or the MoarVM #426? | ||
[Coke] | 426 | ||
jnthn | Nice :) | ||
[Coke] | ... now I have to make sure I finish this stupid spell checking project. :) | 14:15 | |
jnthn | [Ckoe]++ :) | 14:17 | |
jnthn back | 14:38 | ||
mst | [Ckoe]++ | 14:40 | |
timotimo | jdv79: you could have a look if jnthn's latest rakudo commit fixes your long-standing asynchronous + grammars bug | ||
dalek | ast: dd714f8 | jnthn++ | S17-promise/start.t: Test golfed from RT #128833. |
14:51 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128833 | ||
iBakeCake | m: say acotan 0 | 14:52 | |
camelia | rakudo-moar 7a456f: OUTPUT«1.5707963267949» | ||
iBakeCake | m: say acotan -0 | ||
camelia | rakudo-moar 7a456f: OUTPUT«1.5707963267949» | ||
iBakeCake | This should be a NaN innit? | 14:53 | |
[Coke] | jnthn++ | ||
iBakeCake | m: say acotan my num $ = 0e0 | 14:55 | |
camelia | rakudo-moar 7a456f: OUTPUT«Inf» | ||
iBakeCake | Ah, OK. It's only the non-native that's broken | 14:56 | |
m: say acotan my num $ = -0e0 | |||
camelia | rakudo-moar 7a456f: OUTPUT«-Inf» | ||
iBakeCake | cool | ||
m: say cotan acotan 5e0 | 15:03 | ||
camelia | rakudo-moar 7a456f: OUTPUT«5» | ||
iBakeCake | m: say cotan acotan my num $ = 5e0 | ||
camelia | rakudo-moar 7a456f: OUTPUT«1.1216586630592» | ||
iBakeCake needs a graph | |||
mst needs an adult | |||
iBakeCake | mst: gimme an arccot graph | ||
nm, forgot about wolframalpha | 15:06 | ||
jdv79 | jnthn: the SEGVs seem to be gone as well | 15:44 | |
iBakeCake | \o/ | 15:45 | |
jdv79 | was that a seperate fix or did the $!made fix stop aggrivating it...? | ||
jnthn: in any case, thanks! | 15:46 | ||
iBakeCake | ZOFVM: Files=1198, Tests=130055, 139 wallclock secs (20.34 usr 3.27 sys + 2314.08 cusr 228.44 csys = 2566.13 CPU) | 15:50 | |
jnthn | jdv79: It's possible that the SEGV I got was unrelated to the fix I did | 15:54 | |
jdv79: The stack trace of the one I got looks a lot like an "impossible" crash I saw from a totally different example a couple of weeks ago | |||
(So, likely totally unrelated to grammars, and will take a lot of finding due to being hard to trigger) | 15:55 | ||
dalek | kudo/nom: 8e9fd0a | (Zoffix Znet)++ | src/core/Num.pm: Fix incorrect calculation produced by acotan(num) The num version of the method uses incorrect formula to calculate acotan. The following identities should hold: θ = acotan cotan θ for -π < θ < π θ = cotan acotan θ for θ ∈ ℝ Fix by calculating atan(1/x), result of which is corroborated by the above identities, WolframAlhpa[^1], and our implementation of acotan for boxed types. [1] www.wolframalpha.com/input/?i=acotan 697a0ae | jnthn++ | src/core/IO/Path.pm: Fix missing close in IO::Path.slurp(:bin). |
15:59 | |
iBakeCake | github.com/rakudo/rakudo/commit/8e...90bd0e96d1 | 16:00 | |
Test will come in later today, as part of coverage work. | |||
brrt | is iBakeCake really Zoffix? | 16:04 | |
FROGGS | brrt: psst! | ||
timotimo | yes, psst! | 16:05 | |
FROGGS | brrt: if you tell anyone we have to eat you like a piece of paper with a secret message | ||
iBakeCake | brrt: nah, I hold Zoffix in my basement and make him write code 24/7 :P | ||
TimToady | a different person holds Zoffix every week, to throw off investigators | ||
mst | and stay ahead of the restraining orders | 16:06 | |
brrt | :-o | ||
brrt erases his question, Slack stle | |||
timotimo | what question? | 16:07 | |
brrt | indeed | 16:08 | |
kudo/maybe-windows-precomp-fix: 0e0c08e | jnthn++ | src/core/CompUnit/Precompilation (3 files): Close a unit's handle when it's found outdated. This attempts to fix an issue on Windows where we cannot rename the newly compiled file to the original file because we still have the original one open. |
16:32 | ||
jnthn | Will try that out on Windows in a moment | ||
timotimo | ooooh | 16:33 | |
jnthn | I somehow at some point managed to nuke the .git folder on my Windows checkout of Rakudo | ||
So ended up doing the change in my VM while I got a new clone :) | |||
timotimo | mhm | 16:34 | |
jnthn | I think it actually does it. :) | 16:36 | |
.ask nine could you glance the maybe-windows-precomp-fix branch if you get a chance? It seems to fix a bug on Windows where .rename in the precomping sub-process failed due to the file being open still in the parent process | |||
yoleaux2 | jnthn: I'll pass your message to nine. | ||
jnthn | Rest, dinner, etc. bbl | 16:37 | |
dalek | ast: d6cb68a | (Zoffix Znet)++ | S02-types/num.t: [coverage] Cover nummy trig: cotan and acotan Also covers acotan bug fixed by github.com/rakudo/rakudo/commit/8e...90bd0e96d1 |
16:52 | |
psch | o/ | 17:00 | |
yoleaux2 | 18 Oct 2016 15:12Z <bartolin_> psch: I (also) spend some time looking at those UnwindExceptions. didn't find a solution, but at least I think I understand why we get them with for loops and not with 'while' or 'loop' | ||
18 Oct 2016 15:12Z <bartolin_> psch: maybe this is of interest for you: gist.github.com/usev6/78beac8113b8...a66c3cd68f | |||
timotimo | o/ psch | 17:02 | |
psch | geez, isp still doesn't have anything under control apparently :| | 17:07 | |
also, i apparently got a macbook air now | 17:08 | ||
timotimo | neat | ||
psch | 'cause i got that job and they almost exclusively dev on macosx and ios | ||
timotimo | +1 for that job! :) | ||
timotimo grocery shopping | |||
psch | yeaah, it's gonna be interesting | ||
three of the latest 20 or so commits were "make it stop crashing" | 17:09 | ||
nine | . | ||
yoleaux2 | 16:36Z <jnthn> nine: could you glance the maybe-windows-precomp-fix branch if you get a chance? It seems to fix a bug on Windows where .rename in the precomping sub-process failed due to the file being open still in the parent process | ||
nine | jnthn: looking at it | ||
psch | .tell bartolin_ p6for transform into the appropriate .map call, so this is probably a permutation of #126490 | 17:10 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126490 | ||
yoleaux2 | psch: I'll pass your message to bartolin_. | ||
psch | .tell bartolin_ note that that ticket got accidentifixed by a refactor, but apparently there's still wonky bits in how jvm handles our iterators | 17:11 | |
yoleaux2 | psch: I'll pass your message to bartolin_. | ||
iBakeCake | w00t found two more nummy trig functions that do incorrect calculation | 17:40 | |
iBakeCake does a happy dance | 17:41 | ||
m: use nqp; say nqp::log_n(𝑒**10) | 17:47 | ||
camelia | rakudo-moar 697a0a: OUTPUT«10» | ||
dalek | p: 71dbc3d | (Zoffix Znet)++ | docs/ops.markdown: log_n appears to be ln not log₁₀ |
17:49 | |
nine | jnthn: your patch looks good! I'd actually say we should go one step further and make sure the file gets closed in all code paths. But that's complicated by the fact that on Windows, one needs to keep the file handle of a mapped file open while POSIX sees the mapping as a new reference and wants you to close the file handle. | 18:06 | |
jnthn: oh and that will also mean that we cannot update a precomp file on Windows while it's in use by a running program. But I guess that's just one of those issues Windows users have to live with. It's the same with ordinary DLL files. | 18:08 | ||
jnthn | nine: Yeah, I figured the second part of that | 18:24 | |
nine: Not sure we can do a lot about it. I also guess that the installation precomps won't be impacted by it though, as they are versioned and so we don't replace? | |||
nine: I'll merge the patch; not immediately sure what other paths warrant a look | 18:26 | ||
dalek | kudo/nom: a7e801f | (Zoffix Znet)++ | src/core/Num.pm: Fix num-typed hyperbolic inverse sin/cos functions The formula for asinh is ln(x + √(x²+1)) and for acosh is ln(x + √(x²-1)). The current multies for num types are missing the square roots. Correct the calculation. Rewrite using nqp ops for 6.2x speed gain. References: [1] www.wolframalpha.com/input/?i=asinh [2] www.wolframalpha.com/input/?i=acosh [3] en.wikipedia.org/wiki/Hyperbolic_f...logarithms 44a4c75 | jnthn++ | src/core/CompUnit/Precompilation (3 files): Close a unit's handle when it's found outdated. This fixes an issue on Windows where precomp repositories could not rename a newly compiled file to match the name of the the original file (thus replacing it), because we still had the original one open. Windows is fussy about such things. |
||
iBakeCake | github.com/rakudo/rakudo/commit/a7...2087187834 | ||
jnthn | Well, cherry-picked it and made the comment less speculative :) | ||
Hopefully Perl 6 hacking on Windows will be fun again now :) | 18:29 | ||
nine | jnthn: installation precomps will be replaced when you upgrade one of their dependencies | 18:35 | |
[Coke] | well. | ||
jnthn | nine: Ah, right | 18:41 | |
iBakeCake | m: say asinh ∞ | 18:43 | |
camelia | rakudo-moar a7e801: OUTPUT«Inf» | ||
iBakeCake | m: say asinh -∞ | ||
camelia | rakudo-moar a7e801: OUTPUT«NaN» | ||
iBakeCake | (needs to be -Inf) | ||
m: say asinh my num $ = -0e0 | 19:09 | ||
camelia | rakudo-moar 44a4c7: OUTPUT«0» | ||
iBakeCake | And this needs to be -0e0. Not sure how to make it so (or whether it matters to us). I recall there was a ticket about signed zeros not working right | 19:10 | |
m: say asin my num $ = -0e0 | |||
camelia | rakudo-moar 44a4c7: OUTPUT«-0» | ||
iBakeCake | hmm | ||
m: use nqp; say nqp::neg_n(asinh my num $ = -0e0) | 19:11 | ||
camelia | rakudo-moar 44a4c7: OUTPUT«-0» | ||
iBakeCake | aww :( dalek was away while I pushed | 19:18 | |
How anticlimactic | |||
Fix asinh(-∞) to return -∞, not NaN: github.com/rakudo/rakudo/commit/74...a5a9a5d83e | |||
.oO( stoopid robot ) |
19:20 | ||
awww... that fix is insufficient | 19:30 | ||
Oh. nm.. it's is-approx() giving me NaNs :P | 19:31 | ||
aye, insufficient | 19:35 | ||
m: dd asinh -1e200 | |||
camelia | rakudo-moar 74d0e3: OUTPUT«Inf» | ||
iBakeCake | Should be -Inf | 19:36 | |
committable6: 2016.10 asinh -1e200 | |||
committable6 | iBakeCake, ¦«2016.10»: WARNINGS for /tmp/LZ1JT0XlZw:Useless use of "asinh -1e200" in expression "asinh -1e200" in sink context (line 1) | ||
iBakeCake | committable6: 2016.10 say asinh -1e200 | ||
committable6 | iBakeCake, ¦«2016.10»: Inf | ||
iBakeCake | Rakudobugged: rt.perl.org/Ticket/Display.html?id=129919 | 19:45 | |
I can think of fixes involving detecting Inf/0e0 and adjusting the signs but that feels inelegant | 19:46 | ||
[Coke] finds a picture of jdv79 from NYC. | 19:57 | ||
Zoffix | r: say acotan(my num $ = -∞) | 21:10 | |
camelia | rakudo-jvm 2a1605: OUTPUT«-0.6366197723675814» | ||
..rakudo-moar 74d0e3: OUTPUT«-0» | |||
Zoffix | lovely... | ||
(-0 is the right answer) | 21:11 | ||
timotimo | -0.6 is close enough | ||
Zoffix | :D | ||
dalek | ast: ee12821 | (Zoffix Znet)++ | S02-types/num.t: Add explicit test numy acotan -∞ gives -0e0 |
21:15 | |
Zoffix | oh, it was the one that was broken this morning. So JVM camelia is likely just not updated to HEAD yet | 21:17 | |
committable6, 2016.10 say acotan(my num $ = -∞) | 21:18 | ||
committable6 | Zoffix, ¦«2016.10»: -0.636619772367581 | ||
Zoffix | \o/ | ||
dalek | ast: 6c31fe3 | (Zoffix Znet)++ | S02-types/num.t: [coverage] Cover nummy trig: sinh and asinh Includes cover for asinh case of github.com/rakudo/rakudo/commit/a7...2087187834 and fudge for RT#129919: rt.perl.org/Ticket/Display.html?id=129919 |
21:23 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129919 | ||
Zoffix | That should do it for the day \o/ | 21:28 | |
Zoffix & |