Skip to content

Commit 1f7bf0d

Browse files
authored
Merge pull request #9806 from jsquyres/pr/add-f08-types-to-mpi-module
mpi module: add the mpi_f08 TYPE(MPI_Foo) types
2 parents cb3e03d + 2e0a595 commit 1f7bf0d

File tree

2 files changed

+182
-180
lines changed

2 files changed

+182
-180
lines changed
Lines changed: 1 addition & 179 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
! -*- f90 -*-
22
!
3-
! Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
3+
! Copyright (c) 2009-2022 Cisco Systems, Inc. All rights reserved
44
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
55
! All rights reserved.
66
! Copyright (c) 2015-2020 Research Organization for Information Science
@@ -27,50 +27,6 @@ module mpi_f08_types
2727
include "mpif-constants.h"
2828
include "mpif-io-constants.h"
2929

30-
!
31-
! derived types
32-
!
33-
34-
type, BIND(C) :: MPI_Comm
35-
integer :: MPI_VAL
36-
end type MPI_Comm
37-
38-
type, BIND(C) :: MPI_Datatype
39-
integer :: MPI_VAL
40-
end type MPI_Datatype
41-
42-
type, BIND(C) :: MPI_Errhandler
43-
integer :: MPI_VAL
44-
end type MPI_Errhandler
45-
46-
type, BIND(C) :: MPI_File
47-
integer :: MPI_VAL
48-
end type MPI_File
49-
50-
type, BIND(C) :: MPI_Group
51-
integer :: MPI_VAL
52-
end type MPI_Group
53-
54-
type, BIND(C) :: MPI_Info
55-
integer :: MPI_VAL
56-
end type MPI_Info
57-
58-
type, BIND(C) :: MPI_Message
59-
integer :: MPI_VAL
60-
end type MPI_Message
61-
62-
type, BIND(C) :: MPI_Op
63-
integer :: MPI_VAL
64-
end type MPI_Op
65-
66-
type, BIND(C) :: MPI_Request
67-
integer :: MPI_VAL
68-
end type MPI_Request
69-
70-
type, BIND(C) :: MPI_Win
71-
integer :: MPI_VAL
72-
end type MPI_Win
73-
7430
!
7531
! Pre-defined handles
7632
!
@@ -206,138 +162,4 @@ module mpi_f08_types
206162
!------------------------------
207163
#include "mpif-f08-types.h"
208164

