https://github.com/JuliaLang/julia
Revision a3eb9d43f859e8fab3e2dd81cc4c3fc47ef47228 authored by Keno Fischer on 28 September 2019, 19:17:12 UTC, committed by GitHub on 28 September 2019, 19:17:12 UTC
* Re-arrange fld/cld code

In preparation for supporting other rounding modes in div, create
a three-argument div function that takes a rounding mode as the last
argument and make this the fundamental fallback for fld/cld.

* Implemented rounded division

* add various divrem combinations to avoid overflow

* Whitespace/test fixes

* Small tweaks to docstrings

* Bugfixes

* Add the exhaustive test

* Tigthen up types for div fallback

I think it's better to give a MethodError here than an approximate
answer for non-AbstractFloat reals (e.g. custom integer types).
1 parent e5c3ffc
Raw File
Tip revision: a3eb9d43f859e8fab3e2dd81cc4c3fc47ef47228 authored by Keno Fischer on 28 September 2019, 19:17:12 UTC
div with rounding modes [+ rounded division] (#33040)
Tip revision: a3eb9d4
.appveyor.yml
environment:
  global:
    CCACHE_DIR: C:\ccache
    CYG_MIRROR: http://cygwin.mirror.constant.com
    CYG_CACHE: '%CYG_ROOT%\var\cache\setup'
    CYG_BASH: '%CYG_ROOT%\bin\bash'

  matrix:
  - MINGW_ARCH: "i686"
    CYG_ROOT: C:\cygwin
    CYG_SETUP: setup-x86.exe
    JULIA_TEST_MAXRSS_MB: 500

  - MINGW_ARCH: "x86_64"
    CYG_ROOT: C:\cygwin64
    CYG_SETUP: setup-x86_64.exe
    JULIA_TEST_MAXRSS_MB: 450

# Only build on master and PR's for now, not personal branches
# Whether or not PR's get built is determined in the webhook settings
branches:
  only:
    - master
    - /^release-.*/

# Note: use `[ci skip]` or `[skip ci]` anywhere in the commit message and AppVeyor won't be
# built for that commit. You can use `[skip appveyor]` to explicitly skip AppVeyor and
# allow other CI to still run.
skip_commits:
# Add [av skip] to commit messages for docfixes, etc to reduce load on queue
  message: /\[av skip\]/
# Skip running CI for changes only to the documentation
# https://github.com/JuliaLang/julia/pull/27356#discussion_r192536676
# files:
#   - doc/

notifications:
  - provider: Email
    on_build_success: false
    on_build_failure: false
    on_build_status_changed: false

cache:
  - '%CYG_CACHE%'
  - '%CCACHE_DIR%'

init:
  - git config --global core.autocrlf input

install:
    - '%CYG_ROOT%\%CYG_SETUP% -gnq  -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_CACHE%" -P make,python2,libiconv,curl,time,p7zip,ccache,mingw64-%MINGW_ARCH%-gcc-g++,mingw64-%MINGW_ARCH%-gcc-fortran > NULL 2>&1'
    - '%CYG_ROOT%\bin\cygcheck -dc cygwin'

build_script:
  - 'echo Building Julia'
  - '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER && ./contrib/windows/appveyor_build.sh"'

test_script:
  - 'echo Testing Julia'
  - usr\bin\julia -e "Base.require(Main, :InteractiveUtils).versioninfo()"
  - usr\bin\julia --sysimage-native-code=no -e "true"
  - cd julia-* && .\bin\julia.exe --check-bounds=yes share\julia\test\runtests.jl all &&
      .\bin\julia.exe --check-bounds=yes share\julia\test\runtests.jl LibGit2/online download
  - cd ..
  - usr\bin\julia usr\share\julia\test\embedding\embedding-test.jl test\embedding\embedding.exe
back to top