Commit 365bd7b
committed
SMT-LIB2: shifts with wider shift distances
This fixes the case of converting shifts where the shift distance is wider
than the shift operand to SMT-LIB2.
SMT-LIB2 requires that the width of the shift operand and the shift distance
is the same. To not lose leading bits of the shift distance, use the
wider one of the two as the width of the shift, and truncate the result
when needed.1 parent af0b511 commit 365bd7b
File tree
2 files changed
+131
-24
lines changed- src/solvers/smt2
- unit/solvers/smt2
2 files changed
+131
-24
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1801 | 1801 | | |
1802 | 1802 | | |
1803 | 1803 | | |
1804 | | - | |
1805 | | - | |
1806 | | - | |
1807 | | - | |
1808 | | - | |
1809 | | - | |
1810 | | - | |
1811 | | - | |
1812 | | - | |
1813 | | - | |
1814 | | - | |
1815 | | - | |
1816 | 1804 | | |
1817 | 1805 | | |
1818 | 1806 | | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
1819 | 1819 | | |
1820 | 1820 | | |
1821 | 1821 | | |
| |||
1825 | 1825 | | |
1826 | 1826 | | |
1827 | 1827 | | |
| 1828 | + | |
| 1829 | + | |
| 1830 | + | |
| 1831 | + | |
1828 | 1832 | | |
| 1833 | + | |
1829 | 1834 | | |
1830 | 1835 | | |
1831 | 1836 | | |
1832 | 1837 | | |
1833 | 1838 | | |
1834 | 1839 | | |
1835 | | - | |
1836 | | - | |
| 1840 | + | |
| 1841 | + | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
| 1845 | + | |
| 1846 | + | |
1837 | 1847 | | |
1838 | | - | |
| 1848 | + | |
| 1849 | + | |
| 1850 | + | |
| 1851 | + | |
| 1852 | + | |
| 1853 | + | |
1839 | 1854 | | |
1840 | | - | |
| 1855 | + | |
| 1856 | + | |
| 1857 | + | |
1841 | 1858 | | |
1842 | | - | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
1843 | 1863 | | |
1844 | | - | |
| 1864 | + | |
| 1865 | + | |
1845 | 1866 | | |
1846 | | - | |
| 1867 | + | |
1847 | 1868 | | |
1848 | | - | |
| 1869 | + | |
| 1870 | + | |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
| 1874 | + | |
| 1875 | + | |
| 1876 | + | |
| 1877 | + | |
| 1878 | + | |
| 1879 | + | |
| 1880 | + | |
| 1881 | + | |
| 1882 | + | |
| 1883 | + | |
| 1884 | + | |
| 1885 | + | |
| 1886 | + | |
| 1887 | + | |
| 1888 | + | |
1849 | 1889 | | |
1850 | | - | |
| 1890 | + | |
| 1891 | + | |
1851 | 1892 | | |
1852 | 1893 | | |
1853 | 1894 | | |
| |||
1856 | 1897 | | |
1857 | 1898 | | |
1858 | 1899 | | |
1859 | | - | |
1860 | | - | |
1861 | 1900 | | |
1862 | 1901 | | |
1863 | 1902 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
4 | 6 | | |
5 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
6 | 74 | | |
7 | 75 | | |
8 | 76 | | |
| |||
0 commit comments