Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

u256: log, log2 and sqrt impl (#5329) #5565

Merged
merged 4 commits into from
Feb 8, 2024
Merged

u256: log, log2 and sqrt impl (#5329) #5565

merged 4 commits into from
Feb 8, 2024

Conversation

sudhackar
Copy link
Contributor

Description

simple changes that uses newton's method for sqrt and decomposition to u64 for log2 - log builds up on log2 for u256

This should fix #5329

Ping @SwayStar123

Checklist

  • I have linked to any relevant issues.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have updated the documentation where relevant (API docs, the reference, and the Sway book).
  • I have added tests that prove my fix is effective or that my feature works.
  • I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
  • I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
  • I have requested a review from the relevant team or maintainers.

@sudhackar
Copy link
Contributor Author

Sorry for closing the old PR - it closed when I rolled back the 2 commits automatically.

Copy link
Member

@SwayStar123 SwayStar123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some comments regarding structure/documentation, but I am unfamiliar with the math/algorithms for the operations, so I have requested someone experienced with that to also review.

Thank you for the PR!

sway-lib-std/src/math.sw Outdated Show resolved Hide resolved
sway-lib-std/src/math.sw Show resolved Hide resolved
sway-lib-std/src/math.sw Show resolved Hide resolved
sway-lib-std/src/math.sw Outdated Show resolved Hide resolved
@xunilrj xunilrj dismissed SwayStar123’s stale review February 8, 2024 06:21

We are still fixing the order limitation.

@xunilrj xunilrj enabled auto-merge (squash) February 8, 2024 08:14
@xunilrj xunilrj merged commit 046d292 into FuelLabs:master Feb 8, 2024
31 checks passed
sdankel pushed a commit that referenced this pull request Feb 8, 2024
## Description
simple changes that uses newton's method for sqrt and decomposition to
`u64` for `log2` - `log` builds up on `log2` for `u256`

This should fix #5329

Ping @SwayStar123 
## Checklist

- [x] I have linked to any relevant issues.
- [x] I have commented my code, particularly in hard-to-understand
areas.
- [ ] I have updated the documentation where relevant (API docs, the
reference, and the Sway book).
- [x] I have added tests that prove my fix is effective or that my
feature works.
- [ ] I have added (or requested a maintainer to add) the necessary
`Breaking*` or `New Feature` labels where relevant.
- [x] I have done my best to ensure that my PR adheres to [the Fuel Labs
Code Review
Standards](https://github.com/FuelLabs/rfcs/blob/master/text/code-standards/external-contributors.md).
- [x] I have requested a review from the relevant team or maintainers.
@sudhackar sudhackar deleted the u256-log-pow branch February 13, 2024 06:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

math.sw primitive u256 missing trait implementations
5 participants