From 2f62cb9810dca94b221d90e1b7dade96b497c6b7 Mon Sep 17 00:00:00 2001 From: Regis Blanc <regwblanc@gmail.com> Date: Mon, 30 Jun 2014 18:13:57 +0200 Subject: [PATCH] more xlang max sum testcases --- testcases/xlang/MaxSum.scala | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/testcases/xlang/MaxSum.scala b/testcases/xlang/MaxSum.scala index 3d414f397..f4d056ab9 100644 --- a/testcases/xlang/MaxSum.scala +++ b/testcases/xlang/MaxSum.scala @@ -35,4 +35,27 @@ object MaxSum { rec(0) } + def summ(to : Int): Int = ({ + require(to >= 0) + var i = 0 + var s = 0 + (while (i < to) { + s = s + i + i = i + 1 + }) invariant (s >= 0 && i >= 0 && s == i*(i-1)/2 && i <= to) + s + }) ensuring(res => res >= 0 && res == to*(to-1)/2) + + + def sumsq(to : Int): Int = ({ + require(to >= 0) + var i = 0 + var s = 0 + (while (i < to) { + s = s + i*i + i = i + 1 + }) invariant (s >= 0 && i >= 0 && s == (i-1)*i*(2*i-1)/6 && i <= to) + s + }) ensuring(res => res >= 0 && res == (to-1)*to*(2*to-1)/6) + } -- GitLab