40 bind(c, name =
'hip_copy')
41 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
42 type(c_ptr),
value :: a_d, b_d
47 bind(c, name =
'hip_masked_copy')
48 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
49 type(c_ptr),
value :: a_d, b_d, mask_d
50 integer(c_int) :: n, m
54 bind(c, name =
'hip_masked_red_copy')
55 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
56 type(c_ptr),
value :: a_d, b_d, mask_d
57 integer(c_int) :: n, m
61 bind(c, name =
'hip_cfill_mask')
62 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
64 type(c_ptr),
value :: a_d
66 integer(c_int) :: size
67 type(c_ptr),
value :: mask_d
68 integer(c_int) :: mask_size
72 bind(c, name =
'hip_cmult')
73 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
75 type(c_ptr),
value :: a_d
81 bind(c, name =
'hip_cmult2')
82 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
84 type(c_ptr),
value :: a_d, b_d
90 bind(c, name =
'hip_cadd')
91 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
93 type(c_ptr),
value :: a_d
99 bind(c, name =
'hip_cadd2')
100 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
102 type(c_ptr),
value :: a_d
103 type(c_ptr),
value :: b_d
109 bind(c, name =
'hip_cfill')
110 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
112 type(c_ptr),
value :: a_d
118 bind(c, name =
'hip_rzero')
119 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
120 type(c_ptr),
value :: a_d
125 bind(c, name =
'hip_add2')
126 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
129 type(c_ptr),
value :: a_d, b_d
134 bind(c, name =
'hip_add4')
135 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
138 type(c_ptr),
value :: a_d, b_d, c_d, d_d
143 bind(c, name =
'hip_add2s1')
144 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
147 type(c_ptr),
value :: a_d, b_d
153 bind(c, name =
'hip_add2s2')
154 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
157 type(c_ptr),
value :: a_d, b_d
163 bind(c, name =
'hip_add2s2_many')
164 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
167 type(c_ptr),
value :: y_d, x_d_d, a_d
168 integer(c_int) :: j, n
172 bind(c, name =
'hip_addsqr2s2')
173 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
176 type(c_ptr),
value :: a_d, b_d
182 bind(c, name =
'hip_add3s2')
183 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
186 type(c_ptr),
value :: a_d, b_d, c_d
192 bind(c, name =
'hip_invcol1')
193 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
195 type(c_ptr),
value :: a_d
200 bind(c, name =
'hip_invcol2')
201 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
203 type(c_ptr),
value :: a_d, b_d
208 bind(c, name =
'hip_col2')
209 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
211 type(c_ptr),
value :: a_d, b_d
216 bind(c, name =
'hip_col3')
217 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
219 type(c_ptr),
value :: a_d, b_d, c_d
224 bind(c, name =
'hip_subcol3')
225 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
227 type(c_ptr),
value :: a_d, b_d, c_d
232 bind(c, name =
'hip_sub2')
233 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
235 type(c_ptr),
value :: a_d, b_d
240 bind(c, name =
'hip_sub3')
241 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
243 type(c_ptr),
value :: a_d, b_d, c_d
248 bind(c, name =
'hip_add3')
249 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
251 type(c_ptr),
value :: a_d, b_d, c_d
256 bind(c, name =
'hip_addcol3')
257 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
259 type(c_ptr),
value :: a_d, b_d, c_d
264 bind(c, name =
'hip_addcol4')
265 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
267 type(c_ptr),
value :: a_d, b_d, c_d, d_d
271 subroutine hip_vdot3(dot_d, u1_d, u2_d, u3_d, v1_d, v2_d, v3_d, n) &
272 bind(c, name =
'hip_vdot3')
273 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
275 type(c_ptr),
value :: dot_d, u1_d, u2_d, u3_d, v1_d, v2_d, v3_d
280 w1_d, w2_d, w3_d, n) &
281 bind(c, name =
'hip_vcross')
282 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
284 type(c_ptr),
value :: u1_d, u2_d, u3_d
285 type(c_ptr),
value :: v1_d, v2_d, v3_d
286 type(c_ptr),
value :: w1_d, w2_d, w3_d
291 bind(c, name =
'hip_vlsc3')
292 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
295 type(c_ptr),
value :: u_d, v_d, w_d
300 bind(c, name =
'hip_glsc3')
301 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
304 type(c_ptr),
value :: a_d, b_d, c_d
309 bind(c, name =
'hip_glsc3_many')
310 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
313 type(c_ptr),
value :: w_d, v_d_d, mult_d
314 integer(c_int) :: j, n
319 bind(c, name =
'hip_glsc2')
320 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
323 type(c_ptr),
value :: a_d, b_d
328 bind(c, name =
'hip_glsum')
329 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
332 type(c_ptr),
value :: a_d
337 bind(c, name =
'hip_absval')
338 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
341 type(c_ptr),
value :: a_d
integer, parameter, public c_rp
integer, parameter, public rp
Global precision used in computations.