Skip to content
Extraits de code Groupes Projets
Valider ac0981fc rédigé par EdouardParis's avatar EdouardParis
Parcourir les fichiers

Keep it simple stupid

parent 49cc8790
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
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
//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;
};
#include <ctime>
#include <gmpxx.h>
time_t algo_sqrt(mpz_class const& a, mpz_class & res);
......@@ -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);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter