[root@master ~]# cat /etc/redhat-release
CentOS release 6.4 (Final)
Biasanya pakai perintah uname, namun nama distronya tidak terlihat
[root@master ~]# uname -a
Linux master 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Bagaimana cara mengetahui, apakah sudah ada paket fortran-nya dalam distro ini. Belum menemukana rtikel yang secara to the point mengatakan hal itu.Biasanya dengan menjalankan yum install lalu diikuti nama paket, akan ada pesan.
[root@master ~]# yum install gfortran
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.hostemo.com
* extras: centos.ipserverone.com
* updates: mirrors.hostemo.com
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 1.3 MB 00:01
Setting up Install Process
No package gfortran available.
Error: Nothing to do
Coba perintah baris untuk mengetahui versi fortran :
[root@master ~]# apropos fortran
ctags (1p) - create a tags file (DEVELOPMENT, FORTRAN)
fort77 (1p) - FORTRAN compiler (FORTRAN)
Apakah yang telah terinstall adalah F77?
Coba install gcc-gfortran
[root@master ~]# yum install gcc-gfortran
Setelah proses instalasi, cek gfortran
[root@master ~]# gfortran -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
Contoh program fortran :
http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/chap02/traps.html
Dari pada susah ngetik, download pakai wget di :
http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/chap02/traps.f90
Ternyata ekstensinya .f90.
Gemana cara melakukan compiling dan executing? Coba ngikutin panduan ini :
http://homepages.wmich.edu/~korista/README-fortran.html
[root@master ~]# f90
-bash: f90: command not found
Apa yaa printah baris untuk menjalankan atau sekedar meng-compile?
Coba aja : gfortran
[root@master ~]# gfortran -o traps.exe traps.f90
Ada sih hasihnya, yaitu file traps.exe. Tapi kan exe gak bisa jalan di Linux. Trus sintaknya apa yaa?
Ternyata jalanin hasil compilenya adalah sbb :
[root@master ~]# ./traps.exe
First, the exponential trap:
2 ** 2 ** 3 = 256
( 2 ** 2 ) ** 3 = 64
2 ** ( 2 ** 3 ) = 256
Second, the integer division trap:
4 / 6 = 0
REAL( 4 ) / 6 = 0.66666669
4 / REAL( 6 ) = 0.66666669
Third, the string truncation trap:
IS Smith STILL IN TEXAS?
IS Smit STILL IN TEXAS ?
Ini saya coba setelah membaca di sini :
http://gcc.gnu.org/wiki/GFortranGettingStarted
Hasil running ini sesuai dengan contoh di situs :
http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/chap02/traps.html
Kesimpulan :
Fortran di CentOS adalah gfortran
Cara meng-compile bisa dengan
# gfortran -o traps.exe traps.f90
atau
# gfortran -o traps traps.f90
Cara meng-running nya adalah
# ./traps.exe
atau
# ./traps
Cuma saya lupa, apakah gfortran yang saya pakai merupakan hasil instalasi kemudian atau sudah ada sejak awal saat instalasi CentOS
Di halaman : http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/intro.html
Ada 5 contoh program fortran :
- Three Programming Traps : traps.f90
- Computing Means : means.f90
- Quadratic Equation Solver : quad-1.f90
- The Length of a Parabola Segment : p-length.f90
- Projectile motion (intrinsic functions : projectile.f90
[root@master ~]# gfortran -o quad-1.f90 quad-1
gfortran: quad-1: No such file or directory
Gak boleh kebalik
[root@master ~]# gfortran -o quad-1 quad-1.f90
[root@master ~]# ./quad-1
A, B, C Please :
5 5 5
Roots are NaN and NaN
Gak boleh asal
[root@master ~]# ./quad-1
A, B, C Please :
1 -5 3
Roots are 4.3027754 and 0.69722438
[root@master ~]# ./p-length
Height of a parabola :
100
Base of a parabola :
78.5
Height = 100.00000
Base = 78.500000
Length = 266.14944
Nilai "100" dan "78.5" masukkan melalui keyboard
[root@master ~]# gfortran -o projectile projectile.f90
[root@master ~]# ./projectile
45.0 6.0 60.0
Horizontal displacement : 254.55847
Vertical displacement : 78.158432
Resultant velocity : 45.476311
Direction (in degree) : -21.103064
Nilai "45.0 6.0 60.0" masukkan dengan cara mengetikkan melalui keyboard
Sumber :
http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/fortran.html
No comments:
Post a Comment