From 3e32401ef5ffa0f2913d32dbcb7a7a5172d645c4 Mon Sep 17 00:00:00 2001 From: lucaferranti <49938764+lucaferranti@users.noreply.github.com> Date: Thu, 29 Apr 2021 00:56:04 +0300 Subject: [PATCH] update package (#289) * updated package * trigger workflow * updated julia version in compat * updated release version --- .github/workflows/CI.yml | 48 +++++++++++++++++++++++++++++ .github/workflows/CompactHelper.yml | 15 +++++++++ .github/workflows/TagBot.yml | 14 +++++++++ .travis.yml | 27 ---------------- Project.toml | 29 +++++++++++++++++ README.md | 12 +++++--- REQUIRE | 9 ------ appveyor.yml | 43 -------------------------- src/ValidatedNumerics.jl | 1 + test/runtests.jl | 9 +++++- 10 files changed, 122 insertions(+), 85 deletions(-) create mode 100644 .github/workflows/CI.yml create mode 100644 .github/workflows/CompactHelper.yml create mode 100644 .github/workflows/TagBot.yml delete mode 100644 .travis.yml create mode 100644 Project.toml delete mode 100644 REQUIRE delete mode 100644 appveyor.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..604bb36 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,48 @@ +name: CI +on: + - push + - pull_request +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.version == 'nightly' }} + strategy: + fail-fast: false + matrix: + version: + - '1.5' + - '1.6' + - 'nightly' + os: + - ubuntu-latest + - macOS-latest + - windows-latest + arch: + - x64 + - x86 + exclude: + - os: macOS-latest + arch: x86 + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: actions/cache@v1 + env: + cache-name: cache-artifacts + with: + path: ~/.julia/artifacts + key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} + restore-keys: | + ${{ runner.os }}-test-${{ env.cache-name }}- + ${{ runner.os }}-test- + ${{ runner.os }}- + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v1 + with: + file: lcov.info diff --git a/.github/workflows/CompactHelper.yml b/.github/workflows/CompactHelper.yml new file mode 100644 index 0000000..f198e90 --- /dev/null +++ b/.github/workflows/CompactHelper.yml @@ -0,0 +1,15 @@ +name: CompatHelper +on: + schedule: + - cron: 0 0 * * * + workflow_dispatch: +jobs: + CompatHelper: + runs-on: ubuntu-latest + steps: + - name: Pkg.add("CompatHelper") + run: julia -e 'using Pkg; Pkg.add("CompatHelper")' + - name: CompatHelper.main() + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: julia -e 'using CompatHelper; CompatHelper.main()' diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml new file mode 100644 index 0000000..778c06f --- /dev/null +++ b/.github/workflows/TagBot.yml @@ -0,0 +1,14 @@ +name: TagBot +on: + issue_comment: + types: + - created + workflow_dispatch: +jobs: + TagBot: + if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' + runs-on: ubuntu-latest + steps: + - uses: JuliaRegistries/TagBot@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ec750fd..0000000 --- a/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: julia - -sudo: required - -services: - - docker - -os: - - linux - - osx - -julia: - - 0.7 - - 1.0 - - nightly - -#matrix: -# allow_failures: -# - julia: nightly - -notifications: - email: false - -after_success: - - julia -e 'using Pkg; Pkg.add("Documenter")' - - julia -e 'cd(Pkg.dir("ValidatedNumerics")); include(joinpath("docs", "make.jl"))' - - julia -e 'cd(Pkg.dir("ValidatedNumerics")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder()); Codecov.submit(process_folder())' diff --git a/Project.toml b/Project.toml new file mode 100644 index 0000000..ac904b9 --- /dev/null +++ b/Project.toml @@ -0,0 +1,29 @@ +name = "ValidatedNumerics" +uuid = "d621b6e3-7715-5857-9c6f-c67000ef6083" +repo = "https://github.com/JuliaIntervals/ValidatedNumerics.jl.git" +version = "0.12.0" + +[deps] +IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" +IntervalConstraintProgramming = "138f1668-1576-5ad7-91b9-7425abbf3153" +IntervalContractors = "15111844-de3b-5229-b4ba-526f2f385dc9" +IntervalOptimisation = "c7c68f13-a4a2-5b9a-b424-07d005f8d9d2" +IntervalRootFinding = "d2bf35a9-74e0-55ec-b149-d360ff49b807" +Reexport = "189a3867-3050-52da-a836-e630ba90ab69" +TaylorModels = "314ce334-5f6e-57ae-acf6-00b6e903104a" + +[compat] +IntervalArithmetic = "0.16, 0.17, 0.18" +IntervalRootFinding = "0.5" +IntervalContractors = "0.4" +IntervalConstraintProgramming = "0.12" +IntervalOptimisation = "0.4" +TaylorModels = "0.3" +Reexport = "0.2, 1.0" +julia = "1.3, 1.4, 1.5, 1.6" + +[extras] +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test"] diff --git a/README.md b/README.md index 5dc300d..2c291fe 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # ValidatedNumerics.jl # -[![Build Status](https://travis-ci.org/JuliaIntervals/ValidatedNumerics.jl.svg?branch=master)](https://travis-ci.org/JuliaIntervals/ValidatedNumerics.jl) -[![Coverage Status](https://coveralls.io/repos/dpsanders/ValidatedNumerics.jl/badge.svg?branch=master&service=github)](https://coveralls.io/github/dpsanders/ValidatedNumerics.jl?branch=master) -[![codecov](https://codecov.io/gh/JuliaIntervals/ValidatedNumerics.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaIntervals/ValidatedNumerics.jl) -[![Join the chat at https://gitter.im/dpsanders/ValidatedNumerics.jl](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dpsanders/ValidatedNumerics.jl?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Build Status](https://github.com/JuliaIntervals/ValidatedNumerics.jl/workflows/CI/badge.svg)](https://github.com/JuliaIntervals/ValidatedNumerics.jl/actions/workflows/CI.yml) +[![coverage](https://codecov.io/gh/JuliaIntervals/ValidatedNumerics.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaIntervals/ValidatedNumerics.jl) +[![docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliaintervals.github.io/pages/packages/) + `ValidatedNumerics.jl` is a suite of Julia packages for performing *Validated Numerics* in Julia, i.e. *rigorous* computations with finite-precision floating-point arithmetic, using **interval arithmetic**: quantities are treated as intervals that are propagated throughout a calculation. The final result is an interval that is *guaranteed* to contain the correct result, starting from the given initial data. @@ -29,9 +29,11 @@ Since version 0.9, `ValidatedNumerics.jl` is a meta-package that automatically i - [`IntervalContractors.jl`](https://github.com/JuliaIntervals/IntervalContractors.jl): contractors and reverse (or inverse) functions +- [`TaylorModels.jl`](https://github.com/JuliaIntervals/TaylorModels.jl): rigorous function approximation + ## Documentation -Documentation is available separately for each of the above packages. +The documentation for each of the above packages can be found [here](https://juliaintervals.github.io/pages/packages/) ## IEEE Standard 1788-2015 - IEEE Standard for Interval Arithmetic The IEEE Std 1788-2015 - IEEE Standard for Interval Arithmetic was [published](https://standards.ieee.org/findstds/standard/1788-2015.html) in June 2015. We are working towards having `ValidatedNumerics` be conformant with this standard. diff --git a/REQUIRE b/REQUIRE deleted file mode 100644 index 43eb678..0000000 --- a/REQUIRE +++ /dev/null @@ -1,9 +0,0 @@ -julia 0.7 - -Reexport 0.2.0 - -IntervalArithmetic 0.15 -IntervalRootFinding 0.4 -IntervalContractors 0.3.1 -IntervalConstraintProgramming 0.9 -IntervalOptimisation 0.3 diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index c2588f1..0000000 --- a/appveyor.yml +++ /dev/null @@ -1,43 +0,0 @@ -environment: - matrix: - - julia_version: 0.7 - - julia_version: 1 - - julia_version: nightly - -platform: - - x86 # 32-bit - - x64 # 64-bit - -# # Uncomment the following lines to allow failures on nightly julia -# # (tests will run but not make your overall status red) -# matrix: -# allow_failures: -# - julia_version: nightly - -branches: - only: - - master - - /release-.*/ - -notifications: - - provider: Email - on_build_success: false - on_build_failure: false - on_build_status_changed: false - -install: - - ps: iex ((new-object net.webclient).DownloadString("https://raw.githubusercontent.com/JuliaCI/Appveyor.jl/version-1/bin/install.ps1")) - -build_script: - - echo "%JL_BUILD_SCRIPT%" - - C:\julia\bin\julia -e "%JL_BUILD_SCRIPT%" - -test_script: - - echo "%JL_TEST_SCRIPT%" - - C:\julia\bin\julia -e "%JL_TEST_SCRIPT%" - -# # Uncomment to support code coverage upload. Should only be enabled for packages -# # which would have coverage gaps without running on Windows -# on_success: -# - echo "%JL_CODECOV_SCRIPT%" -# - C:\julia\bin\julia -e "%JL_CODECOV_SCRIPT%" diff --git a/src/ValidatedNumerics.jl b/src/ValidatedNumerics.jl index 22a7ea9..6a69732 100644 --- a/src/ValidatedNumerics.jl +++ b/src/ValidatedNumerics.jl @@ -9,5 +9,6 @@ using Reexport @reexport using IntervalContractors @reexport using IntervalConstraintProgramming @reexport using IntervalOptimisation +@reexport using TaylorModels end # module ValidatedNumerics diff --git a/test/runtests.jl b/test/runtests.jl index 44e6448..25dab63 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -39,9 +39,16 @@ using Test @testset "IntervalOptimisation" begin f(x) = x^4 - 3x^3 + 2x - globalmin, minimisers = minimise(f, -1e10..1e10, 1e-7) + globalmin, minimisers = minimise(f, -1e10..1e10, tol=1e-5) @test globalmin ⊆ (-4.15.. -4.14) end + @testset "TaylorModels" begin + x0 = Interval(0.0) + ii0 = Interval(-0.5, 0.5) + + tpol = exp( Taylor1(2) ) + @test TaylorModels.bound_taylor1( tpol, ii0) == tpol(ii0.lo) .. tpol(ii0.hi) + end end