This commit is contained in:
2025-08-29 18:02:31 +02:00
parent f3d4ef1741
commit 795617f3fd
8 changed files with 230 additions and 111 deletions
+31
View File
@@ -12,8 +12,23 @@ namespace utils{
//#######################################
template<typename T>
struct Vector{
using value_type = T;
std::vector<T> v;
Vector() = default;
Vector(uint64_t size, T value = T()) {
v.resize(size, value);
}
void clear(){v.clear();}
void push_back(const T& val) { v.push_back(val); }
T& operator[](uint64_t idx) { return v[idx]; }
const T& operator[](uint64_t idx) const { return v[idx]; }
uint64_t size() const { return v.size(); }
void fill(const uint64_t size, const T num){
v.clear();
for (uint64_t i = 0; i < size; i++)
@@ -93,6 +108,22 @@ namespace utils{
void print() const{
std::cout << *this << std::endl;
}
void linspace(const T start, const T stop, const T num){
v.clear();
if (num > 1){
double delta = (stop - start)/(num - 1);
for (uint64_t i = 0; i < num; i++){
v.push_back(static_cast<T>(start + delta * i));
}
//v.push_back(static_cast<T>(stop));
}
}
};
typedef Vector<int> Vi;