[e40e335] | 1 | c **************************************************************
|
---|
| 2 | c
|
---|
| 3 | c This file contains the subroutines: difang,addang
|
---|
| 4 | c
|
---|
| 5 | c Copyright 2003 Frank Eisenmenger, U.H.E. Hansmann,
|
---|
| 6 | c Shura Hayryan, Chin-Ku
|
---|
| 7 | c Copyright 2007 Frank Eisenmenger, U.H.E. Hansmann,
|
---|
| 8 | c Jan H. Meinke, Sandipan Mohanty
|
---|
| 9 | c
|
---|
| 10 | c **************************************************************
|
---|
| 11 |
|
---|
| 12 | real*8 function difang(a1,a2)
|
---|
| 13 |
|
---|
| 14 | c ......................................................
|
---|
| 15 | c PURPOSE: difang = a2 - a1 with: -pi < difang <= pi
|
---|
| 16 | c
|
---|
| 17 | c INPUT: a1,a2-two angles [rad.]
|
---|
| 18 | c
|
---|
| 19 | c CALLS: none
|
---|
| 20 | c
|
---|
| 21 | c ......................................................
|
---|
| 22 |
|
---|
| 23 | implicit real*8 (a-h,o-z)
|
---|
| 24 |
|
---|
| 25 | parameter (pi=3.141592653589793d0,
|
---|
| 26 | # pi2=2.d0*pi)
|
---|
| 27 |
|
---|
| 28 | d=mod((a2-a1),pi2)
|
---|
| 29 | if (abs(d).le.pi) then
|
---|
| 30 | difang=d
|
---|
| 31 | else
|
---|
| 32 | difang=d-sign(pi2,d)
|
---|
| 33 | endif
|
---|
| 34 |
|
---|
| 35 | return
|
---|
| 36 | end
|
---|
| 37 | c *********************************
|
---|
| 38 | real*8 function addang(a1,a2)
|
---|
| 39 |
|
---|
| 40 | c ......................................................
|
---|
| 41 | c PURPOSE: addang = a1 + a2 with: -pi < addang <= pi
|
---|
| 42 | c
|
---|
| 43 | c INPUT: a1,a2-two angles [rad.]
|
---|
| 44 | c
|
---|
| 45 | c CALLS: none
|
---|
| 46 | c
|
---|
| 47 | c ......................................................
|
---|
| 48 |
|
---|
| 49 | implicit real*8 (a-h,o-z)
|
---|
| 50 |
|
---|
| 51 | parameter (pi=3.141592653589793d0,
|
---|
| 52 | # pi2=2.d0*pi)
|
---|
| 53 |
|
---|
| 54 | d=mod((a1+a2),pi2)
|
---|
| 55 | if (abs(d).le.pi) then
|
---|
| 56 | addang=d
|
---|
| 57 | else
|
---|
| 58 | addang=d-sign(pi2,d)
|
---|
| 59 | endif
|
---|
| 60 |
|
---|
| 61 | return
|
---|
| 62 | end
|
---|
| 63 |
|
---|