Annotation of cci/usr/src/usr.bin/f77/f77pass1/tst/whetstone.f, revision 1.1

1.1     ! root        1: c      whetstone benchmark
        !             2: c single precision variant of program
        !             3:        common t,t1,t2,e1(4),j,k,l
        !             4:        t=0.499975e00
        !             5:        t1=0.50025e00
        !             6:        t2=2.0e00
        !             7: c execute program twice,  once with loopcount i=10,  and again with i=20.
        !             8:        i=10
        !             9: c***** start of timed interval *****
        !            10:  10    btime=secnds(0.0)
        !            11: c
        !            12: c******** test 1 ********
        !            13: c
        !            14:        isave=i
        !            15:        n1=0
        !            16:        n2=12*i
        !            17:        n3=14*i
        !            18:        n4=345*i
        !            19:        n5=0
        !            20:        n6=210*i
        !            21:        n7=32*i
        !            22:        n8=899*i
        !            23:        n9=616*i
        !            24:        n10=0
        !            25:        n11=93*i
        !            26:        n12=0
        !            27:        x1=1.0e0
        !            28:        x2=-1.0e0
        !            29:        x3=-1.0e0
        !            30:        x4=-1.0e0
        !            31:        if(n1)19,19,11
        !            32:  11    do 18 i=1,n1,1
        !            33:        x1=(x1+x2+x3-x4)*t
        !            34:        x2=(x1+x2-x3+x4)*t
        !            35:        x4=(-x1+x2+x3+x4)*t
        !            36:        x3=(x1-x2+x3+x4)*t
        !            37:  18    continue
        !            38:  19    continue
        !            39:        call pout(n1,n1,n1,x1,x2,x3,x4)
        !            40: c
        !            41: c******** test 2 ********
        !            42: c
        !            43:        e1(2)=-1.0e0
        !            44:        e1(3)=-1.0e0
        !            45:        e1(4)=-1.0e0
        !            46:        if(n2)29,29,21
        !            47:  21    do 28 i=1,n2,1
        !            48:        e1(1)=(e1(1)+e1(2)+e1(3)-e1(4))*t
        !            49:        e1(2)=(e1(1)+e1(2)-e1(3)+e1(4))*t
        !            50:        e1(3)=(e1(1)-e1(2)+e1(3)+e1(4))*t
        !            51:        e1(4)=(-e1(1)+e1(2)+e1(3)+e1(4))*t
        !            52:  28    continue
        !            53:  29    continue
        !            54:        call pout(n2,n3,n2,e1(1),e1(2),e1(3),e1(4))
        !            55: c
        !            56: c******** test 3 ********
        !            57: c
        !            58:  31    do 38 i=1,n3,1
        !            59:  38    call pa(e1)
        !            60:  39    continue
        !            61:        call pout(n3,n2,n2,e1(1),e1(2),e1(3),e1(4))
        !            62: c
        !            63: c******** test 4 ********
        !            64: c
        !            65:        if(n4)49,49,41
        !            66:  41    do 48 i=1,n4,1
        !            67:        if (j-1)43,42,43
        !            68:  42    j=2
        !            69:        goto44
        !            70:  43    j=3
        !            71:  44    if(j-2)46,46,45
        !            72:  45    j=0
        !            73:        goto47
        !            74:  46    j=1
        !            75:  47    if(j-1)411,412,412
        !            76:  411   j=1
        !            77:        goto48
        !            78:  412   j=0
        !            79:  48    continue
        !            80:  49    continue
        !            81:        call pout(n4,j,j,x1,x2,x3,x4)
        !            82: c
        !            83: c******** test 5 ********
        !            84: c
        !            85:        j=1
        !            86:        k=2
        !            87:        l=3
        !            88:        if(n6)69,69,61
        !            89:  61    do 68 i=1,n6,1
        !            90:        j=j*(k-j)*(l-k)
        !            91:        k=l*k-(l-j)*k
        !            92:        l=(l-k)*(k+j)
        !            93:        e1(l-1)=j+k+l
        !            94:        e1(k-1)=j+k+l
        !            95:  68    continue
        !            96:  69    continue
        !            97:        call pout(n6,j,k,e1(1),e1(2),e1(3),e1(4))
        !            98: c
        !            99: c******** test 6 ********
        !           100: c
        !           101:        x=0.5e0
        !           102:        y=0.5e0
        !           103:        if(n7)79,79,71
        !           104:  71    do 78 i=1,n7,1
        !           105:        x=t*atan(t2*sin(x)+cos(x)/cos(x+y)+cos(x-y)-1.0e0)
        !           106:        y=t*atan(t2*sin(y)+cos(y)/cos(x+y)+cos(x-y)-1.0e0)
        !           107:  78    continue
        !           108:  79    continue
        !           109:        call pout(n7,j,k,x,x,y,y)
        !           110: c
        !           111: c******** test 7 ********
        !           112: c
        !           113:        x=1.0e0
        !           114:        y=1.0e0
        !           115:        z=1.0e0
        !           116:        if(n8)89,89,81
        !           117:  81    do 88 i=1,n8,1
        !           118:  88    call p3(x,y,z)
        !           119:  89    continue
        !           120:        call pout(n8,j,k,x,y,z,z)
        !           121: c
        !           122: c******** test 8 ********
        !           123: c
        !           124:        j=1
        !           125:        k=2
        !           126:        l=3
        !           127:        e1(1)=1.0e0
        !           128:        e1(2)=2.0e0
        !           129:        e1(3)=3.0e0
        !           130:        if(n9)99,99,91
        !           131:  91    do 98 i=1,n9,1
        !           132:  98    call p0
        !           133:  99    continue
        !           134:        call pout(n9,j,k,e1(1),e1(2),e1(3),e1(4))
        !           135: c
        !           136: c******** test 9 ********
        !           137: c
        !           138:        j=2
        !           139:        k=3
        !           140:        if(n10)109,109,101
        !           141:  101   do 108 i=1,n10,1
        !           142:        j=j+k
        !           143:        k=j+k
        !           144:        j=j-k
        !           145:        k=k-j-j
        !           146:  108   continue
        !           147:  109   continue
        !           148:        call pout(n10,j,k,x1,x2,x3,x4)
        !           149: c
        !           150: c******** test 10 ********
        !           151: c
        !           152:        x=0.75e0
        !           153:        if(n11)119,119,111
        !           154:  111   do 118 i=1,n11,1
        !           155:  118   x=sqrt(exp(alog(x)/t1))
        !           156:  119   continue
        !           157: c
        !           158: c******** end of timed interval ********
        !           159: c save time for loopcount i=10 and repeat for i=20
        !           160:        delta=secnds(btime)-btime
        !           161:        if(isave.eq.20) go to 120
        !           162:        time1=delta
        !           163:        i=20
        !           164:        goto 10
        !           165:  120   time2=delta
        !           166: c calculate whetstone kips
        !           167:        wkip=(1.0/(time2-time1))*1000
        !           168:        write(6, 121) wkip
        !           169: 121    format (f10.2,' whetstone kips per second.')
        !           170:        stop
        !           171:        end
        !           172: 
        !           173:        subroutine pa(e)
        !           174:        common t,t1,t2
        !           175:        dimension e(4)
        !           176:        j=0
        !           177:  1     e(1)=(e(1)+e(2)+e(3)-e(4))*t
        !           178:        e(2)=(e(1)+e(2)-e(3)+e(4))*t
        !           179:        e(3)=(e(1)-e(2)+e(3)+e(4))*t
        !           180:        e(4)=(-e(1)+e(2)+e(3)+e(4))/t2
        !           181:        j=j+1
        !           182:        if(j-6)1,2,2
        !           183:  2     continue
        !           184:        return
        !           185:        end
        !           186:        subroutine p0
        !           187:        common t,t1,t2,e1(4),j,k,l
        !           188:        e1(j)=e1(k)
        !           189:        e1(k)=e1(l)
        !           190:        e1(l)=e1(j)
        !           191:        return
        !           192:        end
        !           193:        subroutine p3(x,y,z)
        !           194:        common t,t1,t2
        !           195:        x1=x
        !           196:        y1=y
        !           197:        x1=t*(x1+y1)
        !           198:        y1=t*(x1+y1)
        !           199:        z=(x1+y1)/t2
        !           200:        return
        !           201:        end
        !           202:        subroutine pout(n,j,k,x1,x2,x3,x4)
        !           203:        write (6,1) n,j,k,x1,x2,x3,x4
        !           204:  1     format (1h ,3i7,4e12.4)
        !           205:        return
        !           206:        end
        !           207: 
        !           208:        subroutine prtres(wk)
        !           209:        return
        !           210:        end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.