Soil Water Balance (SWB2)
Loading...
Searching...
No Matches
printpi.F90
Go to the documentation of this file.
1
2! from https://stackoverflow.com/questions/2157920/why-define-pi-4atan1-d0
3program print_pi
4 ! use iso_fortran_env, sp=>real32, dp=>real64, qp=>real128
5
6 integer, parameter :: sp = selected_real_kind(6, 37)
7 integer, parameter :: dp = selected_real_kind(15, 307)
8 integer, parameter :: qp = selected_real_kind(33, 4931)
9
10 real(kind=sp), parameter :: pi_sp = 3.14159265358979323846264338327950288_sp
11 real(kind=dp), parameter :: pi_dp = 3.14159265358979323846264338327950288_dp
12 real(kind=qp), parameter :: pi_qp = 3.14159265358979323846264338327950288_qp
13
14 write(*,'("SP "A17)') "3.14159265358..."
15 write(*,'(F17.11)') pi_sp
16 write(*,'(F17.11)') acos(-1.0_sp)
17 write(*,'(F17.11)') 2.0_sp*asin( 1.0_sp)
18 write(*,'(F17.11)') 4.0_sp*atan2(1.0_sp,1.0_sp)
19 write(*,'(F17.11)') 3.0_sp*acos(0.5_sp)
20 write(*,'(F17.11)') 6.0_sp*asin(0.5_sp)
21
22 write(*,'("DP "A26)') "3.14159265358979323846..."
23 write(*,'(F26.20)') pi_dp
24 write(*,'(F26.20)') acos(-1.0_dp)
25 write(*,'(F26.20)') 2.0_dp*asin( 1.0_dp)
26 write(*,'(F26.20)') 4.0_dp*atan2(1.0_dp,1.0_dp)
27 write(*,'(F26.20)') 3.0_dp*acos(0.5_dp)
28 write(*,'(F26.20)') 6.0_dp*asin(0.5_dp)
29
30 write(*,'("QP "A44)') "3.14159265358979323846264338327950288419..."
31 write(*,'(F44.38)') pi_qp
32 write(*,'(F44.38)') acos(-1.0_qp)
33 write(*,'(F44.38)') 2.0_qp*asin( 1.0_qp)
34 write(*,'(F44.38)') 4.0_qp*atan2(1.0_qp,1.0_qp)
35 write(*,'(F44.38)') 3.0_qp*acos(0.5_qp)
36 write(*,'(F44.38)') 6.0_qp*asin(0.5_qp)
37
38 write(*,'(F17.11)') sin(pi_sp)
39 write(*,'(F26.20)') sin(pi_dp)
40 write(*,'(F44.38)') sin(pi_qp)
41
42 end program print_pi
program print_pi
Definition printpi.F90:3