From 3b9caaf23538a77130d60d693c1d3a03a6997dc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Blanc?= <regwblanc@gmail.com> Date: Thu, 29 Nov 2012 18:44:14 +0100 Subject: [PATCH] explicit FastExp --- testcases/synthesis/FastExp.scala | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/testcases/synthesis/FastExp.scala b/testcases/synthesis/FastExp.scala index 9ea39a1d6..4d094d500 100644 --- a/testcases/synthesis/FastExp.scala +++ b/testcases/synthesis/FastExp.scala @@ -1,15 +1,22 @@ +import leon.Annotations._ import leon.Utils._ object FastExp { - def fp(m : Int, b : Int, i : Int) : Int = i match { - case 0 => m - case 2 * j => fp(m, b*b, j) - case 2 * j + 1 => fp(m*b, b*b, j) + def test(a : Int) : Int = { + val j1 = choose((k: Int) => 2*k == a) + val j2 = choose((k: Int) => 2*k + 1 == a) + j1 + j2 } - def pow(base: Int, p: Int) = { - fp(1, base, p) - } + //def fp(m : Int, b : Int, i : Int) : Int = i match { + // case 0 => m + // case 2 * j => fp(m, b*b, j) + // case 2 * j + 1 => fp(m*b, b*b, j) + //} + + //def pow(base: Int, p: Int) = { + // fp(1, base, p) + //} } -- GitLab