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

bump major version for breaking changes #287

Merged
merged 22 commits into from
Apr 8, 2022
Merged

bump major version for breaking changes #287

merged 22 commits into from
Apr 8, 2022

Conversation

jverzani
Copy link
Member

@jverzani jverzani commented Mar 21, 2022

Branch to accumulate breaking changes

  • remove deprecations

  • Bisection over non-FloatNN uses non-zero tolerances and bisection, not hacky A42 behind the scenes. Default over FloatNN uses zero tolerances and special code path for performance.

  • adjust tolerances for bracketing methods, tweak convergence criteria to be more standard, less idiosyncratic

  • drop some of the type hierarchy for bracketing (the Accelerated.., BisectionExact)

  • regularize naming of abstract methods, e.g. AbstractBracketing -> AbstractBracketingMethod (no means to deprecate this?);

  • make separate code path to solve default bisection over FloatNN (~ 10% faster)

  • emphasize use of keyword (not positional argument) to pass parameter

  • Create diversity in options type for dispatch remove unused maxfnevals from options;

  • Instead ofassess_convergence depending on the method, include method calls within to depend on method and options types

  • clean up docstrings abit

  • adjust output of Tracks object a bit; keep track of "x,fx" and "a, b" so that hybrid methods can be tracked better; add some API to Tracks objects for users: empty!, last, get

  • break up order0.jl into hybrid.jl (fixing logging bug) and order0

  • use maxiters not maxevals, as it is more common throughout ecosystem, but still allowing maxevals. (Similar to atol is preferred, but abstol allowsed.)

Branch to accumulate breaking changes
@codecov
Copy link

codecov bot commented Mar 21, 2022

Codecov Report

Merging #287 (251cb5f) into master (a9f675b) will increase coverage by 0.02%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##           master     #287      +/-   ##
==========================================
+ Coverage   84.74%   84.76%   +0.02%     
==========================================
  Files          34       32       -2     
  Lines        2097     2054      -43     
==========================================
- Hits         1777     1741      -36     
+ Misses        320      313       -7     
Impacted Files Coverage Δ
src/Derivative/thukralb.jl 100.00% <ø> (ø)
src/Roots.jl 0.00% <ø> (ø)
src/utils.jl 73.62% <0.00%> (-0.54%) ⬇️
src/trace.jl 24.46% <5.12%> (-13.87%) ⬇️
src/Derivative/newton.jl 83.33% <33.33%> (-16.67%) ⬇️
src/Derivative/lith.jl 70.42% <75.00%> (-0.31%) ⬇️
src/state.jl 80.95% <80.00%> (+38.09%) ⬆️
src/DerivativeFree/order5.jl 56.36% <81.81%> (-0.16%) ⬇️
src/DerivativeFree/order8.jl 92.85% <85.71%> (+3.96%) ⬆️
src/Bracketing/alefeld_potra_shi.jl 85.63% <89.01%> (+3.64%) ⬆️
... and 22 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a9f675b...251cb5f. Read the comment docs.

* update bisection: remove BisectionExact, Accelerated; rework assess_convergence, ...

* clean up alefeld potra shi; tolerances for FalsePosition(12)

* tidy up AlefeldPotraShi code

* clean up bracketing methods
* change to iterator, could deprecate

* more consistent naming

* remove deprecated run_bisection

* change default solves for `solve(::ZeroProblem)`, update documentation

* remove maxfnevals from tolerances which is no longer used
* clean up convergence
* remove BisectionExact
* check for exact zero

* check f==0 and f~ 0 separately
* use unicode subscripts when displaying trace

* clean up tracks, add generics, improve docs
* cleanup

* fix error seen in lith docs
* add test for v1.6; allow v1.0.X to fail

* testing fix
* add test for v1.6; allow v1.0.X to fail

* testing fix

* avoid inferred for < v1.6.0
* add test for v1.6; allow v1.0.X to fail

* testing fix

* avoid inferred for < v1.6.0

* uggh
* maxevals -> maxiters; allow old use
* add nan(T) method
* copy edit
* deprecate find_Bracket; BisectionExact

* deprecate method of find_zero

* ignore file

* deprecate unused run_bisection

* add deprecation for BisectionExact method

* version bump

* avoid allocation test for deprecated method
@jverzani jverzani merged commit 01f4ec4 into master Apr 8, 2022
@jverzani jverzani deleted the v2.0.0 branch April 8, 2022 14:06
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.

None yet

1 participant