5 & ( op , x , y , z , c , iopt , infini , zero )
115 INTEGER,
INTENT(IN),
OPTIONAL :: IOPT
116 DOUBLE PRECISION,
INTENT(IN),
OPTIONAL :: INFINI
117 DOUBLE PRECISION,
INTENT(IN),
OPTIONAL :: ZERO
121 TYPE(bief_obj),
INTENT(INOUT),
OPTIONAL,
TARGET :: X
122 TYPE(bief_obj),
INTENT(IN) ,
OPTIONAL,
TARGET :: Y,Z
123 DOUBLE PRECISION,
INTENT(IN) ,
OPTIONAL :: C
124 CHARACTER(LEN=8),
INTENT(IN) :: OP
130 INTEGER IBL,TYPX,IDIM,N,NMAX
132 TYPE(bief_obj),
POINTER :: YY,ZZ
142 IF(op(3:3).EQ.
'Y'.OR.op(4:4).EQ.
'Y'.OR.op(5:5).EQ.
'Y'.OR.
143 & op(6:6).EQ.
'Y'.OR.op(7:7).EQ.
'Y'.OR.op(8:8).EQ.
'Y') yay=.true.
144 IF(op(3:3).EQ.
'Z'.OR.op(4:4).EQ.
'Z'.OR.op(5:5).EQ.
'Z'.OR.
145 & op(6:6).EQ.
'Z'.OR.op(7:7).EQ.
'Z'.OR.op(8:8).EQ.
'Z') yaz=.true.
150 IF((op(3:3).EQ.
'C'.AND.op(4:4).NE.
'O').OR.
151 & op(4:4).EQ.
'C'.OR.op(5:5).EQ.
'C'.OR.
152 & op(6:6).EQ.
'C'.OR.op(7:7).EQ.
'C'.OR.op(8:8).EQ.
'C') yac=.true.
159 2
FORMAT(1x,
'OS (BIEF) : C MISSING AND OPERATION ',a8,
' ASKED')
170 11
FORMAT(1x,
'OS (BIEF) : Y MISSING AND OPERATION ',a8,
' ASKED')
189 WRITE(
lu,41) y%NAME,y%ELM,z%NAME,z%ELM
190 41
FORMAT(1x,
'OS (BIEF) : DIFFERENT TYPES FOR ',a6,
' (',1i2,
191 &
') AND ',a6,
' (',1i2,
')')
199 21
FORMAT(1x,
'OS (BIEF) : Z MISSING AND OPERATION ',a8,
' ASKED')
224 IF(x%DIM1.GT.x%MAXDIM1)
THEN 226 101
FORMAT(1x,
'OS (BIEF) : BEYOND ALLOWED MEMORY IN: ',a6)
231 IF(.NOT.
PRESENT(iopt))
THEN 236 CALL ov_2(op,x%R,idim,yy%R,idim,
237 & zz%R,idim,cc,x%MAXDIM1,x%DIM1)
243 CALL ov(op,x%R,yy%R,zz%R,cc,x%DIM1)
245 CALL ov_comp(op,x%R,yy%R,zz%R,cc,x%DIM1,
256 CALL ovd_2(op,x%R,idim,yy%R,idim,zz%R,idim,cc,
257 & x%MAXDIM1,x%DIM1,iopt,infini,zero)
262 CALL ovd(op,x%R,yy%R,zz%R,cc,x%DIM1,iopt,infini,zero)
270 ELSEIF(typx.EQ.4)
THEN 278 IF(.NOT.
cmpobj(x%ADR(ibl)%P,y%ADR(ibl)%P))
THEN 279 CALL cpstvc(y%ADR(ibl)%P,x%ADR(ibl)%P)
285 n = x%ADR(ibl)%P%DIM1
286 nmax = x%ADR(ibl)%P%MAXDIM1
288 WRITE(
lu,101) x%ADR(ibl)%P%NAME
290 201
FORMAT(1x,
' THIS VECTOR IS IN BLOCK: ',a6)
295 IF(.NOT.
PRESENT(iopt))
THEN 297 IF(x%ADR(ibl)%P%DIM2.GT.1)
THEN 299 DO idim = 1 , x%ADR(ibl)%P%DIM2
300 CALL ov_2(op,x%ADR(ibl)%P%R,idim,
301 & yy%ADR(ibl)%P%R,idim,
302 & zz%ADR(ibl)%P%R,idim, cc , nmax , n )
307 CALL ov(op,x%ADR(ibl)%P%R,
309 & zz%ADR(ibl)%P%R, cc , n )
315 IF(x%ADR(ibl)%P%DIM2.GT.1)
THEN 317 DO idim = 1 , x%ADR(ibl)%P%DIM2
318 CALL ovd_2(op,x%ADR(ibl)%P%R,idim,
319 & yy%ADR(ibl)%P%R,idim,
320 & zz%ADR(ibl)%P%R,idim, cc , nmax , n ,
326 CALL ovd(op,x%ADR(ibl)%P%R,
328 & zz%ADR(ibl)%P%R, cc , n ,iopt,infini,zero)
343 WRITE(
lu,1001) x%TYPE,x%NAME
344 1001
FORMAT(1x,
'OS (BIEF): OBJECT TYPE NOT IMPLEMENTED: ',1i3,/,
logical function cmpobj(OBJ1, OBJ2)
subroutine ov_comp(OP, X, Y, Z, C, NPOIN, X_ERR, Y_ERR, Z_ERR)
subroutine ov(OP, X, Y, Z, C, DIM1)
subroutine ov_2(OP, X, DIMX, Y, DIMY, Z, DIMZ, C, DIM1, NPOIN)
subroutine ovd(OP, X, Y, Z, C, NPOIN, IOPT, D, EPS)
subroutine ovd_2(OP, X, DIMX, Y, DIMY, Z, DIMZ, C, DIM1, NPOIN, IOPT, INFINI, ZERO)
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)