#include <polynomial_accelerator.h>
|
| polynomial_acceleratort (message_handlert &message_handler, const symbol_table_baset &_symbol_table, const goto_functionst &_goto_functions, guard_managert &guard_manager) |
|
| polynomial_acceleratort (message_handlert &message_handler, const symbol_table_baset &_symbol_table, const goto_functionst &_goto_functions, exprt &_loop_counter, guard_managert &guard_manager) |
|
bool | accelerate (patht &loop, path_acceleratort &accelerator) |
|
bool | fit_polynomial (goto_programt::instructionst &loop_body, exprt &target, polynomialt &polynomial) |
|
|
bool | fit_polynomial_sliced (goto_programt::instructionst &sliced_body, exprt &target, expr_sett &influence, polynomialt &polynomial) |
|
void | assert_for_values (scratch_programt &program, std::map< exprt, int > &values, std::set< std::pair< expr_listt, exprt >> &coefficients, int num_unwindings, goto_programt::instructionst &loop_body, exprt &target, overflow_instrumentert &overflow) |
|
void | extract_polynomial (scratch_programt &program, std::set< std::pair< expr_listt, exprt >> &coefficients, polynomialt &polynomial) |
|
void | cone_of_influence (goto_programt::instructionst &orig_body, exprt &target, goto_programt::instructionst &body, expr_sett &influence) |
|
bool | fit_const (goto_programt::instructionst &loop_body, exprt &target, polynomialt &polynomial) |
|
bool | check_inductive (std::map< exprt, polynomialt > polynomials, goto_programt::instructionst &body) |
|
void | stash_polynomials (scratch_programt &program, std::map< exprt, polynomialt > &polynomials, std::map< exprt, exprt > &stashed, goto_programt::instructionst &body) |
|
exprt | precondition (patht &path) |
|
bool | do_assumptions (std::map< exprt, polynomialt > polynomials, patht &body, exprt &guard) |
|
bool | do_arrays (goto_programt::instructionst &loop_body, std::map< exprt, polynomialt > &polynomials, substitutiont &substitution, scratch_programt &program) |
|
expr_pairst | gather_array_assignments (goto_programt::instructionst &loop_body, expr_sett &arrays_written) |
|
bool | array_assignments2polys (expr_pairst &array_assignments, std::map< exprt, polynomialt > &polynomials, polynomial_array_assignmentst &array_polynomials, polynomialst &nondet_indices) |
|
bool | expr2poly (exprt &expr, std::map< exprt, polynomialt > &polynomials, polynomialt &poly) |
|
void | ensure_no_overflows (goto_programt &program) |
|
Definition at line 28 of file polynomial_accelerator.h.
◆ expr_pairst
◆ expr_pairt
◆ polynomial_array_assignmentst
◆ polynomial_array_assignmentt
◆ polynomial_acceleratort() [1/2]
◆ polynomial_acceleratort() [2/2]
◆ accelerate()
◆ array_assignments2polys()
◆ assert_for_values()
◆ check_inductive()
◆ cone_of_influence()
◆ do_arrays()
◆ do_assumptions()
◆ ensure_no_overflows()
void polynomial_acceleratort::ensure_no_overflows |
( |
goto_programt & |
program | ) |
|
|
protected |
◆ expr2poly()
◆ extract_polynomial()
◆ fit_const()
◆ fit_polynomial()
◆ fit_polynomial_sliced()
◆ gather_array_assignments()
◆ precondition()
exprt polynomial_acceleratort::precondition |
( |
patht & |
path | ) |
|
|
protected |
◆ stash_polynomials()
◆ goto_functions
◆ guard_manager
◆ loop_counter
exprt polynomial_acceleratort::loop_counter |
|
protected |
◆ message_handler
◆ nonrecursive
expr_sett polynomial_acceleratort::nonrecursive |
|
protected |
◆ ns
◆ symbol_table
◆ utils
The documentation for this class was generated from the following files: