From fbb71753d0a26efadbaf900ae0abbad3d9b00ebc Mon Sep 17 00:00:00 2001 From: EdouardParis <mail@edouard.paris> Date: Tue, 24 May 2016 00:04:17 +0200 Subject: [PATCH] minor cahnge --- polynome.ml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/polynome.ml b/polynome.ml index fea7a65..75e7258 100644 --- a/polynome.ml +++ b/polynome.ml @@ -157,9 +157,13 @@ module Polynome (C : Coefficient) (D : Degree) = let n = D.div degree_max 2 in let x1, x2 = cut x n in let y1, y2 = cut y n in - let xy1 = naive_mul x1 y1 in - let xy2 = naive_mul x2 y2 in - let xy3 = sub (naive_mul (add x1 y1) (add x2 y2)) (add xy1 xy2) in + let xy1 = karatsuba_mul x1 y1 in + let xy2 = karatsuba_mul x2 y2 in + let s1 = add x1 y1 in + let s2 = add x2 y2 in + let s3 = add xy1 xy2 in + let k_ss = karatsuba_mul s1 s2 in + let xy3 = sub k_ss s3 in add xy2 (add (increment_degree (D.double n) xy1) (increment_degree n xy3)) (*generate polynome from another polynome*) -- GitLab