File: ess.f

package info (click to toggle)
gprbuild 2014dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 9,564 kB
  • ctags: 195
  • sloc: ada: 110,384; xml: 3,632; sh: 2,810; makefile: 363; ansic: 204; cpp: 89; fortran: 62; asm: 27
file content (71 lines) | stat: -rw-r--r-- 1,859 bytes parent folder | download | duplicates (8)
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
60
61
62
63
64
65
66
67
68
69
70
71
C--------------------------------------------
      SUBROUTINE  PRINT_MATR (A,N,M)
C--------------------------------------------------------------------
      INTEGER N, M
      INTEGER A (N,M)
       
C     BEGIN 
         DO 10 I = 1,N
            PRINT *, (A (I, J), J=1,M)
C            DO 11 J = 1,M
C               PRINT *, A (I, J) 
C  11        CONTINUE 
  10     CONTINUE
      END 
C--------------------------------------------
      SUBROUTINE  INIT (A,N, M, VAL)
C--------------------------------------------------------------------
      INTEGER N, M, VAL
      INTEGER A (N,M)
       
C     BEGIN 
         DO 20 I = 1,N
            DO 21 J = 1,M
               A (I, J) = VAL
  21        CONTINUE
  20     CONTINUE
      END 
C--------------------------------------------
      SUBROUTINE  ADD (A,B,C,N,M, LIG)
C--------------------------------------------------------------------
      INTEGER N, M, LIG
      INTEGER A (N,M), B(N,M), C (N,M)
       
C     BEGIN 
         DO 30 J = 1,M
            C (LIG, J) = A (LIG, J) + B (LIG, J)
  30     CONTINUE
      END 

C--------------------------------------------
      PROGRAM  ESS
C--------------------------------------------------------------------
C     BEGIN
       EXTERNAL ADD
       INTEGER N,M, A(400, 10000), B(400, 10000), C (400, 10000)
       N = 400
       M = 10000
C
C  first interface
C
       CALL ADAINIT
       CALL INIT (A, N, M, 2)
       CALL INIT (B, N, M, 8)
       CALL PARLOOP6 (1, N, I, ADD, A, B, C, N, M, I)
C       CALL PRINT_MATR (C, N, M)
C
C  seconde interface
C
       CALL INIT (A, N, M, 20)
       CALL INIT (B, N, M, 18)
       call INITSYNC (ISYNCH)
       DO 40 I= 1,N
         CALL POST6 (ISYNCH, I, ADD, A, B, C, N, M, I)
 40    CONTINUE
       CALL WAITSYNC (ISYNCH)
C       CALL PRINT_MATR (C, N, M)
       CALL STOP
       CALL ADAFINAL
      END