From 2a87d5b69f8c5fb1e11f08d27e9eedd1a50cdece Mon Sep 17 00:00:00 2001 From: Fauzan Rifqy <fauzanrifqy@localhost.localdomain> Date: Fri, 19 Feb 2016 03:01:13 -0500 Subject: [PATCH] Issues fixed --- bucket.c | 47 +++++++++++++++++++++++++++++------------------ omp_bucket | Bin 16872 -> 17152 bytes 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/bucket.c b/bucket.c index 9a4be8a..8573e9e 100644 --- a/bucket.c +++ b/bucket.c @@ -22,25 +22,34 @@ bool mine(tid, element, thr, max){ int start = tid*range; int end = start + range - 1; - return (element > start && element < end); + if(tid == thr-1){ + return ((element >= start && element <= end) || element == max); + }else{ + return (element >= start && element <= end); + } + + } -unsigned int rand_interval(unsigned int min, unsigned int max) +int rand_interval(int max) { - int r; - const unsigned int range = 1 + max - min; - const unsigned int buckets = RAND_MAX / range; - const unsigned int limit = buckets * range; - - /* Create equal size buckets all in a row, then fire randomly towards - * the buckets until you land in one of them. All buckets are equally - * likely. If you land off the end of the line of buckets, try again. */ - do - { - r = rand(); - } while (r >= limit); + return rand() % max +1; +} - return min + (r / buckets); +int random_number(int min_num, int max_num) +{ + int result=0,low_num=0,hi_num=0; + if(min_num<max_num) + { + low_num=min_num; + hi_num=max_num+1; // this is done to include max_num in output. + }else{ + low_num=max_num+1;// this is done to include max_num in output. + hi_num=min_num; + } + srand(time(NULL)); + result = (rand()%(hi_num-low_num))+low_num; + return result; } int main(int argc, char* argv[]){ @@ -58,8 +67,10 @@ int main(int argc, char* argv[]){ int elements[n], min=0, max=n, orderedElements[n]; for(int i=0; i < n; i++){ - elements[i] = rand_interval(min, n); + elements[i] = rand_interval(n); + printf("%d - ", elements[i]); } + printf("\n"); //bagi ke beberapa embercd //foreach element in elements @@ -99,11 +110,11 @@ int main(int argc, char* argv[]){ #pragma omp barrier st = 0; - en = counter[0]-1; + en = counter[0]; for(int i=0; i<tid; i++){ st += counter[i]; if((i+1) >= tid){ - en = st + counter[i+1]-1; + en = st + counter[i+1]; } } int ll = 0; diff --git a/omp_bucket b/omp_bucket index 250a301915f41fad22ff9ff9bb5a2dcefdfc2a8d..c455819f5f647f98110681287c88bf8637a50c36 100755 GIT binary patch delta 5433 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 delta 4853 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	!=BU+rxYwUn0x=N02-x9L za4pX!zy*wDxb3t7YFnX+s5gx}`^1tF!_WDOBZKT-w{1y0+(>>-p8y&7b9^FEe-ht0 zj+qQu*k$*A+Re7)+XM&cVf*sGE;y}RMpWZGXlO_rNmPz(m9J9x26m#rPJ7tL1#V5Z z$YSO!5+}agtbWc+O}>@=X3l=iRWr*eT!e!aE(Y_Xg>DVptiC8*WS)Gy6Sk$u?r_2( znMhJdx2r)NlFM0aUy+@bqm8s2Y|NSjVw@ECD&)!S1yK@%JOaE0V!>Z{SekiF$glZW z4zg>~Slx=f`maQeV*iwEUrl-@bzn+|$tQik!cV?24f0?P^MKz18#8<+CQsr6v~gTf zJWRg5+{C`r!ZM2Oj(j*uEad<5su;Dy-Nipp7A&2{MoO0qr_Y^AhdpI3O8Z%3x!bI! zZ>_RaIcy)WPv|^6;wO|>CzD+&cZ-7xJIEaKN<^ZUZ3wHMS2A%YZctv6QnqiNJ4Q|P zegiu{uh^pI_lWYM!ViediafKr%7b`nK)H`KR=8u-WQSyVp`tiuBF8Q4d_}QYO>OmG zpcO1*zS}&c<iil&5uofIZk#Vs$h}LIZc$CBZszcmi0TgZuzF7=<mFzd53!Ful`$7x zyf67k$1<ym#aCy@u!l8Pm56h*WYoy^0eS&1AW%-ROI0Ow4Rcgi(q*i^x-w>HwyYU9 Su-{h~i-UK|(8n%SJO2kfhEy&9 -- GitLab