finalyze moving
This commit is contained in:
45
projects/dvm/fdvm/trunk/examples/gaush.hpf
Normal file
45
projects/dvm/fdvm/trunk/examples/gaush.hpf
Normal file
@@ -0,0 +1,45 @@
|
||||
PROGRAM GAUSH
|
||||
PARAMETER ( N = 10 )
|
||||
REAL A( N, N+1 ),X( N )
|
||||
C section A(1:N,1:N) - matrix of coefficients "A"
|
||||
C section A(1:N,N+1) - vector of free members "b"
|
||||
CHPF$ DISTRIBUTE A ( BLOCK, *)
|
||||
CHPF$ ALIGN X(I) WITH A(I,N+1)
|
||||
PRINT *, '********** TEST_GAUSSHPF *********'
|
||||
CHPF$ INDEPENDENT
|
||||
DO 100 I=1,N
|
||||
DO 100 J=1,N+1
|
||||
IF (I .EQ. J) THEN
|
||||
A(I,J)=2.0
|
||||
ELSE
|
||||
IF (J .EQ. N+1) THEN
|
||||
A(I,J)=1.0
|
||||
ELSE
|
||||
A(I,J)=0.0
|
||||
ENDIF
|
||||
ENDIF
|
||||
100 CONTINUE
|
||||
C
|
||||
C ELIMINATION
|
||||
C
|
||||
DO 1 I = 1, N-1
|
||||
|
||||
CHPF$ INDEPENDENT
|
||||
DO 5 J = I+1, N
|
||||
DO 5 K = I+1, N+1
|
||||
A( J, K ) = A( J, K ) - A( J, I ) * A( I, K ) / A( I, I )
|
||||
5 CONTINUE
|
||||
1 CONTINUE
|
||||
X( N ) = A( N, N+1 ) / A( N, N )
|
||||
C BACK SUBSTITUTION
|
||||
C
|
||||
DO 6 J = N-1, 1, -1
|
||||
CHPF$ INDEPENDENT
|
||||
DO 7 I = 1, J
|
||||
A( I, N+1 ) = A( I, N+1 ) - A( I,J+1)*X(J+1)
|
||||
7 CONTINUE
|
||||
X( J ) = A( J, N+1 ) / A( J, J)
|
||||
6 CONTINUE
|
||||
PRINT *, X
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user