Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BigUint always use u64 as the internal machine unsigned integer
This change allow a speedup of ~1.5 on shootout-pidigits on a i32 system. `DoubleBigDigit` is used to abstract the internal unsigned integer used in computation to simplity future architecture specialization. `BigDigit::from_uint` and `BigDigit::to_uint` become `BigDigit::from_doublebigdigit` and `BigDigit::to_doublebigdigit`. [breaking-change]
- Loading branch information
Showing
1 changed file
with
41 additions
and
166 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
593f6a4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
saw approval from pcwalton
at TeXitoi@593f6a4
593f6a4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
merging TeXitoi/rust/biguint-always-use-u64 = 593f6a4 into auto
593f6a4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TeXitoi/rust/biguint-always-use-u64 = 593f6a4 merged ok, testing candidate = 3a321b0
593f6a4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all tests pass:
success: http://buildbot.rust-lang.org/builders/auto-mac-32-opt/builds/5551
success: http://buildbot.rust-lang.org/builders/auto-mac-64-opt/builds/5547
success: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-c/builds/4640
success: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/4653
success: http://buildbot.rust-lang.org/builders/auto-linux-32-opt/builds/5649
success: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-c/builds/4737
success: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-t/builds/4745
success: http://buildbot.rust-lang.org/builders/auto-linux-64-opt/builds/5651
success: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-c/builds/4736
success: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-t/builds/4742
success: http://buildbot.rust-lang.org/builders/auto-linux-64-x-android/builds/4804
success: http://buildbot.rust-lang.org/builders/auto-linux-64-x-android-t/builds/2538
success: http://buildbot.rust-lang.org/builders/auto-win-32-opt/builds/5645
success: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-c/builds/4740
success: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-t/builds/4755
593f6a4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fast-forwarding master to auto = 3a321b0