OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
wrtdes.F File Reference
#include "implicit_f.inc"
#include "scr13_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine wrtdes (a, ia, l, iform, ir)

Function/Subroutine Documentation

◆ wrtdes()

subroutine wrtdes ( a,
integer, dimension(*) ia,
integer l,
integer iform,
integer ir )

Definition at line 44 of file wrtdes.F.

45C-----------------------------------------------
46C I m p l i c i t T y p e s
47C-----------------------------------------------
48#include "implicit_f.inc"
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 INTEGER L, IFORM, IR
53 INTEGER IA(*)
54 my_real a(*)
55C-----------------------------------------------
56C C o m m o n B l o c k s
57C-----------------------------------------------
58#include "scr13_c.inc"
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER I, L1, L2, II
63 REAL R4
64 CHARACTER EOR*8, CH8(1000)*8
65C-----------------------------------------------
66C E x t e r n a l F u n c t i o n s
67C-----------------------------------------------
68 CHARACTER STRR*8, STRI*8
69C-----------------------------------------------
70 EXTERNAL strr,stri
71 DATA eor/'ZZZZZEOR'/
72 IF(l==0)RETURN
73
74 IF (iform==0)THEN
75 IF (ir==1)THEN
76 WRITE(iunit) (a(i),i=1,l)
77 ELSE
78 WRITE(iunit) (ia(i),i=1,l)
79 ENDIF
80
81 ELSEIF (iform==1)THEN
82 l1=1
83 l2=1000
84 DO
85 l2=min(l,l2)
86 ii=0
87 IF(ir==1)THEN
88 DO i=l1,l2
89 ii=ii+1
90 ch8(ii)=strr(a(i))
91 ENDDO
92 ELSE
93 DO i=l1,l2
94 ii=ii+1
95 ch8(ii)=stri(ia(i))
96 ENDDO
97 ENDIF
98 IF(l2<l)THEN
99 WRITE(iunit,'(10A8)') (ch8(i),i=1,ii)
100 l1=l1+1000
101 l2=l2+1000
102 cycle
103 ELSEIF(ii<1000) THEN
104 WRITE(iunit,'(10A8)') (ch8(i),i=1,ii),eor
105 ELSE
106 WRITE(iunit,'(10A8)') (ch8(i),i=1,ii)
107 WRITE(iunit,'(10A8)') eor
108 ENDIF
109 ENDDO
110
111 ELSEIF (iform==2)THEN
112 IF(ir==1)THEN
113 WRITE(iunit,'(A,I5,A)')eor,l,'R'
114 WRITE(iunit,'((5(1X,1PE15.8)))')(a(i),i=1,l)
115 ELSE
116 WRITE(iunit,'(A,I5,A)')eor,l,'i'
117 WRITE(IUNIT,'(16i10)') (IA(I),I=1,L)
118 ENDIF
119
120 ELSEIF (IFORM==3)THEN
121 CALL EOR_C(4*L)
122 IF(IR==1)THEN
123 DO I=1,L
124 R4 = A(I)
125 CALL WRITE_R_C(R4,1)
126 ENDDO
127 ELSE
128 CALL WRITE_I_C(IA,L)
129 ENDIF
130 CALL EOR_C(4*L)
131
132 ENDIF
133
134 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
character *8 function stri(n)
Definition stri.F:24
character *8 function strr(y)
Definition strr.F:34