Wikunia / ConstraintSolver.jl

ConstraintSolver in Julia: Blog posts ->
https://opensourc.es/blog/constraint-solver-1
MIT License
136 stars 13 forks source link

Bugfix simplify #227

Closed Wikunia closed 3 years ago

Wikunia commented 3 years ago

Fixes #226

Fixes a bug in simplify which creates additional == constraints when both == and alldifferent are active. In this case indices were used more than once to calculate the inner sum.

codecov[bot] commented 3 years ago

Codecov Report

Merging #227 (0202d92) into master (48d9b97) will increase coverage by 0.06%. The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #227      +/-   ##
==========================================
+ Coverage   96.06%   96.13%   +0.06%     
==========================================
  Files          36       36              
  Lines        3178     3181       +3     
==========================================
+ Hits         3053     3058       +5     
+ Misses        125      123       -2     
Impacted Files Coverage Δ
src/simplify.jl 98.73% <100.00%> (+0.02%) :arrow_up:
src/ConstraintSolver.jl 99.35% <0.00%> (+0.64%) :arrow_up:

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 48d9b97...0202d92. Read the comment docs.

Wikunia commented 3 years ago

Benchmark Report for ConstraintSolver

Job Properties

Results

A ratio greater than 1.0 denotes a possible regression (marked with :x:), while a ratio less than 1.0 denotes a possible improvement (marked with :white_check_mark:). Only significant results - results that indicate possible regressions or improvements - are shown below (thus, an empty table means that all benchmark results remained invariant between builds).

ID time ratio memory ratio
["killer_sudoku", "niall_5500_special"] 0.94 (5%) :white_check_mark: 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

Julia versioninfo

Target

Julia Version 1.5.0
Commit 96786e22cc (2020-08-01 23:44 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      "Arch Linux"
  uname: Linux 5.9.13-arch1-1 #1 SMP PREEMPT Tue, 08 Dec 2020 12:09:55 +0000 x86_64 unknown
  CPU: Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz: 
                 speed         user         nice          sys         idle          irq
       #1-12  1727 MHz     216002 s       2979 s      13775 s    4987339 s       1032 s

  Memory: 46.9886360168457 GB (46126.5546875 MB free)
  Uptime: 4352.0 sec
  Load Avg:  1.0703125  1.06494140625  0.73193359375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, sandybridge)

Baseline

Julia Version 1.5.0
Commit 96786e22cc (2020-08-01 23:44 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      "Arch Linux"
  uname: Linux 5.9.13-arch1-1 #1 SMP PREEMPT Tue, 08 Dec 2020 12:09:55 +0000 x86_64 unknown
  CPU: Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz: 
                 speed         user         nice          sys         idle          irq
       #1-12  1461 MHz     284222 s       2979 s      16033 s    5749694 s       1220 s

  Memory: 46.9886360168457 GB (45714.8203125 MB free)
  Uptime: 5047.0 sec
  Load Avg:  1.02099609375  1.08203125  0.94677734375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, sandybridge)