20
20
)
21
21
22
22
23
+ def _get_flattened_member_count (ty ):
24
+ """Return the number of fields in an instance of a given StructModel."""
25
+ flattened_member_count = 0
26
+ members = ty ._members
27
+ for member in members :
28
+ if isinstance (member , types .UniTuple ):
29
+ flattened_member_count += member .count
30
+ elif isinstance (
31
+ member ,
32
+ (
33
+ types .scalars .Integer ,
34
+ types .misc .PyObject ,
35
+ types .misc .RawPointer ,
36
+ types .misc .CPointer ,
37
+ types .misc .MemInfoPointer ,
38
+ ),
39
+ ):
40
+ flattened_member_count += 1
41
+ else :
42
+ raise UnreachableError
43
+
44
+ return flattened_member_count
45
+
46
+
23
47
class GenericPointerModel (PrimitiveModel ):
24
48
def __init__ (self , dmm , fe_type ):
25
49
adrsp = (
@@ -68,26 +92,7 @@ def __init__(self, dmm, fe_type):
68
92
@property
69
93
def flattened_field_count (self ):
70
94
"""Return the number of fields in an instance of a USMArrayModel."""
71
- flattened_member_count = 0
72
- members = self ._members
73
- for member in members :
74
- if isinstance (member , types .UniTuple ):
75
- flattened_member_count += member .count
76
- elif isinstance (
77
- member ,
78
- (
79
- types .scalars .Integer ,
80
- types .misc .PyObject ,
81
- types .misc .RawPointer ,
82
- types .misc .CPointer ,
83
- types .misc .MemInfoPointer ,
84
- ),
85
- ):
86
- flattened_member_count += 1
87
- else :
88
- raise UnreachableError
89
-
90
- return flattened_member_count
95
+ return _get_flattened_member_count (self )
91
96
92
97
93
98
class DpnpNdArrayModel (StructModel ):
@@ -121,26 +126,7 @@ def __init__(self, dmm, fe_type):
121
126
@property
122
127
def flattened_field_count (self ):
123
128
"""Return the number of fields in an instance of a DpnpNdArrayModel."""
124
- flattened_member_count = 0
125
- members = self ._members
126
- for member in members :
127
- if isinstance (member , types .UniTuple ):
128
- flattened_member_count += member .count
129
- elif isinstance (
130
- member ,
131
- (
132
- types .scalars .Integer ,
133
- types .misc .PyObject ,
134
- types .misc .RawPointer ,
135
- types .misc .CPointer ,
136
- types .misc .MemInfoPointer ,
137
- ),
138
- ):
139
- flattened_member_count += 1
140
- else :
141
- raise UnreachableError
142
-
143
- return flattened_member_count
129
+ return _get_flattened_member_count (self )
144
130
145
131
146
132
class SyclQueueModel (StructModel ):
@@ -211,6 +197,11 @@ def __init__(self, dmm, fe_type):
211
197
]
212
198
super (RangeModel , self ).__init__ (dmm , fe_type , members )
213
199
200
+ @property
201
+ def flattened_field_count (self ):
202
+ """Return the number of fields in an instance of a RangeModel."""
203
+ return _get_flattened_member_count (self )
204
+
214
205
215
206
class NdRangeModel (StructModel ):
216
207
"""The native data model for a
@@ -229,6 +220,11 @@ def __init__(self, dmm, fe_type):
229
220
]
230
221
super (NdRangeModel , self ).__init__ (dmm , fe_type , members )
231
222
223
+ @property
224
+ def flattened_field_count (self ):
225
+ """Return the number of fields in an instance of a NdRangeModel."""
226
+ return _get_flattened_member_count (self )
227
+
232
228
233
229
def _init_data_model_manager () -> datamodel .DataModelManager :
234
230
"""Initializes a DpexKernelTarget-specific data model manager.
0 commit comments