Nuno Lopes
ef58376c14
replace a few old-school constructors for a 0.5% reduction in code size
...
don't waste those 128 KB!
2024-09-02 16:13:46 +01:00
Nikolaj Bjorner
a3eb2ff58d
revert update to vector for testing #6902
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-30 17:43:15 -07:00
Nikolaj Bjorner
a1bcf136a6
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-30 17:34:54 -07:00
Zhang
c1454dc31c
Fix building with Windows SDK and Clang-CL ( #7337 )
...
* Fix building with Windows SDK and Clang-CL
* Attempt to add Clang-CL to CI build configurations
* Fix typo
* Enable EHsc explicitly when using ClangCL due to it being default turned-off
* Override CMAKE_<LANG>_FLAGS instead due to Z3 resets the _INIT variants
2024-08-15 13:08:38 -07:00
LiviaSun
7c30cbfe48
add scoped_vector invariants and unit tests ( #7327 )
...
* add scoped vector unit test
* fix dlist tests
* add new scoped vector invariants
* remove all loop invariants
2024-08-02 19:21:40 -07:00
LiviaSun
d2fc085b8c
update heap unit tests ( #7324 )
...
* new heap invariants
* change ENSURE to SASSERT for unit test heap
* change SASSERT to VERIFY
* update heap tests
* update
* remove one invariant
2024-08-02 18:29:50 -07:00
LiviaSun
6ba25b888b
add permutation unit tests ( #7300 )
...
* add permutation unit tests
* update test
* update
* Update permutation.cpp
fix macos build
---------
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-01 12:56:26 -07:00
Nikolaj Bjorner
5fcc50f606
Revert "add scoped vector unit test ( #7307 )" ( #7317 )
...
This reverts commit 2ae3d87b21
.
2024-07-30 11:34:02 -07:00
LiviaSun
2ae3d87b21
add scoped vector unit test ( #7307 )
...
* add scoped vector unit test
* fix dlist tests
* add new scoped vector invariants
2024-07-29 11:08:54 -07:00
Nikolaj Bjorner
966c9a3764
Revert "new heap invariants ( #7298 )" ( #7303 )
...
This reverts commit 80ac7b3438
.
2024-07-21 21:07:09 -07:00
LiviaSun
49dc1bb721
add new permutation class invariant ( #7299 )
...
* new heap invariants
* change ENSURE to SASSERT for unit test heap
* change SASSERT to VERIFY
* new permutation invariant
* remove heap changes
* use bool_vector
2024-07-19 19:27:23 -07:00
Nikolaj Bjorner
5003d41cdb
Revert "New invariant for dlist ( #7294 )" ( #7301 )
...
This reverts commit cf4d0e74a5
.
2024-07-19 19:11:54 -07:00
LiviaSun
80ac7b3438
new heap invariants ( #7298 )
...
* new heap invariants
* change ENSURE to SASSERT for unit test heap
* change SASSERT to VERIFY
2024-07-19 14:03:21 -07:00
LiviaSun
bc636d7ee0
new hashtable.h invariants ( #7296 )
...
* add copyright for dlist unit test
* new hashtable invariants
* add copyright
2024-07-19 14:01:42 -07:00
LiviaSun
cf4d0e74a5
New invariant for dlist ( #7294 )
...
* unit tests for dlist.h
* new invariant for dlist: should be circular. avoid infinite loop
* remove dlist test commit
* format
* format
* Update dlist.h
---------
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-07-18 10:06:58 -07:00
LiviaSun
b0069010f8
add new ema invariant ( #7288 )
2024-07-15 13:07:12 -07:00
Nikolaj Bjorner
8fe357f1f2
Nlsat simplify ( #7227 )
...
* dev branch for simplification
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bug fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bugfixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix factorization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* separate out simplification functionality
* reorder initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reorder initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Update README.md
* initial warppers for seq-map/seq-fold
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* expose fold as well
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add C++ bindings for sequence operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add abs function to API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add parameter validation to ternary and 4-ary functions for API #7219
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add pre-processing and reorder
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add pre-processing and reorder
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---------
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-14 22:19:33 -07:00
Nikolaj Bjorner
b0222cbdaa
temper warning messages from uninitalized pointers
2024-04-30 17:00:49 -07:00
Nuno Lopes
918ac2b176
fix #7196 : make the code C++23 compatible
...
Nikolaj is now more bleeding edge than I am...
I must be getting old? (˘・_・˘)
2024-04-01 17:25:50 +01:00
Steven Moy
111fcb9366
Implement API to set exit action to exception ( #7192 )
...
* Implement API to set exit action to exception
* Turn on exit_action_to_throw_exception upon API context creation
2024-03-27 19:06:58 -07:00
向阳
a9054bc73b
fix warning C4244 in util.h ( #7171 )
...
Add a static cast to avoid warning C4244 on MSVC
2024-03-20 09:31:23 +00:00
cctv130
18365907a2
Update util.h ( #7169 )
2024-03-17 20:29:27 -07:00
Nikolaj Bjorner
2b14793213
#7117
...
probably overflow of unsigned for large capacity
2024-02-14 17:08:09 +07:00
Bruce Mitchener
155dfb10c4
Fix some typos in identifiers. ( #7118 )
2024-02-14 09:25:32 +07:00
Nikolaj Bjorner
548be4c1f9
add explicit move constructor to deal with unit test regression test-z3 algebraic on Windows/debug -
...
it uses copy constructor instead of move when returning a scoped_anum in functions such as power and root.
This leads to freeing memory that gets passed as return value.
The copy constructor for scoped_numeral is also suspicious because it doesn't ensure memory ownership.
2024-01-20 12:59:58 -08:00
Nikolaj Bjorner
a2993f7457
encapsulate mpz a bit more
2024-01-20 12:59:58 -08:00
Nikolaj Bjorner
59b18d4a14
create as_bin as_hex wrappers for display
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 09:19:22 -08:00
Jakob Rath
ec2b8eb4ca
Merge shared parts from polysat branch ( #7063 )
...
* sat_literal: make constants constexpr
* dlist: rename elem -> list
* tbv: use get_bit
* additional pdd and rational tests
* egraph: callback setters take functions by value
This allows to set callbacks without defining a separate variable for
the callback lambda.
(previous usage does one copy of the function, exactly as before)
* cmake: enable compiler error when non-void function does not return value
2023-12-28 11:11:53 -08:00
Nuno Lopes
ab22e763d7
some code simplifications in mpn
...
plus remove duplicated assertion
2023-12-22 15:29:04 +00:00
Nuno Lopes
766f5f04c0
reduce memory allocs in params
2023-12-21 23:27:28 +00:00
Nuno Lopes
b2d5c24c1d
remove a few string copies
2023-12-20 16:55:09 +00:00
Jakob Rath
97d450868e
Vector updates from polysat branch ( #7066 )
...
* vector: add erase_if
* vector: generalize operator<<
* vector: fix missing destructor call
2023-12-19 08:58:55 -08:00
Jakob Rath
4c9f705cd1
tptr: add pointer tagging templates ( #7067 )
2023-12-19 08:58:32 -08:00
Nikolaj Bjorner
085b5e2588
port Jakob's update to union_find from polysat branch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 09:25:24 -08:00
Bruce Mitchener
50e0fd3ba6
Use noexcept
more. ( #7058 )
2023-12-16 12:14:53 +00:00
Nikolaj Bjorner
9293923b8a
Add intblast solver
2023-12-15 13:50:38 -08:00
Bruce Mitchener
3ebec56880
tptr.h: Include <cstdint>
once rather than twice. ( #7051 )
2023-12-13 09:36:41 -08:00
Nikolaj Bjorner
70d4f32ffd
port updates from poly/polysat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-09 13:00:43 -08:00
Nikolaj Bjorner
e580c384b8
import updates to rational from polysat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-09 12:46:06 -08:00
Nikolaj Bjorner
1d6616afac
make var-queue a template
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-05 15:41:35 -08:00
Nikolaj Bjorner
8a0dec1a4b
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-30 14:08:29 -08:00
Nikolaj Bjorner
b52fd8d954
add EUF plugin framework.
...
plugin setting allows adding equality saturation within the E-graph propagation without involving externalizing theory solver dispatch. It makes equality saturation independent of SAT integration.
Add a special relation operator to support ad-hoc AC symbols.
2023-11-30 13:58:30 -08:00
Christoph M. Wintersteiger
9d57bdd2ef
Assorted fixes for floats ( #6968 )
...
* Improve 4be26eb543
* Add-on to 0f4f32c5d0
* Fix mk_numeral
* Fix corner-case in fp.div
* Fixes for corner-cases in mk_to_fp_(un)signed
* Fix out-of-range results in mpf_manager::fma
* Further adjustments for fp.to_fp_(un)signed
* fp.to_fp from real can't be NaN
* fp.to_fp from reals: add bounds
* Fix NaN encodings in theory_fpa.
* Fix fp.fma rounding with tiny floats
* Fix literal creation order in theory_fpa
2023-10-29 17:29:42 -07:00
Nuno Lopes
fcb03aa56c
minor code simplification
2023-10-11 01:38:03 +01:00
Nikolaj Bjorner
e8e636c3ec
fix #6936
2023-10-10 13:42:21 -07:00
Lev Nachmanson
bf3817ef7c
restore move_non_basic_to_bounds
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-05 18:14:52 -07:00
Nikolaj Bjorner
2297b0334b
re-introduce simple implementation of linear monomial propagation for evaluation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 23:53:14 -07:00
Nikolaj Bjorner
6559e5fb32
port over std_vector and std-allocator functionality from monomial propagation branch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 21:15:07 -07:00
Nikolaj Bjorner
5e3df9ee77
Arith min max ( #6864 )
...
* prepare for dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* snapshot
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* pass in u_dependency_manager
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* address NYIs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring names
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* eq_explanation update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add outline of bounds improvement functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove unused structs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* convert more internals to use u_dependency instead of constraint_index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* convert more internals to use u_dependency instead of constraint_index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remember to push/pop scopes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use the main function for updating bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove reset of shared dep manager
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable improve-bounds, add statistics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---------
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-19 17:44:09 -07:00
Nikolaj Bjorner
6366f8f6b2
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-13 14:05:07 -07:00