diff --git a/src/Makefile b/src/Makefile index 9c49f9774ed7be716c4e939d79dfb3fe92755b3f..4169cd51fa313285d45ab524e839ff24b0cd44e9 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,13 +1,4 @@ all: question_3 -question_3: question_3.o algo_ex1.o - g++ -o question_3 question_3.o algo_ex1.o - -algo_ex1.o: algo_ex1.h - g++ -Wall -Wextra -lgmpxx -lgmp algo_ex1.cpp -o algo_ex1.o - -question_3.o: question_3.cpp algo_ex1.h - g++ -Wall -Wextra -lgmpxx -lgmp question_3.cpp -o question_3.o - -clean: - rm -rf *.o +question_3: question_3.cpp + g++ -o question_3 question_3.cpp -Wall -Wextra -lgmp -lgmpxx diff --git a/src/algo_ex1.cpp b/src/algo_ex1.cpp deleted file mode 100644 index e6c32ea40d65bb9b92c8e32e3d35186d3ce95edd..0000000000000000000000000000000000000000 --- a/src/algo_ex1.cpp +++ /dev/null @@ -1,23 +0,0 @@ -//algo used by question 3 and 5 -//gmp ne retourne que la partie entière inférieure lors de ses opérations. -#include <ctime> -#include <gmpxx.h> - -time_t sqrt(mpz_class const& a, mpz_class & res) -{ - mpz_class r1 = a; - mpz_class r2 = a; - - struct timespec t0, t1; - - clock_gettime( CLOCK_REALTIME, &t0); - while (r2 < r1) { - r2 = (r1 + (a / r1))/2; - r1 = r2; - } - res = r1; - clock_gettime( CLOCK_REALTIME, &t1); - - time_t t_res = 1000.*(t1.tv_sec-t0.tv_sec) + (t1.tv_nsec-t0.tv_nsec)/1000000.; - return t_res; -}; diff --git a/src/algo_ex1.h b/src/algo_ex1.h deleted file mode 100644 index 5509736ec5866ee70223905e84cc5123d0ce860e..0000000000000000000000000000000000000000 --- a/src/algo_ex1.h +++ /dev/null @@ -1,4 +0,0 @@ -#include <ctime> -#include <gmpxx.h> - -time_t algo_sqrt(mpz_class const& a, mpz_class & res); diff --git a/src/question_3.cpp b/src/question_3.cpp index 7f1c5a7bb484fe3443af95f23aa1ede724fc5cd8..566a14baac1c37d50efecc893b4593050656fd9a 100644 --- a/src/question_3.cpp +++ b/src/question_3.cpp @@ -8,7 +8,25 @@ #include <ctime> #include <gmpxx.h> #include <cassert> -#include "algo_ex1.h" + +time_t algo_sqrt(mpz_class const& a, mpz_class & res) +{ + mpz_class r1 = a; + mpz_class r2 = a; + + struct timespec t0, t1; + + clock_gettime( CLOCK_REALTIME, &t0); + while (r2 < r1) { + r2 = (r1 + (a / r1))/2; + r1 = r2; + } + res = r1; + clock_gettime( CLOCK_REALTIME, &t1); + + time_t t_res = 1000.*(t1.tv_sec-t0.tv_sec) + (t1.tv_nsec-t0.tv_nsec)/1000000.; + return t_res; +}; int main(int argc, char** argv) { assert(argc == 1);