summaryrefslogtreecommitdiff
path: root/test/unit/util
AgeCommit message (Collapse)Author
2021-04-15Rename occurrences of CVC4 to CVC5. (#6351)Aina Niemetz
This renames everything but GitHub links and build system related macros. Switching the build system to cvc5 will be the last step in the renaming process.
2021-04-14Refactor / reimplement statistics (#6162)Gereon Kremer
This PR refactors how we collect statistics. It splits the current statistic values into the values and a proxy object. The actual values now live inside the registry (making the ownership model way easier) while the proxy object are handed to whoever wants to collect a new statistic. It also extends the C++ API to obtain and inspect the statistics. To change the ownership, this PR needs to touch every single statistic in the whole codebase and change how it is registered.
2021-04-12Refactor and update copyright headers. (#6316)Aina Niemetz
2021-04-09Rename CVC4_ macros to CVC5_. (#6327)Aina Niemetz
2021-04-07Replace calls to NodeManager::mkSkolem with SkolemManager::mkDummySkolem (#6291)Andrew Reynolds
This is in preparation for refactoring skolem creation throughout the code base to improve proofs and migrate Theory::expandDefinitions to Rewriter::expandDefinitions. This PR also eliminates some unused code in TheoryArithPrivate. Followup PRs will start formalizing/eliminating calls to mkDummySkolem.
2021-04-06Remove template argument from `NodeBuilder` (#6290)Andres Noetzli
Currently, NodeBuilder takes a single template argument: An integer that determines the expected number of arguments. This argument is used to determine the size of the d_inlineNvChildSpace array. This array is used to construct nodes inline. The advantage of this is that we don't have to allocate a NodeValue on the heap for the node under construction until we are sure that the node is new. While templating the array size may save some stack space (or avoid a heap allocation if we statically know that we a fixed number of children and that number is greater than 10), it complicates the code and leads to longer compile times. Thus, this commit removes the template argument and moves some of the NodeBuilder code to a source file for faster compilation. CPU build time before change (debug build): 2429.68s CPU build time after change (debug build): 2228.44s Signed-off-by: Andres Noetzli noetzli@amazon.com
2021-04-01Rename namespace CVC5 to cvc5. (#6258)Aina Niemetz
2021-03-31Rename namespace CVC4 to CVC5. (#6249)Aina Niemetz
2021-03-19BitVector: Change setBit to set the bit in place. (#6176)Aina Niemetz
Creating BitVectors (and deleting them) is in general expensive because of the underlying multi-precision Integer. If possible, unnecessary constructions and desctructions of BitVectors should be avoided. The most common use case for `setBit` is that for an existing BitVector, a given bit should be set to a certain value. Not doing this in place generates unnecessary constructions and destructions of BitVectors.
2021-03-15Replace HistogramStat by IntegralHistogramStat (#6126)Gereon Kremer
This PR uses IntegralHistogramStat instead of HistogramStat when appropriate, that is everywhere.
2021-03-11First refactoring of statistics classes (#6105)Gereon Kremer
This PR does a first round of refactoring on the statistics, in particular the Stat class and derived classes. It significantly shrinks the class hierarchy, modernizes some code (e.g. use std::chrono instead of clock_gettime), removes unused features (e.g. nesting of statistics) and does some general cleanup and consolidation. Subsequent PRs are planned to change the ownership model (right now every module owns the Stat object) which makes the whole register / unregister mechanism obsolete.
2021-03-11Delete Expr layer. (#6117)Aina Niemetz
2021-03-10test: Fix missing std::. (#6096)Mathias Preiner
2021-03-09Update copyright headers to 2021. (#6081)Aina Niemetz
2021-03-05google test: Remove obsolete Expr test fixtures. (#6060)Aina Niemetz
2021-03-04Fix nightlies. (#6052)Aina Niemetz
2021-03-04Fix nightlies. (#6048)Aina Niemetz
2021-03-03More cleanup of includes to reduce compilation times (#6037)Gereon Kremer
Similar to #6031, this PR implements suggestions from iwyu to reduce the number of includes in header files by introducing forward declarations and moving includes to source files.
2021-03-02Remove obsolete dependency on CxxTest. (#6038)Aina Niemetz
2021-03-02Clean up includes to reduce compile times (#6031)Gereon Kremer
This PR cleans up a ton of includes, based on the suggestions of iwyu. Mostly, it removes includes from header files in favor of forward declarations and adds includes to source files.
2021-03-02google test: util: Migrate floatingpoint_black. (#6021)Aina Niemetz
2021-03-01google test: util: Migrate bitvector_black. (#6015)Aina Niemetz
2021-03-01google test: util: Migrate stats_black. (#6029)Aina Niemetz
2021-03-01google test: util: Migrate real_algebraic_number_black. (#6028)Aina Niemetz
2021-03-01google test: util: Migrate rational_white. (#6027)Aina Niemetz
2021-03-01google test: util: Migrate rational_black. (#6026)Aina Niemetz
2021-03-01google test: util: Migrate output_black. (#6025)Aina Niemetz
2021-03-01google test: util: Migrate integer_black. (#6023)Aina Niemetz
2021-03-01google test: util: Migrate datatype_black. (#6019)Aina Niemetz
2021-03-01google test: util: Migrate configuration_black. (#6018)Aina Niemetz
2021-03-01google test: util: Migrate boolean_simplification_black. (#6014)Aina Niemetz
2021-03-01google test: util: Migrate array_store_all_white. (#6008)Aina Niemetz
2021-03-01google test: util: Migrate integer_white. (#6024)Aina Niemetz
2021-02-27google test: util: Migrate exception_black. (#6020)Aina Niemetz
2021-02-27google test: util: Migrate check_white. (#6017)Aina Niemetz
2021-02-27google test: util: Migrate cardinality_black. (#6016)Aina Niemetz
2021-02-26google test: util: Migrate binary_heap_black. (#6012)Aina Niemetz
2021-02-26google test: util: Migrate assert_white. (#6011)Aina Niemetz
2021-02-17Add new IntegralHistogramStat (#5898)Gereon Kremer
This PR adds a new statistics class that improves on HistogramStat if we know that the type is integral (also supporting enums). Instead of using a comparably slow std::map like HistogramStat, IntegralHistogramStat uses a std::vector that is resized appropriately. The integral values are simply cast to std::int64_t and used as indices into the vector.
2021-01-11Further simplifications in preparation for removing Expr layer (#5756)Andrew Reynolds
This deletes variable flags from NodeManager::mkVar and moves ExprManager sort flags to NodeManager. These flags are used for determining when a variable or sort should be printed via the old dump infrastructure. The old dump infrastructure is simplified in this PR accordingly. This PR should preserve behavior of the previous dumping with a minor exception that the internal trace "declarations" will also included symbols introduced from define-fun. This will be further refactored later. This is in preparation for removing the includes expr.h/expr_manager.h from node_manager.h.
2020-12-02Update copyright headers.Aina Niemetz
2020-12-02Rename macro Message to CVC4Message. (#5576)Aina Niemetz
2020-12-01google test: Infrastructure and first api test. (#5548)Aina Niemetz
This sets up the infrastructure for migrating unit tests from CxxTest to Google Test. It further migrates api/datatype_api_black to the new infrastructure.
2020-10-07fix unit failures on debug without symfpu (#5212)yoni206
The following tests fail (locally) when compiling with debug and without symfpu: unit/api/sort_black (Failed) unit/theory/logic_info_white (Failed) unit/util/floatingpoint_black (Child aborted) This PR conditions the relevant parts of these tests to the availability of symfpu. Co-authored-by: Aina Niemetz <aina.niemetz@gmail.com>
2020-10-01FloatingPoint: Add utility functions for largest and smallest normal. (#5174)Aina Niemetz
2020-09-30BitVector: Extend interface of setBit to set it to a specific value. (#5173)Aina Niemetz
Previously, BitVector::setBit only allowed to set the bit at the given index to 1. This changes its behavior to be also able to set it to 0.
2020-09-30FloatingPoint: Add utility functions for largest and smallest subnormal. (#5166)Aina Niemetz
2020-09-22Update copyright header script to support CMake and Python files (#5067)Mathias Preiner
This PR updates the update-copyright.pl script to also update/add copyright headers to CMake specific files. It further fixes a small typo in the header.
2020-08-06Updates not related to creation for eliminating Expr-level datatype (#4838)Andrew Reynolds
This updates remaining uses of the Expr-level Datatype that are not related to their creation / memory management in ExprManager. This required updating a unit test from Expr -> Node.
2020-07-17Replace options listener infrastructure (#4764)Andrew Reynolds
This replaces the old options listener infrastructure with the OptionsManager introduced in cb8d041. It eliminates a "beforeSearchListener", which was a custom way of some options throwing a modal exception if they were set after initialization. Now all options are consistent: no option can be set after initialization. It also moves managed ostream objects to the OptionsManager. @mpreiner The next step will be to remove the "notifies" field from the Options build system and then proceed with cleaning src/options/.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback