mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 02:15:19 +00:00
46 lines
1,013 B
C++
46 lines
1,013 B
C++
/*++
|
|
Copyright (c) 2011 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
statistics.h
|
|
|
|
Abstract:
|
|
|
|
Wrapper for reporting statistics
|
|
|
|
Author:
|
|
|
|
Leonardo (leonardo) 2011-05-17
|
|
|
|
Notes:
|
|
|
|
--*/
|
|
#ifndef _STATISTICS_H_
|
|
#define _STATISTICS_H_
|
|
|
|
#include<iostream>
|
|
#include"vector.h"
|
|
|
|
class statistics {
|
|
typedef std::pair<char const *, unsigned> key_val_pair;
|
|
svector<key_val_pair> m_stats;
|
|
typedef std::pair<char const *, double> key_d_val_pair;
|
|
svector<key_d_val_pair> m_d_stats;
|
|
public:
|
|
void copy(statistics const & st);
|
|
void reset();
|
|
void update(char const * key, unsigned inc);
|
|
void update(char const * key, double inc);
|
|
void display(std::ostream & out) const;
|
|
void display_smt2(std::ostream & out) const;
|
|
void display_internal(std::ostream & out) const;
|
|
unsigned size() const;
|
|
bool is_uint(unsigned idx) const;
|
|
char const * get_key(unsigned idx) const;
|
|
unsigned get_uint_value(unsigned idx) const;
|
|
double get_double_value(unsigned idx) const;
|
|
};
|
|
|
|
#endif
|