Author: aschnell Date: Thu Jun 19 15:30:48 2008 New Revision: 48424 URL: http://svn.opensuse.org/viewcvs/yast?rev=48424&view=rev Log: - added Integer::Sum Modified: trunk/yast2/library/types/src/Integer.ycp trunk/yast2/library/types/testsuite/tests/Integer.out trunk/yast2/library/types/testsuite/tests/Integer.ycp trunk/yast2/package/yast2.changes Modified: trunk/yast2/library/types/src/Integer.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/types/src/Integer.ycp?rev=48424&r1=48423&r2=48424&view=diff ============================================================================== --- trunk/yast2/library/types/src/Integer.ycp (original) +++ trunk/yast2/library/types/src/Integer.ycp Thu Jun 19 15:30:48 2008 @@ -48,7 +48,18 @@ * Checks whether i is a power of two. That is 1, 2, 4, 8, ... . */ global boolean IsPowerOfTwo(integer i) - { + { return i > 0 && (i & (i - 1)) == 0; } + + + /** + * Calculates the sum of values. + */ + global integer Sum(list<integer> values) + { + integer sum = 0; + foreach(integer value, values, { sum = sum + value; }); + return sum; + } } Modified: trunk/yast2/library/types/testsuite/tests/Integer.out URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/types/testsuite/tests/Integer.out?rev=48424&r1=48423&r2=48424&view=diff ============================================================================== --- trunk/yast2/library/types/testsuite/tests/Integer.out (original) +++ trunk/yast2/library/types/testsuite/tests/Integer.out Thu Jun 19 15:30:48 2008 @@ -15,3 +15,7 @@ Return false Return true Return false +Dump Integer::Sum +Return 0 +Return 1 +Return 5 Modified: trunk/yast2/library/types/testsuite/tests/Integer.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/types/testsuite/tests/Integer.ycp?rev=48424&r1=48423&r2=48424&view=diff ============================================================================== --- trunk/yast2/library/types/testsuite/tests/Integer.ycp (original) +++ trunk/yast2/library/types/testsuite/tests/Integer.ycp Thu Jun 19 15:30:48 2008 @@ -25,4 +25,9 @@ TEST(``(Integer::IsPowerOfTwo(1024*1024*1024*1024)), [], nil); TEST(``(Integer::IsPowerOfTwo(1024*1024*1024*1024+1)), [], nil); +DUMP("Integer::Sum"); +TEST(``(Integer::Sum([])), [], nil); +TEST(``(Integer::Sum([ 1 ])), [], nil); +TEST(``(Integer::Sum([ 2, 3 ])), [], nil); + } Modified: trunk/yast2/package/yast2.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/package/yast2.changes?rev=48424&r1=48423&r2=48424&view=diff ============================================================================== --- trunk/yast2/package/yast2.changes (original) +++ trunk/yast2/package/yast2.changes Thu Jun 19 15:30:48 2008 @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Thu Jun 19 11:05:22 CEST 2008 - aschnell@suse.de -- added Integer::RangeFrom and Integer::IsPowerOfTwo +- added Integer::RangeFrom, Integer::IsPowerOfTwo and Integer::Sum - 2.17.3 ------------------------------------------------------------------- -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org