*23456789a123456789b123456789c123456789d123456789e123456789f123456789g12 * * program math include '/homes/jeffery/jef/syn/const.f' parameter (nmin=-3,nmax=10,npoint=4*(nmax-nmin+1)) dimension count(-3:10),xx(npoint),yy(npoint) character record*1 * open(unit=1,file='/homes/jeffery/jef/syn/const.dat', & status='old') read(1,const) ! const is cgs recall read(1,astro) close(unit=1) * * Test of the int function * print*,'The int of -.5 is',int(-.5) * iplot=2 ! 1 is for period; 2 is for semi-major axis * imin=10 imax=1 open(unit=1,file='./planet_table.txt',status='old') 102 continue read(1,'(a1)') record * print*,record if(record .ne. '-') go to 102 110 continue if(iplot .eq. 1) then read(1,'(i3,17x,f8.3)',end=120) iplanet,period else read(1,'(i3,26x,f5.3)',end=120) iplanet,period end if print*,iplanet,period if(period .ge. 1.) then iperiod=int(2.*log10(period))+1 else iperiod=int(2.*log10(period)) ! rounds up if period .lt. 1. end if imin=min(imin,iperiod) imax=max(imax,iperiod) count(iperiod)=count(iperiod)+1. go to 110 120 continue close(unit=1) * print*,'imin,imax' print*,imin,imax * ff=sqrt(10.) ic=0 do 410 i=imin,imax ic=ic+4 xx(ic-3)=ff**(i-1) xx(ic-2)=ff**(i-1) xx(ic-1)=ff**i xx(ic)=ff**i yy(ic-3)=0. yy(ic-2)=count(i) yy(ic-1)=count(i) yy(ic)=0. print*,xx(ic),yy(ic) 410 continue * open(unit=1,file='tmp.dat',status='unknown') write(1,*)'Extrasolar planet counts versus period for histogram.' write(1,'(a4)') 'END:' do 420 i=1,ic write(1,'(2e20.10)') xx(i),yy(i) 420 continue close(unit=1) * end