209-
!... Interfaces for operators with handles
210-
!-----------------------------------------
211-
interface operator (.EQ.)
212-
module procedure ompi_comm_op_eq
213-
module procedure ompi_datatype_op_eq
214-
module procedure ompi_errhandler_op_eq
215-
module procedure ompi_file_op_eq
216-
module procedure ompi_group_op_eq
217-
module procedure ompi_info_op_eq
218-
module procedure ompi_message_op_eq
219-
module procedure ompi_op_op_eq
220-
module procedure ompi_request_op_eq
221-
module procedure ompi_win_op_eq
222-
end interface
223-
224-
interface operator (.NE.)
225-
module procedure ompi_comm_op_ne
226-
module procedure ompi_datatype_op_ne
227-
module procedure ompi_errhandler_op_ne
228-
module procedure ompi_file_op_ne
229-
module procedure ompi_group_op_ne
230-
module procedure ompi_info_op_ne
231-
module procedure ompi_message_op_ne
232-
module procedure ompi_op_op_ne
233-
module procedure ompi_request_op_ne
234-
module procedure ompi_win_op_ne
235-
end interface
236-
237-
contains
238-
239-
!... .EQ. operator
240-
!-----------------
241-
logical function ompi_comm_op_eq(a, b)
242-
type(MPI_Comm), intent(in) :: a, b
243-
ompi_comm_op_eq = (a%MPI_VAL .EQ. b%MPI_VAL)
244-
end function ompi_comm_op_eq
245-
246-
logical function ompi_datatype_op_eq(a, b)
247-
type(MPI_Datatype), intent(in) :: a, b
248-
ompi_datatype_op_eq = (a%MPI_VAL .EQ. b%MPI_VAL)
249-
end function ompi_datatype_op_eq
250-
251-
logical function ompi_errhandler_op_eq(a, b)
252-
type(MPI_Errhandler), intent(in) :: a, b
253-
ompi_errhandler_op_eq = (a%MPI_VAL .EQ. b%MPI_VAL)
254-
end function ompi_errhandler_op_eq
255-
256-
logical function ompi_file_op_eq(a, b)
257-
type(MPI_File), intent(in) :: a, b
258-
ompi_file_op_eq = (a%MPI_VAL .EQ. b%MPI_VAL)
259-
end function ompi_file_op_eq
260-
261-
logical function ompi_group_op_eq(a, b)
262-
type(MPI_Group), intent(in) :: a, b
263-
ompi_group_op_eq = (a%MPI_VAL .EQ. b%MPI_VAL)
264-
end function ompi_group_op_eq
265-
266-
logical function ompi_info_op_eq(a, b)
267-
type(MPI_Info), intent(in) :: a, b
268-
ompi_info_op_eq = (a%MPI_VAL .EQ. b%MPI_VAL)
269-
end function ompi_info_op_eq
270-
271-
logical function ompi_message_op_eq(a, b)
272-
type(MPI_Message), intent(in) :: a, b
273-
ompi_message_op_eq = (a%MPI_VAL .EQ. b%MPI_VAL)
274-
end function ompi_message_op_eq
275-
276-
logical function ompi_op_op_eq(a, b)
277-
type(MPI_Op), intent(in) :: a, b
278-
ompi_op_op_eq = (a%MPI_VAL .EQ. b%MPI_VAL)
279-
end function ompi_op_op_eq
280-
281-
logical function ompi_request_op_eq(a, b)
282-
type(MPI_Request), intent(in) :: a, b
283-
ompi_request_op_eq = (a%MPI_VAL .EQ. b%MPI_VAL)
284-
end function ompi_request_op_eq
285-
286-
logical function ompi_win_op_eq(a, b)
287-
type(MPI_Win), intent(in) :: a, b
288-
ompi_win_op_eq = (a%MPI_VAL .EQ. b%MPI_VAL)
289-
end function ompi_win_op_eq
290-
291-
!... .NE. operator
292-
!-----------------
293-
logical function ompi_comm_op_ne(a, b)
294-
type(MPI_Comm), intent(in) :: a, b
295-
ompi_comm_op_ne = (a%MPI_VAL .NE. b%MPI_VAL)
296-
end function ompi_comm_op_ne
297-
298-
logical function ompi_datatype_op_ne(a, b)
299-
type(MPI_Datatype), intent(in) :: a, b
300-
ompi_datatype_op_ne = (a%MPI_VAL .NE. b%MPI_VAL)
301-
end function ompi_datatype_op_ne
302-
303-
logical function ompi_errhandler_op_ne(a, b)
304-
type(MPI_Errhandler), intent(in) :: a, b
305-
ompi_errhandler_op_ne = (a%MPI_VAL .NE. b%MPI_VAL)
306-
end function ompi_errhandler_op_ne
307-
308-
logical function ompi_file_op_ne(a, b)
309-
type(MPI_File), intent(in) :: a, b
310-
ompi_file_op_ne = (a%MPI_VAL .NE. b%MPI_VAL)
311-
end function ompi_file_op_ne
312-
313-
logical function ompi_group_op_ne(a, b)
314-
type(MPI_Group), intent(in) :: a, b
315-
ompi_group_op_ne = (a%MPI_VAL .NE. b%MPI_VAL)
316-
end function ompi_group_op_ne
317-
318-
logical function ompi_info_op_ne(a, b)
319-
type(MPI_Info), intent(in) :: a, b
320-
ompi_info_op_ne = (a%MPI_VAL .NE. b%MPI_VAL)
321-
end function ompi_info_op_ne
322-
323-
logical function ompi_message_op_ne(a, b)
324-
type(MPI_Message), intent(in) :: a, b
325-
ompi_message_op_ne = (a%MPI_VAL .NE. b%MPI_VAL)
326-
end function ompi_message_op_ne
327-
328-
logical function ompi_op_op_ne(a, b)
329-
type(MPI_Op), intent(in) :: a, b
330-
ompi_op_op_ne = (a%MPI_VAL .NE. b%MPI_VAL)
331-
end function ompi_op_op_ne
332-
333-
logical function ompi_request_op_ne(a, b)
334-
type(MPI_Request), intent(in) :: a, b
335-
ompi_request_op_ne = (a%MPI_VAL .NE. b%MPI_VAL)
336-
end function ompi_request_op_ne
337-
338-
logical function ompi_win_op_ne(a, b)
339-
type(MPI_Win), intent(in) :: a, b
340-
ompi_win_op_ne = (a%MPI_VAL .NE. b%MPI_VAL)
341-
end function ompi_win_op_ne
342-
343165
end module mpi_f08_types

0 commit comments

Comments
 (0)