2 real(DP) FUNCTION vlsc3(X,Y,B,N)
4 use opctr, only : isclld, nrout, myrout, rname, dct, ncall, dcount
7 integer,
intent(in) :: n
8 real(DP),
intent(in) :: X(n),Y(n),B(n)
18 rname(myrout) =
'VLSC3 '
21 dct(myrout) = dct(myrout) + float(isbcnt)
22 ncall(myrout) = ncall(myrout) + 1
23 dcount = dcount + float(isbcnt)
42 CHARACTER(1) :: BLNK =
' '
66 CHARACTER(1) :: A(n), B(n)
79 integer,
intent(in) :: n
80 REAL(DP),
intent(in) :: VEC(n)
83 real(DP) :: TAMAX = 0.0
86 tamax = max(tamax,abs(vec(i)))
95 subroutine vcross (u1,u2,u3,v1,v2,v3,w1,w2,w3,n)
99 integer,
intent(in) :: n
100 real(DP),
intent(out) :: U1(n), U2(n), U3(n)
101 real(DP),
intent(in) :: V1(n), V2(n), V3(n)
102 real(DP),
intent(in) :: W1(n), W2(n), W3(n)
106 u1(i) = v2(i)*w3(i) - v3(i)*w2(i)
107 u2(i) = v3(i)*w1(i) - v1(i)*w3(i)
108 u3(i) = v1(i)*w2(i) - v2(i)*w1(i)
118 integer,
intent(in) :: i, n
126 'WARNING: Attempt to take MOD(I,0) in function mod1.'
138 integer,
intent(in) :: k
139 real(DP) :: rk, rlog, rlog2
154 integer,
intent(in) :: n
155 integer,
intent(in) :: ind(n)
156 integer,
intent(inout) :: b(n)
157 integer,
intent(out) :: temp(n)
181 integer,
intent(in) :: n
182 REAL(DP),
intent(in) :: A(n),B(n),MULT(n)
183 REAL(DP) :: TMP,WORK(1)
187 if (isclld == 0)
then
191 rname(myrout) =
'glsc3 '
194 dct(myrout) = dct(myrout) + (isbcnt)
195 ncall(myrout) = ncall(myrout) + 1
196 dcount = dcount + (isbcnt)
201 tmp = tmp + a(i)*b(i)*mult(i)
203 CALL
gop(tmp,work,
'+ ',1)
213 integer,
intent(in) :: n
214 real(DP),
intent(in) :: x(n), y(n)
215 real(DP) :: tmp,work(1)
219 if (isclld == 0)
then
223 rname(myrout) =
'glsc2 '
226 dct(myrout) = dct(myrout) + (isbcnt)
227 ncall(myrout) = ncall(myrout) + 1
228 dcount = dcount + (isbcnt)
235 CALL
gop(tmp,work,
'+ ',1)
246 real(DP),
intent(in) :: x(n), y(n),z(n)
247 real(DP) :: tmp,work(1), ds
252 ds=ds+x(i)*x(i)*y(i)*z(i)
255 call
gop(tmp,work,
'+ ',1)
264 integer,
intent(in) :: n
265 real(DP),
intent(in) :: X(n)
266 real(DP) :: TMP(1),WORK(1), tsum
273 CALL
gop(tmp,work,
'+ ',1)
284 real(DP) :: TMP(1),WORK(1), tmax
288 tmax = max(tmax,abs(a(i)))
291 CALL
gop(tmp,work,
'M ',1)
299 integer,
intent(in) :: n, a(n)
300 integer :: tmp(1),work(1), tmin, i
306 call
igop(tmp,work,
'm ',1)
314 integer,
intent(in) :: n, a(n)
315 integer :: tmp(1),work(1), tmax, i
321 call
igop(tmp,work,
'M ',1)
329 integer,
intent(in) :: n
330 integer,
intent(in) :: a(n)
331 integer :: tmp(1),work(1),tsum, i
337 call
igop(tmp,work,
'+ ',1)
346 integer,
intent(in) :: n
347 integer(i8),
intent(in) :: a(n)
349 integer(i8) :: tsum, tmp(1),work(1)
357 call
i8gop(tmp,work,
'+ ',1)
367 integer,
intent(in) :: n
368 REAL(DP),
intent(in) :: A(n)
369 real(DP) :: TMP(1),WORK(1), tmax
377 CALL
gop(tmp,work,
'M ',1)
386 integer,
intent(in) :: n
387 REAL(DP),
intent(in) :: A(n)
388 real(DP) :: TMP(1),WORK(1), tmin
395 CALL
gop(tmp,work,
'm ',1)
406 real(DP) :: TMP(1),WORK(1)
412 IF ( .NOT. la) tmp(1)=0._dp
414 CALL
gop(tmp,work,
'* ',1)
415 IF (tmp(1) == 0._dp) la=lb
424 integer :: a(n),ind(n)
425 integer :: aa, j, i, ii, ir, l
456 if ( a(j) < a(j+1) ) j=j+1
482 integer :: j, i, ii, ir, l
513 if ( a(j) < a(j+1) ) j=j+1
534 integer,
intent(in) :: n
535 integer(i8),
intent(inout) :: a(n)
536 integer(i8) :: tmp(1),work(1),tmax
545 call
i8gop(tmp,work,
'M ',1)
558 integer,
intent(in) :: n
559 real(DP),
intent(out) :: a(n,n)
572 integer,
intent(in) :: n
573 integer,
intent(inout) :: x(n)
574 integer,
intent(inout) :: p(n)
576 integer :: j, k, loop_start, next, nextp, t1, t2
587 write(6,*)
'Hey! iswapt_ip problem.',j,k,n,next
589 elseif (next == loop_start)
then
real(dp) function glamax(a, n)
integer function mod1(i, n)
Yields MOD(I,N) with the exception that if I=K*N, result is N.
subroutine ident(a, n)
Construct A = I_n (identity matrix)
real(dp) function glsc23(x, y, z, n)
Perform inner-product x*x*y*z.
subroutine sort(a, ind, n)
Use Heap Sort (p 231 Num. Rec., 1st Ed.)
real(dp) function vlamax(vec, n)
vector local max(abs( ))
real(dp) function glmax(a, n)
subroutine iswap(b, ind, n, temp)
SORT ASSOCIATED ELEMENTS BY PUTTING ITEM(JJ) into item(i) where JJ = ind(i)
subroutine igop(x, w, op, n)
Global vector commutative operation.
subroutine vcross(u1, u2, u3, v1, v2, v3, w1, w2, w3, n)
Compute a Cartesian vector cross product.
integer(i8) function i8glmax(a, n)
Global maximum of long integer array.
real(dp) function glsum(x, n)
real(dp) function glsc2(x, y, n)
Perform inner-product in double precision.
integer function iglmin(a, n)
real(dp) function vlsc3(X, Y, B, N)
local inner product, with weight
integer function iglmax(a, n)
real(dp) function glmin(a, n)
subroutine isort(a, ind, n)
Use Heap Sort (p 231 Num. Rec., 1st Ed.)
subroutine blank(A, N)
blank a string
real(dp) function glsc3(a, b, mult, n)
Perform inner-product in double precision.
subroutine gop(x, w, op, n)
Global vector commutative operation.
subroutine chcopy(a, b, n)
subroutine iswapt_ip(x, p, n)
subroutine i8gop(x, w, op, n)
Global vector commutative operation.
integer(i8) function i8glsum(a, n)
global sum (long integer)
integer function iglsum(a, n)
subroutine gllog(la, lb)
If ANY LA=LB, then ALL LA=LB.