{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/25903","repository_url":"https://api.github.com/repos/JuliaLang/julia","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/25903/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/25903/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/25903/events","html_url":"https://github.com/JuliaLang/julia/pull/25903","id":294562125,"number":25903,"title":"[WIP] Julia port of Openlibm expm1.","user":{"login":"pkofod","id":8431156,"avatar_url":"https://avatars0.githubusercontent.com/u/8431156?v=4","gravatar_id":"","url":"https://api.github.com/users/pkofod","html_url":"https://github.com/pkofod","followers_url":"https://api.github.com/users/pkofod/followers","following_url":"https://api.github.com/users/pkofod/following{/other_user}","gists_url":"https://api.github.com/users/pkofod/gists{/gist_id}","starred_url":"https://api.github.com/users/pkofod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pkofod/subscriptions","organizations_url":"https://api.github.com/users/pkofod/orgs","repos_url":"https://api.github.com/users/pkofod/repos","events_url":"https://api.github.com/users/pkofod/events{/privacy}","received_events_url":"https://api.github.com/users/pkofod/received_events","type":"User","site_admin":false},"labels":[{"id":171885699,"url":"https://api.github.com/repos/JuliaLang/julia/labels/maths","name":"maths","color":"009800","default":false},{"id":294535960,"url":"https://api.github.com/repos/JuliaLang/julia/labels/needs%20tests","name":"needs tests","color":"5319e7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-02-05T22:17:03Z","updated_at":"2018-02-06T06:36:30Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/JuliaLang/julia/pulls/25903","html_url":"https://github.com/JuliaLang/julia/pull/25903","diff_url":"https://github.com/JuliaLang/julia/pull/25903.diff","patch_url":"https://github.com/JuliaLang/julia/pull/25903.patch"},"body":"cc @simonbyrne \r\n\r\nThis works, but is a bit slower than the C version, and I'm not quite sure why.\r\n\r\nI put the definitions in a module `JuLibm`, opened julia with `-O3` punched in\r\n```\r\nfor x in [0.0,0.3,0.9,4.0,20.0,120.0]\r\n       xf0 = Float32(x)\r\n       println(\"\\n --- Benchmarking $x\")\r\n       display(@benchmark JuLibm.expm1($x))\r\n       display(@benchmark expm1($x))\r\n       println(\"\\n --- Benchmarking $(xf0)\")\r\n       display(@benchmark JuLibm.expm1($xf0))\r\n       display(@benchmark expm1($xf0))\r\nend\r\n```\r\nand got\r\n<s>https://gist.github.com/pkofod/c4dda880815985e6020ea58730d315cd</s> https://gist.github.com/pkofod/d666951a7886f9f75ad013782b61acd9\r\n\r\nthere will be tests, but I'm just posting this to get some feedback about what to look for. I have a feeling the problem here is the same one that is causing regressions here https://github.com/JuliaLang/julia/pull/24859\r\n\r\nI can run more accuracy tests (and will make plots when I get to the tests), but this is reassuring at least (JuLibm is the one implemented here and expm1 is openlibm)\r\n```\r\njulia> x = (rand(30000000)/2-1)*700;\r\n\r\njulia> all(JuLibm.expm1.(x) .== expm1.(x))\r\ntrue\r\n\r\njulia> x = (rand(Float32, 30000000)/2-1)*70;\r\n\r\njulia> all(JuLibm.expm1.(x) .== expm1.(x))\r\ntrue\r\n```\r\n\r\nDesign suggestions and comment suggestions are also very welcome! \r\n\r\n- [ ] tests\r\n- [ ] license info update\r\n- [ ] better comments"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/363325371","html_url":"https://github.com/JuliaLang/julia/pull/25903#issuecomment-363325371","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/25903","id":363325371,"user":{"login":"pkofod","id":8431156,"avatar_url":"https://avatars0.githubusercontent.com/u/8431156?v=4","gravatar_id":"","url":"https://api.github.com/users/pkofod","html_url":"https://github.com/pkofod","followers_url":"https://api.github.com/users/pkofod/followers","following_url":"https://api.github.com/users/pkofod/following{/other_user}","gists_url":"https://api.github.com/users/pkofod/gists{/gist_id}","starred_url":"https://api.github.com/users/pkofod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pkofod/subscriptions","organizations_url":"https://api.github.com/users/pkofod/orgs","repos_url":"https://api.github.com/users/pkofod/repos","events_url":"https://api.github.com/users/pkofod/events{/privacy}","received_events_url":"https://api.github.com/users/pkofod/received_events","type":"User","site_admin":false},"created_at":"2018-02-06T06:36:30Z","updated_at":"2018-02-06T06:36:30Z","author_association":"CONTRIBUTOR","body":"You're getting comparable timings?"}}
{"actor":{"display_login":"pkofod"}}