More Related Content
Similar to Tools.cpp (20)
More from Vorname Nachname (12)
Tools.cpp
- 1. tools.cpp
#include "tools.hpp"
#include <iostream>
#include <fstream>
#include <cmath>
#include <cstdlib>
void ProgressBar(int it, int num_iterations) {
std::cout << "r" << (double)it * 100 / num_iterations + 1 << "%" <<
std::flush;
}
std::string IntToString(int i) {
if (i < 0)
{
i = i*(-1);
}
int lenght = int(log(i+1)/log(10)+1);
char buffer[lenght];
sprintf(buffer, "%d", i);
return buffer;
}
bool BernoulliDistr(double P) {
double rnd = drand48();
if (rnd < P) return true;
else return false;
}
int Distance(int x1, int y1, int x2, int y2, int grid_size) {
int dx = fabs(x1 - x2);
if (dx > grid_size/2) dx = grid_size - dx;
int dy = fabs(y1 - y2);
if (dy > grid_size/2) dy = grid_size - dy;
return dx + dy;
}
double NormalDistr(double my, double sigma) {
double u = drand48();
double v = drand48();
double snormal = cos(2*3.141592654*u)*sqrt(-2*log(v));
return sigma*snormal+my;
}
double LogNormal(double ev, double var) {
double sigma = sqrt(log(var/(ev*ev) + 1));
double my = log(ev) - sigma*sigma / 2;
Seite 1