potassco / potassco/constraint-handler
Inconsistent integer division
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3
- Forks
- 0
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 20
Description
int_div(7,-2) gives -3 for the compile engine and -4 for ground and propagator. compile2 gives unsat. The reason is that compile uses the C definition (via clingo's grounder) and Python's definition differs from the C definition when exactly one argument is negative.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing int_div in the compile engine, grounder, and propagator paths, then compare their handling of 7 and -2 with compile2. Determine which integer-division behavior should be shared across engines and verify that the inconsistent result and compile2 unsat outcome are resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100