summaryrefslogtreecommitdiff
path: root/Donjon/src/DETRTR.f
blob: b014028024e58163c87352d0a1495db85add9e46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
*DECK DETRTR
      SUBROUTINE DETRTR(DA,A,IA,A1,A2,A3,II1,II2,II3)
*
*----------------------------------------------------------------------
*Purpose:
* Obtain the coordinates of a point where the interpolation is
* performed
*
*Author(s):
* ???
*
*Parameters: 
* DA      
* A       
* IA      
* A1      
* A2      
* A3      
* II1     
* II2     
* II3     
*
*----------------------------------------------------------------------
*
      DIMENSION A(*)
      CHARACTER*6 CLNAME
*
      CLNAME = 'SORTR '
      DIF1 = 1000000.
      DIF2 = 1000001.
      DIF3 = 1000002.
      II1  = 1000000
      II2  = 1000001
      II3  = 1000002
*
      DO 10 II=1,IA
         DIF = ABS(DA-A(II))
         IF ( DIF .LE. DIF1 ) THEN
            DIF3 = DIF2
            DIF2 = DIF1
            DIF1 = DIF
            II3  = II2
            II2  = II1
            II1  = II
         ELSE IF ( DIF .LE. DIF2 ) THEN
            DIF3 = DIF2
            DIF2 = DIF
            II3  = II2
            II2  = II
         ELSE IF ( DIF .LE. DIF3 ) THEN
            DIF3 = DIF
            II3  = II
         ENDIF
  10  CONTINUE
      A1 = A(II1)
      A2 = A(II2)
      A3 = A(II3)
      RETURN
      END