Uploading files to Git

This commit is contained in:
2025-08-20 20:40:24 +02:00
parent 2ed89ad137
commit 934aea9346
345 changed files with 149802 additions and 1 deletions
+105
View File
@@ -0,0 +1,105 @@
#ifndef _vector_n_
#define _vector_n_
#include "iostream"
#include <vector>
#include <random>
namespace utils{
//#######################################
//# VECTOR TYPE #
//#######################################
template<typename T>
struct Vector{
std::vector<T> v;
void fill(const uint64_t size, const T num){
v.clear();
for (uint64_t i = 0; i < size; i++)
{
v.push_back(num);
}
}
void fill_RNG(const uint64_t size, const double min, const double max){
v.clear();
std::mt19937_64 rng{};
rng.seed( std::random_device{}());
for (uint64_t i = 0; i < size; i++){
v.push_back(std::uniform_real_distribution<>{min, max}(rng));
}
}
void disturbance(const double min, const double max){
uint64_t size = v.size();
std::mt19937_64 rng{};
rng.seed(std::random_device{}());
for (uint64_t i = 0; i < size; i++){
v[i] *= std::uniform_real_distribution<>{min, max}(rng);
}
}
double max(){
double max_value = v[0];
for (uint64_t i = 1; i < v.size(); i++){
max_value = MAX(max_value, v[i]);
}
return max_value;
}
double min(){
double min_value = v[0];
for (uint64_t i = 1; i < v.size(); i++){
min_value = MIN(min_value, v[i]);
}
return min_value;
}
double sum() const {
double sum_value = 0;
for (uint64_t i = 0; i < v.size(); i++){
sum_value += v[i];
}
return sum_value;
}
double mean(){
double mean_value = sum()/v.size();
return mean_value;
}
inline friend std::ostream& operator << (std::ostream& out, const Vector& vec){
out << "[";
for (uint64_t i = 0; i < vec.v.size(); i++){
out << vec.v[i];
if (i != vec.v.size() - 1) {
out << ", ";
}
}
out << "]";
return out;
}
void print() const{
std::cout << *this << std::endl;
}
};
typedef Vector<int> Vi;
typedef Vector<float> Vf;
typedef Vector<double> Vd;
} // namespace utils
#endif // _numerics_n_