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

Rename BigInteger div/mul family of functions #22794

Merged
merged 19 commits into from
Jul 26, 2023

Conversation

jabraham17
Copy link
Member

@jabraham17 jabraham17 commented Jul 21, 2023

Summary of changes

  • renames mul_2exp to mul2Exp, adjusts it's argument names, marks it as unstable, and updates the documentation for it
  • renames enum round to enum roundingMode and update its documentation
  • renames divQ to div and update its documentation
  • renames divR to rem and update its documentation
  • renames divQR to divRem and update its documentation
  • renames divexact to divExact and update its documentation
  • renames divQ2Exp to div2Exp, marks it as unstable, and updates the documentation for it
  • renames divR2Exp to rem2Exp, marks it as unstable, and updates the documentation for it
  • adds shiftLeft and shiftRight
  • Updated tests using the old names
  • Removed previously deprecated divexact(n,d) divisible_p, divisible_2exp_p, congruent_p, and congruent_2exp_p
    • these have been deprecated for some time, removing them now as they are not used anymore and it allows for cleaner docs
  • Removed previously deprecated div_qr, div_r, div_q_2exp, and div_r_2exp
    • these have been deprecated for some time, removing them now as they are not used anymore and it allows for cleaner docs
    • I had to leave div_q since it is still being used in submitted benchmarks
  • Added a note to chpldoc.rst about :enum:

New tests

  • adds test/unstable/BigInteger/unstableMul2Exp.chpl
  • adds test/unstable/BigInteger/unstableDiv2Exp.chpl
  • adds test/deprecated/BigInteger/deprecateDivexact.chpl
  • adds test/deprecated/BigInteger/deprecateDivFunctions.chpl
  • adds test/deprecated/BigInteger/deprecateMul_2exp.chpl
  • removes test/deprecated/BigInteger/deprecateCongruent2expP.chpl
  • removes test/deprecated/BigInteger/deprecateCongruentP.chpl
  • removes test/deprecated/BigInteger/deprecateDivexact.chpl
  • removes test/deprecated/BigInteger/deprecateDivisible2expP.chpl
  • removes test/deprecated/BigInteger/deprecateDivisibleP.chpl

Testing

  • paratest with futures
  • paratest + gasnet
  • built and checked docs

Future work

  • Update Arkouda to use the new shiftLeft and shiftRight

[Reviewed by @bmcdonald3]

closes #22731
closes #19303
implements some of the changes from #17724
closes cray/chapel-private#5099

Signed-off-by: Jade Abraham <[email protected]>
leave div_q for now

Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
@jabraham17 jabraham17 marked this pull request as ready for review July 26, 2023 16:27
Copy link
Member

@bmcdonald3 bmcdonald3 left a comment

Choose a reason for hiding this comment

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

Looks good to me, just some comments about keeping functions separated by a single new line and some questions about why things are being nodoced

modules/standard/BigInteger.chpl Outdated Show resolved Hide resolved
modules/standard/BigInteger.chpl Outdated Show resolved Hide resolved
modules/standard/BigInteger.chpl Outdated Show resolved Hide resolved
modules/standard/BigInteger.chpl Outdated Show resolved Hide resolved
modules/standard/BigInteger.chpl Outdated Show resolved Hide resolved
modules/standard/BigInteger.chpl Outdated Show resolved Hide resolved
modules/standard/BigInteger.chpl Outdated Show resolved Hide resolved
@jabraham17 jabraham17 merged commit 5065414 into chapel-lang:main Jul 26, 2023
7 checks passed
@jabraham17 jabraham17 deleted the bigint-div-rename branch July 26, 2023 17:49
jabraham17 added a commit that referenced this pull request Jan 11, 2024
Removes almost all of the remaining BigInteger deprecations

This PR removes the deprecations from the following PRs I authored
- #22775
- #22888/#22774
- #22818
- #22794
- #22788
- #22121

I also removed the remaining deprecations done by Yash Raj
- #18855
- #18827

I moved one test out of the deprecated/BigInteger directory,
`bigint_getlimbs.chpl`, since its not a deprecation test and actually
checks functionality.


Testing
- [x] paratest without comm
- [x] paratest with comm
- [x] built docs and checked them

[Reviewed by @ShreyasKhandekar]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants