From 09846ceb72c27dfe87f0b5c8d0a6296fc09bbc36 Mon Sep 17 00:00:00 2001 From: Roland Grunberg Date: Wed, 23 Sep 2009 13:46:05 -0400 Subject: PR10632: tapset: randint() function + tests --- testsuite/systemtap.base/rand.stp | 41 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 testsuite/systemtap.base/rand.stp (limited to 'testsuite/systemtap.base/rand.stp') diff --git a/testsuite/systemtap.base/rand.stp b/testsuite/systemtap.base/rand.stp new file mode 100644 index 00000000..aca80877 --- /dev/null +++ b/testsuite/systemtap.base/rand.stp @@ -0,0 +1,41 @@ +function checkStatus(status:long){ + if (status == 1){ + printf("%s\n","FAIL") + }else{ + printf("%s\n","PASS") + } +} + +probe begin +{ + + for (i = 0; i < 100; i ++) { + num = randint(-5, 5) + if (num > 5) { + printf("NUMBER TOO HIGH\n") + } + if (num < -5) { + printf("NUMBER TOO LOW\n") + } + } + + for (i = 0; i < 500; i ++) { + num = randint(-3, 3) + if (num > 3) { + printf("NUMBER TOO HIGH\n") + } + if (num < -3) { + printf("NUMBER TOO LOW\n") + } + } + + status = 0 + for (i=1; i <= 100; i++){ + if ( randint(-1*i,i) < (-1*i) || randint(-1*i,i) > i ){ + status = 1 + } + } + checkStatus(status) + + exit() +} -- cgit From d098276239dd9f2e1ad031b48519a5a21779c369 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Wed, 23 Sep 2009 16:41:40 -0400 Subject: PR10632: simplify randint() implementation * tapset/random.stp (randint): Make it 1-arity (imply min=0). Document with kerneldoc. * doc/Systemtap_Tapset_Reference/tapsets.tmpl: Extract the docs. * runtime/arith.c (_stp_random_pm_u): Rename without _pm. (_stp_random_pm): Rewrite in terms of ..._u. * testsuite/random.stp: Adapt & simplify. --- testsuite/systemtap.base/rand.stp | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) (limited to 'testsuite/systemtap.base/rand.stp') diff --git a/testsuite/systemtap.base/rand.stp b/testsuite/systemtap.base/rand.stp index aca80877..d584e5f7 100644 --- a/testsuite/systemtap.base/rand.stp +++ b/testsuite/systemtap.base/rand.stp @@ -8,34 +8,12 @@ function checkStatus(status:long){ probe begin { - - for (i = 0; i < 100; i ++) { - num = randint(-5, 5) - if (num > 5) { - printf("NUMBER TOO HIGH\n") - } - if (num < -5) { - printf("NUMBER TOO LOW\n") + status = 0 + for (i=1; i <= 100; i++){ + if (randint(i) < 0 || randint(i) > i) { + status = 1 } } - - for (i = 0; i < 500; i ++) { - num = randint(-3, 3) - if (num > 3) { - printf("NUMBER TOO HIGH\n") - } - if (num < -3) { - printf("NUMBER TOO LOW\n") - } - } - - status = 0 - for (i=1; i <= 100; i++){ - if ( randint(-1*i,i) < (-1*i) || randint(-1*i,i) > i ){ - status = 1 - } - } - checkStatus(status) - + checkStatus(status) exit() } -- cgit