{"action":"created","issue":{"url":"https://api.github.com/repos/dlang/phobos/issues/4336","repository_url":"https://api.github.com/repos/dlang/phobos","labels_url":"https://api.github.com/repos/dlang/phobos/issues/4336/labels{/name}","comments_url":"https://api.github.com/repos/dlang/phobos/issues/4336/comments","events_url":"https://api.github.com/repos/dlang/phobos/issues/4336/events","html_url":"https://github.com/dlang/phobos/pull/4336","id":155395644,"number":4336,"title":"Begin replacing floatTraits pointer math with RealRep union","user":{"login":"tsbockman","id":1332026,"avatar_url":"https://avatars.githubusercontent.com/u/1332026?v=3","gravatar_id":"","url":"https://api.github.com/users/tsbockman","html_url":"https://github.com/tsbockman","followers_url":"https://api.github.com/users/tsbockman/followers","following_url":"https://api.github.com/users/tsbockman/following{/other_user}","gists_url":"https://api.github.com/users/tsbockman/gists{/gist_id}","starred_url":"https://api.github.com/users/tsbockman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tsbockman/subscriptions","organizations_url":"https://api.github.com/users/tsbockman/orgs","repos_url":"https://api.github.com/users/tsbockman/repos","events_url":"https://api.github.com/users/tsbockman/events{/privacy}","received_events_url":"https://api.github.com/users/tsbockman/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dlang/phobos/labels/math","name":"math","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-05-18T01:00:51Z","updated_at":"2016-05-22T20:45:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dlang/phobos/pulls/4336","html_url":"https://github.com/dlang/phobos/pull/4336","diff_url":"https://github.com/dlang/phobos/pull/4336.diff","patch_url":"https://github.com/dlang/phobos/pull/4336.patch"},"body":"Pros:\r\n\r\n* Prepare the way for CTFE floating-point math by switching from explicit pointer reinterpretation to a `union`.\r\n* `union` code is easier to read and understand.\r\n* `union` code is also easier to write, thus freeing mental energy for performance optimizations.\r\n* Consolidate tons of near-duplicate code-paths into (usually) two: one for `ibmExtended`, and one for everything else.\r\n* Adding support for new IEEE-style floating-point types (such as `half` or `quad`) gets easier as more of `std.math` is converted to use `RealRep`. (`ucent` would help here, though.)\r\n* By the time all of `std.math` has been converted, I expect that (in net) `RealRep` will have reduced the total line count substantially.\r\n* It may be possible to replace some of the inline assembler with `RealRep` code; the codegen seems to be *very* clean (at least on GDC).\r\n\r\nCons:\r\n\r\n* Many large diffs (starting with this one) will be required to complete the conversion.\r\n* `std.math` will become substantially more dependant upon inlining for good performance.\r\n"},"comment":{"url":"https://api.github.com/repos/dlang/phobos/issues/comments/220855226","html_url":"https://github.com/dlang/phobos/pull/4336#issuecomment-220855226","issue_url":"https://api.github.com/repos/dlang/phobos/issues/4336","id":220855226,"user":{"login":"tsbockman","id":1332026,"avatar_url":"https://avatars.githubusercontent.com/u/1332026?v=3","gravatar_id":"","url":"https://api.github.com/users/tsbockman","html_url":"https://github.com/tsbockman","followers_url":"https://api.github.com/users/tsbockman/followers","following_url":"https://api.github.com/users/tsbockman/following{/other_user}","gists_url":"https://api.github.com/users/tsbockman/gists{/gist_id}","starred_url":"https://api.github.com/users/tsbockman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tsbockman/subscriptions","organizations_url":"https://api.github.com/users/tsbockman/orgs","repos_url":"https://api.github.com/users/tsbockman/repos","events_url":"https://api.github.com/users/tsbockman/events{/privacy}","received_events_url":"https://api.github.com/users/tsbockman/received_events","type":"User","site_admin":false},"created_at":"2016-05-22T20:45:30Z","updated_at":"2016-05-22T20:45:30Z","body":"The auto-tester failure is unrelated to this PR."}}
{"actor":{"display_login":"tsbockman"}}