小编Sei*_*ren的帖子

用C和Fortran中的Leibniz系列计算Pi

我正在尝试比较C和Fortran代码的性能。为了使用Leibniz的系列计算pi ,我获得了以下Fortran代码

program pi_leibniz
implicit none

    integer, parameter :: dp=selected_real_kind(15,307)
    integer :: k=0, precision=9
    real(dp), parameter :: correct = 0.7853981633974483d0, eps = epsilon(real(1,dp)) 
    real(dp) :: sum = 0.0, delta
    character(8) :: fmt
    logical, parameter :: explicit = .false.
    real :: start, finish

    delta = 10.**(-precision-1)*0.25
    if (delta<eps) then
        delta=eps
        precision=14
        print *, "Precision specified too high, reverting to double precision (14 digits)"
    endif

    write(fmt,'(A,I0,A,I0,A)') '(f',precision+2,'.',precision,')'

    call cpu_time(start)

    do
        sum = sum + real((-1)**k,dp)/real(2*k+1,dp)
        k = k+1
        if (abs(sum-correct)<delta) …
Run Code Online (Sandbox Code Playgroud)

c fortran numeric

7
推荐指数
1
解决办法
201
查看次数

标签 统计

c ×1

fortran ×1

numeric ×1