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

Go to the source code of this file.

Functions/Subroutines

subroutine reduce_mmx (rin, rinout, len, type)

Function/Subroutine Documentation

◆ reduce_mmx()

subroutine reduce_mmx ( rin,
rinout,
integer len,
integer type )

Definition at line 27 of file reduce_mmx.F.

28C-----------------------------------------------
29C I m p l i c i t T y p e s
30C-----------------------------------------------
31#include "implicit_f.inc"
32C-----------------------------------------------
33C D u m m y A r g u m e n t s
34C-----------------------------------------------
35 INTEGER LEN, TYPE
37 . rin(*), rinout(*)
38C-----------------------------------------------
39C L o c a l V a r i a b l e s
40C-----------------------------------------------
41#ifdef MPI
42 INTEGER I, L, I_LEN
43 parameter(i_len = 46)
44C-----------------------------------------------
45C S o u r c e L i n e s
46C-----------------------------------------------
47 l = 1
48 DO i=1,len
49C X MIN/MAX
50 rinout(l) = max(rinout(l),rin(l))
51 rinout(l+1) = max(rinout(l+1),rin(l+1))
52 rinout(l+2) = max(rinout(l+2),rin(l+2))
53 rinout(l+3) = min(rinout(l+3),rin(l+3))
54 rinout(l+4) = min(rinout(l+4),rin(l+4))
55 rinout(l+5) = min(rinout(l+5),rin(l+5))
56
57 rinout(l+6) = max(rinout(l+6),rin(l+6))
58 rinout(l+7) = max(rinout(l+7),rin(l+7))
59 rinout(l+8) = max(rinout(l+8),rin(l+8))
60
61 rinout(l+ 9) = min(rinout(l+9),rin(l+9))
62 rinout(l+10) = min(rinout(l+10),rin(l+10))
63 rinout(l+11) = min(rinout(l+11),rin(l+11))
64
65 rinout(l+12) = max(rinout(l+12),rin(l+12))
66 rinout(l+13) = max(rinout(l+13),rin(l+13))
67 rinout(l+14) = max(rinout(l+14),rin(l+14))
68
69 rinout(l+15) = min(rinout(l+15),rin(l+15))
70 rinout(l+16) = min(rinout(l+16),rin(l+16))
71 rinout(l+17) = min(rinout(l+17),rin(l+17))
72
73 l = l + 18
74C
75 rinout(l) = max(rinout(l),rin(l))
76 rinout(l+1) = max(rinout(l+1),rin(l+1))
77 rinout(l+2) = max(rinout(l+2),rin(l+2))
78 rinout(l+3) = min(rinout(l+3),rin(l+3))
79 rinout(l+4) = min(rinout(l+4),rin(l+4))
80 rinout(l+5) = min(rinout(l+5),rin(l+5))
81 rinout(l+6) = max(rinout(l+6),rin(l+6))
82 rinout(l+7) = max(rinout(l+7),rin(l+7))
83 rinout(l+8) = max(rinout(l+8),rin(l+8))
84 rinout(l+9) = min(rinout(l+9),rin(l+9))
85 rinout(l+10) = min(rinout(l+10),rin(l+10))
86 rinout(l+11) = min(rinout(l+11),rin(l+11))
87
88 l = l + 12
89C V MIN/MAX
90 rinout(l) = max(rinout(l),rin(l))
91 rinout(l+1) = max(rinout(l+1),rin(l+1))
92 rinout(l+2) = max(rinout(l+2),rin(l+2))
93 rinout(l+3) = min(rinout(l+3),rin(l+3))
94 rinout(l+4) = min(rinout(l+4),rin(l+4))
95 rinout(l+5) = min(rinout(l+5),rin(l+5))
96 l = l + 6
97C
98 rinout(l) = max(rinout(l),rin(l))
99 rinout(l+1) = max(rinout(l+1),rin(l+1))
100 rinout(l+2) = max(rinout(l+2),rin(l+2))
101 rinout(l+3) = min(rinout(l+3),rin(l+3))
102 rinout(l+4) = min(rinout(l+4),rin(l+4))
103 rinout(l+5) = min(rinout(l+5),rin(l+5))
104 l = l + 6
105C NEWFRONT / SIZE
106 rinout(l) = rinout(l)+rin(l)
107 l = l + 1
108C TZINF
109 rinout(l) = min(rinout(l),rin(l))
110 l = l + 1
111C TZINF
112 rinout(l) = max(rinout(l),rin(l))
113 l = l + 1
114C T25 main gap changes with thickness change
115 rinout(l) = max(rinout(l),rin(l))
116 l = l + 1
117 END DO
118C
119#endif
120 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21