3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-31 16:33:18 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-25 13:13:25 -07:00
parent 785c9a18ca
commit 9ea1cf3c5c
8 changed files with 497 additions and 4 deletions

39
src/ast/value_generator.h Normal file
View file

@ -0,0 +1,39 @@
/*++
Copyright (c) 2020 Microsoft Corporation
Module Name:
value_generatorr.h
Abstract:
Generate mostly different values using index as seed.
Author:
Nikolaj Bjorner 2020-04-25
--*/
#pragma once
#include "util/scoped_ptr_vector.h"
#include "ast/ast.h"
class value_generator_core {
public:
virtual ~value_generator_core() {}
virtual family_id get_fid() const = 0;
virtual expr_ref get_value(sort* s, unsigned index) = 0;
};
class value_generator {
ast_manager& m;
scoped_ptr_vector<value_generator_core> m_plugins;
void add_plugin(value_generator_core* g);
void init();
public:
value_generator(ast_manager& m);
expr_ref get_value(sort* s, unsigned index);
};