[Arith] linear system and equation solver (#5171)
authorYizhi Liu <liuyizhi@apache.org>
Fri, 10 Apr 2020 15:11:21 +0000 (08:11 -0700)
committerGitHub <noreply@github.com>
Fri, 10 Apr 2020 15:11:21 +0000 (08:11 -0700)
commite21f26827c1b4df9564216cd1e8b9d7b018577c6
tree36954bb771e11fc990d875b661fbda7451a66625
parentb236565e6bce8b01d178e6c4985ef591e8351db2
[Arith] linear system and equation solver (#5171)

* [arith] linear system and equation solver

Co-authored-by: Sergei Grechanik <sergei.grechanik+h@gmail.com>
* avoid constructing analyzer every time

* generate random test cases and address comments

Co-authored-by: Sergei Grechanik <sergei.grechanik@gmail.com>
* rename linear_system to int_constraints

* add comments and use random seed

* message for reporting failure with seed

* add SEqualReduce to IntConstraints; allow variables & ranges to be None

Co-authored-by: Sergei Grechanik <sergei.grechanik+h@gmail.com>
Co-authored-by: Sergei Grechanik <sergei.grechanik@gmail.com>
include/tvm/arith/analyzer.h
include/tvm/arith/int_solver.h [new file with mode: 0644]
include/tvm/arith/util.h [new file with mode: 0644]
python/tvm/arith/__init__.py
python/tvm/arith/int_solver.py [new file with mode: 0644]
src/arith/analyzer.cc
src/arith/int_constraints.cc [new file with mode: 0644]
src/arith/solve_linear_equation.cc [new file with mode: 0644]
src/arith/util.cc [new file with mode: 0644]
tests/python/unittest/test_arith_solve_linear_system.py [new file with mode: 0644]