The TELEMAC-MASCARET system
trunk
sources
utils
bief
twosum.f
Go to the documentation of this file.
1
! ******************
2
SUBROUTINE
twosum
3
! ******************
4
!
5
&(a,b,x,y)
6
!
7
!***********************************************************************
8
! BIEF V7P3 24/02/2016
9
!***********************************************************************
10
!
11
!brief SCALAR SUM AND CALCULATE ROUNDING ERROR.
12
!
13
!history R.NHEILI (Univerte de Perpignan, DALI)
14
!+ 24/02/2016
15
!+ V7P3
16
!+
17
!
18
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19
!| A,B |-->| DOUBLE PRECISION SCALAR
20
!| X |<--| DOUBLE PRECISION SUM RESULT
21
!| Y |<--| DOUBLE PRECISION ROUNDING ERROR
22
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23
!
24
USE
declarations_special
25
IMPLICIT NONE
26
!
27
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
28
!
29
DOUBLE PRECISION
,
INTENT(IN)
:: A,B
30
DOUBLE PRECISION
,
INTENT(OUT)
:: X,Y
31
!
32
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
33
!
34
DOUBLE PRECISION
Z, XOUT
35
!
36
!-----------------------------------------------------------------------
37
!
38
xout=a+b
39
z=xout-a
40
y=(a-(xout-z))+(b-z)
41
x = xout
42
!
43
!
44
!-----------------------------------------------------------------------
45
!
46
END
declarations_special
Definition:
declarations_special.F:3
twosum
subroutine twosum(A, B, X, Y)
Definition:
twosum.f:7