better NR test
All checks were successful
Linux arm64 / Build (push) Successful in 37s

This commit is contained in:
2024-03-02 13:11:43 +01:00
parent 750781aa5c
commit 9d3d78fe16

View File

@@ -3,48 +3,23 @@
#include <cassert>
static void test() {
/*NR* frac = new NR;
NR frac2(3);
NR frac3(2, 5);
int a, b;
std::cout << "PGCD : entrez deux entiers" << std::endl;
std::cin >> a >> b;
std::cout << PGCD(a, b) << std::endl;
std::cout << "frac : entrez deux entiers" << std::endl;
std::cin >> a >> b;
NR fractest(a, b);
std::cout << fractest << " + " << frac3 << " = " << std::endl;
std::cout << ">> " << (fractest + frac3) << std::endl;
std::cout << ">> " << (fractest + frac3).GetNumerator() << "/" << (fractest + frac3).GetDenominator() << std::endl;
fractest = fractest + frac3;
std::cout << ">> " << fractest << std::endl;
// frac->NRset(2, 4);
NR anotherfrac;
std::cin >> anotherfrac;
std::cout << "Compare " << fractest << " and " << anotherfrac << " : ==? " << (fractest == anotherfrac) << " <? "
<< (fractest < anotherfrac) << " >=? " << (fractest >= anotherfrac) << std::endl;
std::cout << anotherfrac << " - " << *frac << " = " << anotherfrac - *frac << std::endl;
std::cout << anotherfrac << " * " << *frac << " = " << std::endl << ">> " << anotherfrac * *frac << std::endl;
fractest = anotherfrac * *frac;
std::cout << ">> " << fractest << std::endl;
fractest.Reduce();
std::cout << ">> " << fractest << std::endl;
std::cout << anotherfrac << " / " << frac2 << " = " << anotherfrac / frac2 << std::endl;
NR numNR(2, 4);
NR otherNR(3, 1);
std::cout << numNR << " - " << otherNR << " = " << std::endl;
NR subNR = numNR - otherNR;
std::cout << ">> " << (numNR - otherNR) << std::endl << ">> " << subNR << std::endl;
delete frac;*/
assert((NR {1, 5} == NR {5, 25}));
assert((NR {1, 5} != NR {4, 25}));
NR frac1 {2};
NR frac2 {1};
assert(NR {2} == NR {1} + 1);
assert(NR {1} == (NR {1, 4} + NR {3, 4}));
assert((NR {-3, -4} == NR {1, 2} + NR {1, 4}));
assert(frac1 != frac2);
assert((NR {-1, 4} == NR {1, 4} - NR {1, 2}));
assert((NR {1, -4} == NR {1, 4} - NR {1, 2}));
assert((-NR {1, 4} == NR {1, 4} - NR {1, 2}));
frac2 *= 2;
assert((NR {2} == NR {4, 3} * NR {3, 2}));
assert((NR {3, 5} == NR {4, 5} * NR {3, 4}));
assert(frac1 == frac2);
assert((NR {21, 16} == NR {7, 8} / NR {6, 9}));
assert((NR {4, 3} == NR {3, 4}.Inverse()));
}
int main(int argc, char** argv) {