Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

epee: remove dead code in math_helper and string_tools #9038

Merged
merged 1 commit into from
Nov 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
205 changes: 6 additions & 199 deletions contrib/epee/include/math_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,213 +24,20 @@
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//




#pragma once

#include <cstdint> // uint64_t

#include <list>
#include <numeric>
#include <random>
#include <boost/timer/timer.hpp>
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/random_generator.hpp>

#include "syncobj.h"
#include "time_helper.h"
#ifdef _WIN32
#include <sysinfoapi.h> // GetSystemTimeAsFileTime
#else
#include <sys/time.h> // gettimeofday
#endif

namespace epee
{
namespace math_helper
{

template<typename val, int default_base>
class average
{
public:

average()
{
m_base = default_base;
m_last_avg_val = 0;
}

bool set_base()
{
CRITICAL_REGION_LOCAL(m_lock);

m_base = default_base;
if(m_list.size() > m_base)
m_list.resize(m_base);

return true;
}

typedef val value_type;

void push(const value_type& vl)
{
CRITICAL_REGION_LOCAL(m_lock);

//#ifndef DEBUG_STUB
m_list.push_back(vl);
if(m_list.size() > m_base )
m_list.pop_front();
//#endif
}

double update(const value_type& vl)
{
CRITICAL_REGION_LOCAL(m_lock);
//#ifndef DEBUG_STUB
push(vl);
//#endif

return get_avg();
}

double get_avg()
{
CRITICAL_REGION_LOCAL(m_lock);

value_type vl = std::accumulate(m_list.begin(), m_list.end(), value_type(0));
if(m_list.size())
return m_last_avg_val = (double)(vl/m_list.size());

return m_last_avg_val = (double)vl;
}

value_type get_last_val()
{
CRITICAL_REGION_LOCAL(m_lock);
if(m_list.size())
return m_list.back();

return 0;
}

private:
unsigned int m_base;
double m_last_avg_val;
std::list<value_type> m_list;
critical_section m_lock;
};


#ifdef WINDOWS_PLATFORM

/************************************************************************/
/* */
/************************************************************************/
class timing_guard_base
{
public:
virtual ~timing_guard_base(){};
};

template<class T>
class timing_guard: public timing_guard_base
{
public:
timing_guard(T& avrg):m_avrg(avrg)
{
m_start_ticks = ::GetTickCount();
}

~timing_guard()
{
m_avrg.push(::GetTickCount()-m_start_ticks);
}

private:
T& m_avrg;
DWORD m_start_ticks;
};

template<class t_timing>
timing_guard_base* create_timing_guard(t_timing& timing){return new timing_guard<t_timing>(timing);}

#define BEGIN_TIMING_ZONE(timing_var) { boost::shared_ptr<math_helper::timing_guard_base> local_timing_guard_ptr(math_helper::create_timing_guard(timing_var));
#define END_TIMING_ZONE() }
#endif

//#ifdef WINDOWS_PLATFORM_EX
template<uint64_t default_time_window>
class speed
{
public:

speed()
{
m_time_window = default_time_window;
m_last_speed_value = 0;
}
bool chick()
{
#ifndef DEBUG_STUB
uint64_t ticks = misc_utils::get_tick_count();
CRITICAL_REGION_BEGIN(m_lock);
m_chicks.push_back(ticks);
CRITICAL_REGION_END();
//flush(ticks);
#endif
return true;
}

bool chick(size_t count)
{
for(size_t s = 0; s != count; s++)
chick();

return true;
}


size_t get_speed()
{
flush(misc_utils::get_tick_count());
return m_last_speed_value = m_chicks.size();
}
private:

bool flush(uint64_t ticks)
{
CRITICAL_REGION_BEGIN(m_lock);
std::list<uint64_t>::iterator it = m_chicks.begin();
while(it != m_chicks.end())
{
if(*it + m_time_window < ticks)
m_chicks.erase(it++);
else
break;
}
CRITICAL_REGION_END();
return true;
}

std::list<uint64_t> m_chicks;
uint64_t m_time_window;
size_t m_last_speed_value;
critical_section m_lock;
};
//#endif

template<class tlist>
void randomize_list(tlist& t_list)
{
for(typename tlist::iterator it = t_list.begin();it!=t_list.end();it++)
{
size_t offset = rand()%t_list.size();
typename tlist::iterator it_2 = t_list.begin();
for(size_t local_offset = 0;local_offset!=offset;local_offset++)
it_2++;
if(it_2 == it)
continue;
std::swap(*it_2, *it);
}

}
template<typename get_interval, bool start_immediate = true>
class once_a_time
{
Expand Down
1 change: 0 additions & 1 deletion contrib/epee/include/string_tools.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,6 @@ namespace string_tools
return s;
}

bool validate_hex(uint64_t length, const std::string& str);
std::string get_extension(const std::string& str);
std::string cut_off_extension(const std::string& str);

Expand Down
10 changes: 0 additions & 10 deletions contrib/epee/src/string_tools.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,16 +82,6 @@ namespace string_tools
return true;
}
//----------------------------------------------------------------------------
bool validate_hex(uint64_t length, const std::string& str)
{
if (str.size() != length)
return false;
for (char c: str)
if (!isxdigit(c))
return false;
return true;
}
//----------------------------------------------------------------------------
bool parse_peer_from_string(uint32_t& ip, uint16_t& port, const std::string& addres)
{
//parse ip and address
Expand Down
1 change: 1 addition & 0 deletions src/blockchain_utilities/blockchain_stats.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
#include "cryptonote_basic/cryptonote_boost_serialization.h"
#include "cryptonote_core/cryptonote_core.h"
#include "blockchain_db/blockchain_db.h"
#include "time_helper.h"
#include "version.h"

#undef MONERO_DEFAULT_LOG_CATEGORY
Expand Down
1 change: 1 addition & 0 deletions src/cryptonote_basic/miner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
#include "string_coding.h"
#include "string_tools.h"
#include "storages/portable_storage_template_helper.h"
#include "time_helper.h"
#include "boost/logic/tribool.hpp"
#include <boost/filesystem.hpp>

Expand Down
1 change: 1 addition & 0 deletions src/cryptonote_protocol/cryptonote_protocol_handler.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@

#include "byte_slice.h"
#include "math_helper.h"
#include "syncobj.h"
#include "storages/levin_abstract_invoke2.h"
#include "warnings.h"
#include "cryptonote_protocol_defs.h"
Expand Down
1 change: 0 additions & 1 deletion src/p2p/net_node.inl
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@
#include "common/dns_utils.h"
#include "common/pruning.h"
#include "net/error.h"
#include "math_helper.h"
#include "misc_log_ex.h"
#include "p2p_protocol_defs.h"
#include "crypto/crypto.h"
Expand Down
1 change: 0 additions & 1 deletion src/wallet/wallet_rpc_server.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
#include <string>
#include "common/util.h"
#include "net/http_server_impl_base.h"
#include "math_helper.h"
#include "wallet_rpc_server_commands_defs.h"
#include "wallet2.h"

Expand Down