|
|
1.1 ! root 1: c benchmark program number 7 ! 2: ! 3: c statistics ! 4: ! 5: integer array(10) ! 6: data array/500, 1000, 2000, 4000, 100, 200, 400, 800, 1600, 3200/ ! 7: ! 8: do 1 i = 1, 30000 ! 9: 1 call stat(array,10) ! 10: end ! 11: ! 12: subroutine stat(arr,nel) ! 13: integer arr(nel) ! 14: integer sum,mean ! 15: integer gtmean ! 16: ! 17: sum = 0 ! 18: do 2 i=1,nel ! 19: 2 sum = sum + arr(i) ! 20: mean = gtmean(arr,nel,sum) ! 21: call getmed(arr,nel,sum) ! 22: end ! 23: ! 24: integer function gtmean(arr,nel,sum) ! 25: integer arr(nel),sum ! 26: ! 27: mean = 0 ! 28: do 3 i=1,nel ! 29: 3 mean = mean + arr(i) * i ! 30: gtmean = mean / sum ! 31: return ! 32: end ! 33: ! 34: subroutine getmed(arr,nel,sum) ! 35: integer arr(nel),sum ! 36: integer partsm ! 37: ! 38: partsm = 0 ! 39: do 4 i=1,nel ! 40: partsm = partsm + arr(i) ! 41: if(partsm .gt. rshift(sum,2))goto 5 ! 42: 4 continue ! 43: 5 return ! 44: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.