@@ -111,7 +111,7 @@ def type_text(self, enable_count=False):
111
111
112
112
113
113
@Type .add_type ('COUNT_ARRAY' )
114
- class TypeCount (Type ):
114
+ class TypeCountArray (Type ):
115
115
"""Array of counts (either int or MPI_Count)."""
116
116
117
117
@property
@@ -127,7 +127,7 @@ def parameter(self, enable_count=False):
127
127
128
128
129
129
@Type .add_type ('DISPL_ARRAY' )
130
- class TypeCount (Type ):
130
+ class TypeDisplArray (Type ):
131
131
132
132
@property
133
133
def is_count (self ):
@@ -142,19 +142,26 @@ def parameter(self, enable_count=False):
142
142
143
143
144
144
@Type .add_type ('INT' )
145
- class TypeBufferOut (Type ):
145
+ class TypeInt (Type ):
146
146
147
147
def type_text (self , enable_count = False ):
148
148
return 'int'
149
149
150
150
151
151
@Type .add_type ('AINT' )
152
- class TypeBufferOut (Type ):
152
+ class TypeAint (Type ):
153
153
154
154
def type_text (self , enable_count = False ):
155
155
return 'MPI_Aint'
156
156
157
157
158
+ @Type .add_type ('AINT_OUT' )
159
+ class TypeAintOut (Type ):
160
+
161
+ def type_text (self , enable_count = False ):
162
+ return 'MPI_Aint *'
163
+
164
+
158
165
@Type .add_type ('INT_OUT' )
159
166
class TypeBufferOut (Type ):
160
167
@@ -168,6 +175,13 @@ def parameter(self, enable_count=False, **kwargs):
168
175
return f'int { self .name } []'
169
176
170
177
178
+ @Type .add_type ('OFFSET_OUT' )
179
+ class TypeOffsetOut (Type ):
180
+
181
+ def type_text (self , enable_count = False ):
182
+ return 'MPI_Offset *{self.name}'
183
+
184
+
171
185
@Type .add_type ('DOUBLE' )
172
186
class TypeDouble (Type ):
173
187
@@ -491,6 +505,43 @@ def type_text(self, enable_count=False):
491
505
return self .mangle_name ('MPI_Info' )
492
506
493
507
508
+ @Type .add_type ('INFO_OUT' , abi_type = ['ompi' ])
509
+ class TypeInfoOut (Type ):
510
+
511
+ def type_text (self , enable_count = False ):
512
+ return 'MPI_Info *'
513
+
514
+
515
+ @Type .add_type ('INFO_OUT' , abi_type = ['standard' ])
516
+ class TypeInfoOutStandard (Type ):
517
+
518
+ @property
519
+ def argument (self ):
520
+ return f'(MPI_Info *) { self .name } '
521
+
522
+ def type_text (self , enable_count = False ):
523
+ type_name = self .mangle_name ('MPI_Info' )
524
+ return f'{ type_name } *'
525
+
526
+
527
+ @Type .add_type ('FILE' , abi_type = ['ompi' ])
528
+ class TypeFile (Type ):
529
+
530
+ def type_text (self , enable_count = False ):
531
+ return 'MPI_File'
532
+
533
+
534
+ @Type .add_type ('FILE' , abi_type = ['standard' ])
535
+ class TypeFileStandard (Type ):
536
+
537
+ @property
538
+ def argument (self ):
539
+ return f'(MPI_File) { self .name } '
540
+
541
+ def type_text (self , enable_count = False ):
542
+ return self .mangle_name ('MPI_File' )
543
+
544
+
494
545
@Type .add_type ('FILE_OUT' , abi_type = ['ompi' ])
495
546
class TypeFileOut (Type ):
496
547
@@ -512,3 +563,103 @@ def final_code(self):
512
563
def type_text (self , enable_count = False ):
513
564
type_name = self .mangle_name ('MPI_File' )
514
565
return f'{ type_name } *'
566
+
567
+
568
+ @Type .add_type ('MESSAGE_OUT' , abi_type = ['ompi' ])
569
+ class TypeMessageOut (Type ):
570
+
571
+ def type_text (self , enable_count = False ):
572
+ return 'MPI_Message *'
573
+
574
+
575
+ @Type .add_type ('MESSAGE_OUT' , abi_type = ['standard' ])
576
+ class TypeMessageOutStandard (Type ):
577
+
578
+ @property
579
+ def argument (self ):
580
+ return f'(MPI_Message *) { self .name } '
581
+
582
+ def type_text (self , enable_count = False ):
583
+ type_name = self .mangle_name ('MPI_Message' )
584
+ return f'{ type_name } *'
585
+
586
+
587
+ @Type .add_type ('COMM_ERRHANDLER_FUNCTION' , abi_type = ['ompi' ])
588
+ class TypeCommErrhandlerFunction (Type ):
589
+
590
+ def type_text (self , enable_count = False ):
591
+ return 'MPI_Comm_errhandler_function *'
592
+
593
+
594
+ @Type .add_type ('COMM_ERRHANDLER_FUNCTION' , abi_type = ['standard' ])
595
+ class TypeCommErrhandlerFunctionStandard (Type ):
596
+ # TODO: This may require a special function to wrap the calllback
597
+ pass
598
+
599
+
600
+ @Type .add_type ('FILE_ERRHANDLER_FUNCTION' , abi_type = ['ompi' ])
601
+ class TypeFileErrhandlerFunction (Type ):
602
+
603
+ def type_text (self , enable_count = False ):
604
+ return 'MPI_File_errhandler_function *'
605
+
606
+
607
+ @Type .add_type ('FILE_ERRHANDLER_FUNCTION' , abi_type = ['standard' ])
608
+ class TypeFileErrhandlerFunction (Type ):
609
+ # TODO: This may require a special function to wrap the callback
610
+ pass
611
+
612
+
613
+ @Type .add_type ('ERRHANDLER' , abi_type = ['ompi' ])
614
+ class TypeErrhandler (Type ):
615
+
616
+ def type_text (self , enable_count = False ):
617
+ return 'MPI_Errhandler'
618
+
619
+
620
+ @Type .add_type ('ERRHANDLER' , abi_type = ['standard' ])
621
+ class TypeErrhandlerStandard (Type ):
622
+
623
+ @property
624
+ def argument (self ):
625
+ return f'(MPI_Errhandler) { self .name } '
626
+
627
+ def type_text (self , enable_count = False ):
628
+ return self .mangle_name ('MPI_Errhandler' )
629
+
630
+
631
+ @Type .add_type ('ERRHANDLER_OUT' , abi_type = ['ompi' ])
632
+ class TypeErrhandlerOut (Type ):
633
+
634
+ def type_text (self , enable_count = False ):
635
+ return 'MPI_Errhandler *'
636
+
637
+
638
+ @Type .add_type ('ERRHANDLER_OUT' , abi_type = ['standard' ])
639
+ class TypeErrhandlerOutStandard (Type ):
640
+
641
+ @property
642
+ def argument (self ):
643
+ return f'(MPI_Errhandler *) { self .name } '
644
+
645
+ def type_text (self , enable_count = False ):
646
+ type_name = self .mangle_name ('MPI_Errhandler' )
647
+ return f'{ MPI_Errhandler } *'
648
+
649
+
650
+ @Type .add_type ('GROUP' , abi_type = ['ompi' ])
651
+ class TypeGroup (Type ):
652
+
653
+ def type_text (self , enable_count = False ):
654
+ return 'MPI_Group'
655
+
656
+
657
+ @Type .add_type ('GROUP' , abi_type = ['standard' ])
658
+ class TypeGroupStandard (Type ):
659
+
660
+ @property
661
+ def argument (self ):
662
+ return f'(MPI_Group) { self .name } '
663
+
664
+ def type_text (self , enable_count = False ):
665
+ return self .mangle_name ('MPI_Group' )
0 commit comments