@@ -731,7 +731,7 @@ cdef class usm_ndarray:
731
731
adv_ind_start_p = _meta[4 ]
732
732
733
733
if adv_ind_start_p < 0 :
734
- res.flags_ ^ = (~ self .flags_ & USM_ARRAY_WRITABLE)
734
+ res.flags_ = (res.flags_ & ~ USM_ARRAY_WRITABLE) | ( self .flags_ & USM_ARRAY_WRITABLE)
735
735
return res
736
736
737
737
from ._copy_utils import _extract_impl, _nonzero_impl, _take_multi_index
@@ -749,7 +749,7 @@ cdef class usm_ndarray:
749
749
if not matching:
750
750
raise IndexError (" boolean index did not match indexed array in dimensions" )
751
751
res = _extract_impl(res, key_, axis = adv_ind_start_p)
752
- res.flags_ ^ = (~ self .flags_ & USM_ARRAY_WRITABLE)
752
+ res.flags_ = (res.flags_ & ~ USM_ARRAY_WRITABLE) | ( self .flags_ & USM_ARRAY_WRITABLE)
753
753
return res
754
754
755
755
if any (ind.dtype == dpt_bool for ind in adv_ind):
@@ -760,11 +760,11 @@ cdef class usm_ndarray:
760
760
else :
761
761
adv_ind_int.append(ind)
762
762
res = _take_multi_index(res, tuple (adv_ind_int), adv_ind_start_p)
763
- res.flags_ ^ = (~ self .flags_ & USM_ARRAY_WRITABLE)
763
+ res.flags_ = (res.flags_ & ~ USM_ARRAY_WRITABLE) | ( self .flags_ & USM_ARRAY_WRITABLE)
764
764
return res
765
765
766
766
res = _take_multi_index(res, adv_ind, adv_ind_start_p)
767
- res.flags_ ^ = (~ self .flags_ & USM_ARRAY_WRITABLE)
767
+ res.flags_ = (res.flags_ & ~ USM_ARRAY_WRITABLE) | ( self .flags_ & USM_ARRAY_WRITABLE)
768
768
return res
769
769
770
770
def to_device (self , target , stream = None ):
@@ -1228,7 +1228,7 @@ cdef usm_ndarray _real_view(usm_ndarray ary):
1228
1228
offset = offset_elems,
1229
1229
order = (' C' if (ary.flags_ & USM_ARRAY_C_CONTIGUOUS) else ' F' )
1230
1230
)
1231
- r.flags_ ^ = (~ ary.flags_ & USM_ARRAY_WRITABLE)
1231
+ r.flags_ = (r.flags_ & ~ USM_ARRAY_WRITABLE) | ( ary.flags_ & USM_ARRAY_WRITABLE)
1232
1232
r.array_namespace_ = ary.array_namespace_
1233
1233
return r
1234
1234
@@ -1260,7 +1260,7 @@ cdef usm_ndarray _imag_view(usm_ndarray ary):
1260
1260
offset = offset_elems,
1261
1261
order = (' C' if (ary.flags_ & USM_ARRAY_C_CONTIGUOUS) else ' F' )
1262
1262
)
1263
- r.flags_ ^ = (~ ary.flags_ & USM_ARRAY_WRITABLE)
1263
+ r.flags_ = (r.flags_ & ~ USM_ARRAY_WRITABLE) | ( ary.flags_ & USM_ARRAY_WRITABLE)
1264
1264
r.array_namespace_ = ary.array_namespace_
1265
1265
return r
1266
1266
@@ -1280,7 +1280,7 @@ cdef usm_ndarray _transpose(usm_ndarray ary):
1280
1280
order = (' F' if (ary.flags_ & USM_ARRAY_C_CONTIGUOUS) else ' C' ),
1281
1281
offset = ary.get_offset()
1282
1282
)
1283
- r.flags_ ^ = (~ ary.flags_ & USM_ARRAY_WRITABLE)
1283
+ r.flags_ = (r.flags_ & ~ USM_ARRAY_WRITABLE) | ( ary.flags_ & USM_ARRAY_WRITABLE)
1284
1284
return r
1285
1285
1286
1286
@@ -1297,7 +1297,7 @@ cdef usm_ndarray _m_transpose(usm_ndarray ary):
1297
1297
order = (' F' if (ary.flags_ & USM_ARRAY_C_CONTIGUOUS) else ' C' ),
1298
1298
offset = ary.get_offset()
1299
1299
)
1300
- r.flags_ ^ = (~ ary.flags_ & USM_ARRAY_WRITABLE)
1300
+ r.flags_ = (r.flags_ & ~ USM_ARRAY_WRITABLE) | ( ary.flags_ & USM_ARRAY_WRITABLE)
1301
1301
return r
1302
1302
1303
1303
0 commit comments