add stuff
Some checks failed
Linux arm64 / Build (push) Failing after 14m40s

This commit is contained in:
2024-02-13 11:38:52 +01:00
parent 820308b6c7
commit 23de24e9a1
5 changed files with 81 additions and 8 deletions

View File

@@ -1,4 +1,5 @@
#include <algorithm>
#include <cassert>
#include <cmath>
#include <fstream>
#include <iostream>
@@ -39,10 +40,6 @@ Matrix Matrix::operator*(const Matrix& other) const {
return result;
}
static bool IsEqualZero(long double var) {
return std::abs(var) < std::pow(10, -5);
}
void Matrix::Print() const {
for (size_t i = 0; i < m_Lignes; ++i) {
std::cout << "[ ";
@@ -101,12 +98,14 @@ void Matrix::Load(const std::string& filename) {
}
}
void Matrix::Transpose() {
Matrix Matrix::Transpose() const {
Matrix result{m_Colonnes, m_Lignes};
for (std::size_t i = 0; i < m_Lignes; i++) {
for (std::size_t j = i; j < m_Colonnes; j++) {
std::swap(at(i, j), at(j, i));
result.at(j, i) = at(i, j);
}
}
return result;
}
void Matrix::Identity() {
@@ -224,4 +223,25 @@ long double& Matrix::at(std::size_t ligne, std::size_t colonne) {
long double Matrix::at(std::size_t ligne, std::size_t colonne) const {
return m_Data[ligne * m_Lignes + colonne];
}
std::size_t Matrix::GetRawCount() const {
return m_Lignes;
}
std::size_t Matrix::GetColumnCount() const {
return m_Colonnes;
}
Matrix Matrix::SubMatrix(std::size_t origine_ligne, std::size_t origine_colonne, std::size_t ligne, std::size_t colonne) const {
assert(m_Lignes >= ligne && m_Colonnes >= colonne);
Matrix result{ligne, colonne};
for (std::size_t i = 0; i < ligne; i++) {
for (std::size_t j = 0; j < colonne; j++) {
result.at(i, j) = at(i + origine_ligne, j + origine_colonne);
}
}
return result;
}