mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
add tests for distribution utility and fix loose ends
This commit is contained in:
parent
1a70ac75df
commit
624907823d
4 changed files with 57 additions and 6 deletions
|
@ -29,6 +29,7 @@ add_executable(test-z3
|
|||
datalog_parser.cpp
|
||||
ddnf.cpp
|
||||
diff_logic.cpp
|
||||
distribution.cpp
|
||||
dl_context.cpp
|
||||
dl_product_relation.cpp
|
||||
dl_query.cpp
|
||||
|
|
45
src/test/distribution.cpp
Normal file
45
src/test/distribution.cpp
Normal file
|
@ -0,0 +1,45 @@
|
|||
/*++
|
||||
Copyright (c) 2023 Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
distribution.cpp
|
||||
|
||||
Abstract:
|
||||
|
||||
Test distribution
|
||||
|
||||
Author:
|
||||
|
||||
Nikolaj Bjorner (nbjorner) 2023-04-13
|
||||
|
||||
|
||||
--*/
|
||||
#include "util/distribution.h"
|
||||
#include <iostream>
|
||||
|
||||
static void tst1() {
|
||||
distribution dist(1);
|
||||
dist.push(1, 3);
|
||||
dist.push(2, 1);
|
||||
dist.push(3, 1);
|
||||
dist.push(4, 1);
|
||||
|
||||
unsigned counts[4] = { 0, 0, 0, 0 };
|
||||
for (unsigned i = 0; i < 1000; ++i)
|
||||
counts[dist.choose()-1]++;
|
||||
for (unsigned i = 1; i <= 4; ++i)
|
||||
std::cout << "count " << i << ": " << counts[i-1] << "\n";
|
||||
|
||||
for (unsigned i = 0; i < 5; ++i) {
|
||||
std::cout << "enum ";
|
||||
for (auto j : dist)
|
||||
std::cout << j << " ";
|
||||
std::cout << "\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void tst_distribution() {
|
||||
tst1();
|
||||
}
|
|
@ -264,4 +264,5 @@ int main(int argc, char ** argv) {
|
|||
//TST_ARGV(hs);
|
||||
TST(finder);
|
||||
TST(totalizer);
|
||||
TST(distribution);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue