{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":91366972,"defaultBranch":"master","name":"FixedPointDecimals.jl","ownerLogin":"JuliaMath","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-05-15T17:45:10.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/19329613?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1723486141.0","currentOid":""},"activityList":{"items":[{"before":"f830c3c98fca678c9d21c91ccca5aa96fea9c616","after":"71ba82e3b80f3ac53833627424abac27d2375359","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-09-10T00:08:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"add test comment","shortMessageHtmlLink":"add test comment"}},{"before":"e147f5cd3d890e0125e235591a796a94366c4669","after":"f830c3c98fca678c9d21c91ccca5aa96fea9c616","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-08-13T16:40:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Change \"unreachable\" comment to an `@assert false`","shortMessageHtmlLink":"Change \"unreachable\" comment to an @assert false"}},{"before":"fd096ace8f4c28eede455c91ca799b2ff88e9439","after":"e147f5cd3d890e0125e235591a796a94366c4669","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-08-13T16:39:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Add _widemul unit test","shortMessageHtmlLink":"Add _widemul unit test"}},{"before":"66e1ecb6c2e532db9a65e4e7cbce635e357b9906","after":"fd096ace8f4c28eede455c91ca799b2ff88e9439","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-08-12T17:53:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Bump patch version number","shortMessageHtmlLink":"Bump patch version number"}},{"before":"8df68b5fe1fced4f8aff35c52d8f56cc216fcfe7","after":"66e1ecb6c2e532db9a65e4e7cbce635e357b9906","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-08-12T17:51:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Merge branch 'master' into nhd-Int128-fastmul-noallocs","shortMessageHtmlLink":"Merge branch 'master' into nhd-Int128-fastmul-noallocs"}},{"before":"a24565110dc16462cb2e7b2bd81adb161bd9ef20","after":null,"ref":"refs/heads/nhd-overflow-Int128","pushedAt":"2024-08-12T17:49:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"}},{"before":"ddee9788c7085a5a1ceed2dd924750427a85d61d","after":"e0c1932523fdddcbf1b610442eb6f6f51f94c189","ref":"refs/heads/master","pushedAt":"2024-08-12T17:49:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Use Int256 to reduce BigInts in FD operations. (#93)\n\n* Use Int256 to avoid BigInt in FD operations.\r\n\r\nWe do not here explicitly introduce support for FD{BitIntegers.Int256},\r\nthough that should work out of the box both before and after this PR.\r\n\r\nRather, this PR _uses_ a (U)Int256 under the hood to prevent allocations\r\nfrom Int128 widening to BigInt in FD operations.\r\n\r\n* Further reduce BigInts by skipping a `rem()` in iseven\r\n\r\n* Bump patch version number","shortMessageHtmlLink":"Use Int256 to reduce BigInts in FD operations. (#93)"}},{"before":"a2dcf56e6d471dbfa02f4883b7829c8430bfde5c","after":"8df68b5fe1fced4f8aff35c52d8f56cc216fcfe7","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-07-10T01:23:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"More thorough tests for flmdod_by_const","shortMessageHtmlLink":"More thorough tests for flmdod_by_const"}},{"before":"4f4d17a75b859bcd5b89f932e1d8faaf2fb91b63","after":"a2dcf56e6d471dbfa02f4883b7829c8430bfde5c","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-07-10T00:53:02.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"It turns out that in newer versions of julia, you should call fldmod, not fld(x,y),mod(x,y), even if y is a constant! :)\n\nImproved that for julia versions 1.8 - 1.9","shortMessageHtmlLink":"It turns out that in newer versions of julia, you should call fldmod,…"}},{"before":"b79c8737710df1a021a8749343d3e3af172e68a5","after":"4f4d17a75b859bcd5b89f932e1d8faaf2fb91b63","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-26T15:13:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Drvi","name":"Tomáš Drvoštěp","path":"/Drvi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2074313?s=80&v=4"},"commit":{"message":".","shortMessageHtmlLink":"."}},{"before":"f6d375c0231747ff9b044b7494d43904c2f786ea","after":"b79c8737710df1a021a8749343d3e3af172e68a5","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-25T17:41:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Drvi","name":"Tomáš Drvoštěp","path":"/Drvi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2074313?s=80&v=4"},"commit":{"message":".","shortMessageHtmlLink":"."}},{"before":"188933d1c8c5ab07ffb118304b4beb6f2741ff57","after":"f6d375c0231747ff9b044b7494d43904c2f786ea","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-21T15:21:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Drvi","name":"Tomáš Drvoštěp","path":"/Drvi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2074313?s=80&v=4"},"commit":{"message":"Use the formulas from Hacker's delight for both signed and unsigned Ints","shortMessageHtmlLink":"Use the formulas from Hacker's delight for both signed and unsigned Ints"}},{"before":"4e9fdd6f9193b7c214f8db01072d773c5c2c30a6","after":"188933d1c8c5ab07ffb118304b4beb6f2741ff57","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-20T00:55:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Have `magicgu` support arbitrary integer sizes","shortMessageHtmlLink":"Have magicgu support arbitrary integer sizes"}},{"before":"e4cb73b3dca4b6254b0c49cb44aaf1c4c863a4e3","after":"4e9fdd6f9193b7c214f8db01072d773c5c2c30a6","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-19T21:43:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Copy/pasted definition for unsigned numbers straight from the book","shortMessageHtmlLink":"Copy/pasted definition for unsigned numbers straight from the book"}},{"before":"ac3302e487a436dad4ca19f0cb6b3c9aa91f23a1","after":"e4cb73b3dca4b6254b0c49cb44aaf1c4c863a4e3","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-19T19:16:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Fix off-by-one error in rounding truncation in calculate_inverse_coeff()\n\nWe must use the precise value of 2^nbits(T) in order to get the correct\ndivision in all cases.\n\n....... UGH except now the Int64 tests aren't passing.","shortMessageHtmlLink":"Fix off-by-one error in rounding truncation in calculate_inverse_coeff()"}},{"before":"44686f3c6a82ff4a25bd76e18be0e73393de1c90","after":"ac3302e487a436dad4ca19f0cb6b3c9aa91f23a1","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-19T19:15:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Fix off-by-one error in rounding truncation in calculate_inverse_coeff()\n\nWe must use the precise value of 2^nbits(T) in order to get the correct\ndivision in all cases.","shortMessageHtmlLink":"Fix off-by-one error in rounding truncation in calculate_inverse_coeff()"}},{"before":"27a3e0f320eb1ae55b55c2ae2570db5ba8d5bead","after":"44686f3c6a82ff4a25bd76e18be0e73393de1c90","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-19T19:10:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Fix off-by-one error in rounding truncation in calculate_inverse_coeff()\n\nWe must use the precise value of 2^nbits(T) in order to get the correct\ndivision in all cases.","shortMessageHtmlLink":"Fix off-by-one error in rounding truncation in calculate_inverse_coeff()"}},{"before":"4a53703706b5d4012284af63e3ff75cf7ad8de60","after":"27a3e0f320eb1ae55b55c2ae2570db5ba8d5bead","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-19T17:59:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Named testsets to make failures easier to identify","shortMessageHtmlLink":"Named testsets to make failures easier to identify"}},{"before":"0019bb0af65fd626fc27904d6c4ab162456612d0","after":"4a53703706b5d4012284af63e3ff75cf7ad8de60","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-19T17:55:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Add extensive tests for multiplication correctness, to cover the new change\n\nTests all FD{(U)Int16} values.\nTests most corner cases for FD{(U)Int128} values.","shortMessageHtmlLink":"Add extensive tests for multiplication correctness, to cover the new …"}},{"before":"f2958baf17afc877b22f2e5d038dcfaa39c4d784","after":"0019bb0af65fd626fc27904d6c4ab162456612d0","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-17T03:49:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Update src/FixedPointDecimals.jl\n\nCo-authored-by: Curtis Vogt ","shortMessageHtmlLink":"Update src/FixedPointDecimals.jl"}},{"before":"82eb32dd979f1634b1c97dd5e6e9ef4956bd02a3","after":"f2958baf17afc877b22f2e5d038dcfaa39c4d784","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-13T19:59:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Apply suggestions from code review\n\nCo-authored-by: Curtis Vogt ","shortMessageHtmlLink":"Apply suggestions from code review"}},{"before":"c7a151acf19fc3ab7895e0a453e255e6b6ee2a41","after":"82eb32dd979f1634b1c97dd5e6e9ef4956bd02a3","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-13T19:57:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Apply suggestions from code review\n\nCo-authored-by: Curtis Vogt ","shortMessageHtmlLink":"Apply suggestions from code review"}},{"before":"3f39b8aded7b150526eb58aabbda8862e2f5cf50","after":"c7a151acf19fc3ab7895e0a453e255e6b6ee2a41","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-13T19:56:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Clarify the `_unsigned(x)` methods with comments","shortMessageHtmlLink":"Clarify the _unsigned(x) methods with comments"}},{"before":"efee91bd2d53cf2ffbd71a28b7416525bc5c5da7","after":"3f39b8aded7b150526eb58aabbda8862e2f5cf50","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-13T19:50:21.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Adjust to run for all integer types!","shortMessageHtmlLink":"Adjust to run for all integer types!"}},{"before":"dfd41b1be3484356d67d21e3804ae033216af1d8","after":"efee91bd2d53cf2ffbd71a28b7416525bc5c5da7","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-13T03:50:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Disable fldmod-by-const tests on older julia","shortMessageHtmlLink":"Disable fldmod-by-const tests on older julia"}},{"before":"4e53f3d1d990f1b78abd79f599335bfdfe7a2bec","after":"dfd41b1be3484356d67d21e3804ae033216af1d8","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-13T02:42:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Comments","shortMessageHtmlLink":"Comments"}},{"before":"4bd8c45b4f57b8691c12dde3f6ddc2b4678cda66","after":"4e53f3d1d990f1b78abd79f599335bfdfe7a2bec","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-13T02:37:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Support older versions of julia","shortMessageHtmlLink":"Support older versions of julia"}},{"before":"0b0666261d0016e6f2d5fbd2aba3f8406db43ddf","after":"4bd8c45b4f57b8691c12dde3f6ddc2b4678cda66","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-13T02:25:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Finish removing the BigInts from * for FD{Int128}!\n\nFinally implements the fast-multiplication optimization from\nhttps://github.com/JuliaMath/FixedPointDecimals.jl/pull/45, but this\ntime for 128-bit FixedDecimals! :)\n\nThis is a follow-up to\nhttps://github.com/JuliaMath/FixedPointDecimals.jl/pull/93, which\nintroduces an Int256 type for widemul. However, the fldmod still\nrequired 2 BigInt allocations.\n\nNow, this PR uses a custom implementation of the LLVM div-by-const\noptimization for (U)Int256, which briefly widens to Int512 (😅) to\nperform the fldmod by the constant 10^f coefficient.\n\nThis brings 128-bit FD multiply to the same performance as 64-bit. :)","shortMessageHtmlLink":"Finish removing the BigInts from * for FD{Int128}!"}},{"before":"d20f0c4a836bb46a1dfd98462e7f4320d11b65f8","after":"0b0666261d0016e6f2d5fbd2aba3f8406db43ddf","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-13T02:21:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Finish removing the BigInts from * for FD{Int128}!\n\nFinally implements the fast-multiplication optimization from\nhttps://github.com/JuliaMath/FixedPointDecimals.jl/pull/45, but this\ntime for 128-bit FixedDecimals! :)\n\nThis is a follow-up to\nhttps://github.com/JuliaMath/FixedPointDecimals.jl/pull/93, which\nintroduces an Int256 type for widemul. However, the fldmod still\nrequired 2 BigInt allocations.\n\nNow, this PR uses a custom implementation of the LLVM div-by-const\noptimization for (U)Int256, which briefly widens to Int512 (😅) to\nperform the fldmod by the constant 10^f coefficient.\n\nThis brings 128-bit FD multiply to the same performance as 64-bit. :)","shortMessageHtmlLink":"Finish removing the BigInts from * for FD{Int128}!"}},{"before":"200515f36c80cae713527e5773d03c333389278f","after":"d20f0c4a836bb46a1dfd98462e7f4320d11b65f8","ref":"refs/heads/nhd-Int128-fastmul-noallocs","pushedAt":"2024-06-13T02:20:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"NHDaly","name":"Nathan Daly","path":"/NHDaly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1582097?s=80&v=4"},"commit":{"message":"Finish removing the BigInts from * for FD{Int128}!\n\nFinally implements the fast-multiplication optimization from\nhttps://github.com/JuliaMath/FixedPointDecimals.jl/pull/45, but this\ntime for 128-bit FixedDecimals! :)\n\nThis is a follow-up to\nhttps://github.com/JuliaMath/FixedPointDecimals.jl/pull/93, which\nintroduces an Int256 type for widemul. However, the fldmod still\nrequired 2 BigInt allocations.\n\nNow, this PR uses a custom implementation of the LLVM div-by-const\noptimization for (U)Int256, which briefly widens to Int512 (😅) to\nperform the fldmod by the constant 10^f coefficient.\n\nThis brings 128-bit FD multiply to the same performance as 64-bit. :)","shortMessageHtmlLink":"Finish removing the BigInts from * for FD{Int128}!"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMFQwMDowODoxOC4wMDAwMDBazwAAAASxd6cx","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xM1QwMjoyMDo1My4wMDAwMDBazwAAAARj6sSG"}},"title":"Activity · JuliaMath/FixedPointDecimals.jl"}