Home
last modified time | relevance | path

Searched refs:copy_mode (Results 1 – 25 of 34) sorted by relevance

12

/libCEED/backends/cuda/
H A Dceed-cuda-common.c52 …viceGenericArray_Cuda(Ceed ceed, const void *source_array, CeedCopyMode copy_mode, size_t size_uni… in CeedSetDeviceGenericArray_Cuda() argument
54 switch (copy_mode) { in CeedSetDeviceGenericArray_Cuda()
81 int CeedSetDeviceBoolArray_Cuda(Ceed ceed, const bool *source_array, CeedCopyMode copy_mode, CeedSi… in CeedSetDeviceBoolArray_Cuda() argument
83 …CeedCallBackend(CeedSetDeviceGenericArray_Cuda(ceed, source_array, copy_mode, sizeof(bool), num_va… in CeedSetDeviceBoolArray_Cuda()
88 int CeedSetDeviceCeedInt8Array_Cuda(Ceed ceed, const CeedInt8 *source_array, CeedCopyMode copy_mode in CeedSetDeviceCeedInt8Array_Cuda() argument
90 …CeedCallBackend(CeedSetDeviceGenericArray_Cuda(ceed, source_array, copy_mode, sizeof(CeedInt8), nu… in CeedSetDeviceCeedInt8Array_Cuda()
95 int CeedSetDeviceCeedIntArray_Cuda(Ceed ceed, const CeedInt *source_array, CeedCopyMode copy_mode, … in CeedSetDeviceCeedIntArray_Cuda() argument
97 …CeedCallBackend(CeedSetDeviceGenericArray_Cuda(ceed, source_array, copy_mode, sizeof(CeedInt), num… in CeedSetDeviceCeedIntArray_Cuda()
102 …calarArray_Cuda(Ceed ceed, const CeedScalar *source_array, CeedCopyMode copy_mode, CeedSize num_va… in CeedSetDeviceCeedScalarArray_Cuda() argument
105 …CeedCallBackend(CeedSetDeviceGenericArray_Cuda(ceed, source_array, copy_mode, sizeof(CeedScalar), … in CeedSetDeviceCeedScalarArray_Cuda()
H A Dceed-cuda-common.h79 …tDeviceBoolArray_Cuda(Ceed ceed, const bool *source_array, CeedCopyMode copy_mode, CeedSize num_va…
81 …eedInt8Array_Cuda(Ceed ceed, const CeedInt8 *source_array, CeedCopyMode copy_mode, CeedSize num_va…
84 …eCeedIntArray_Cuda(Ceed ceed, const CeedInt *source_array, CeedCopyMode copy_mode, CeedSize num_va…
87 …calarArray_Cuda(Ceed ceed, const CeedScalar *source_array, CeedCopyMode copy_mode, CeedSize num_va…
/libCEED/backends/hip/
H A Dceed-hip-common.c59 …eviceGenericArray_Hip(Ceed ceed, const void *source_array, CeedCopyMode copy_mode, size_t size_uni… in CeedSetDeviceGenericArray_Hip() argument
61 switch (copy_mode) { in CeedSetDeviceGenericArray_Hip()
88 int CeedSetDeviceBoolArray_Hip(Ceed ceed, const bool *source_array, CeedCopyMode copy_mode, CeedSiz… in CeedSetDeviceBoolArray_Hip() argument
90 …CeedCallBackend(CeedSetDeviceGenericArray_Hip(ceed, source_array, copy_mode, sizeof(bool), num_val… in CeedSetDeviceBoolArray_Hip()
95 int CeedSetDeviceCeedInt8Array_Hip(Ceed ceed, const CeedInt8 *source_array, CeedCopyMode copy_mode,… in CeedSetDeviceCeedInt8Array_Hip() argument
97 …CeedCallBackend(CeedSetDeviceGenericArray_Hip(ceed, source_array, copy_mode, sizeof(CeedInt8), num… in CeedSetDeviceCeedInt8Array_Hip()
102 int CeedSetDeviceCeedIntArray_Hip(Ceed ceed, const CeedInt *source_array, CeedCopyMode copy_mode, C… in CeedSetDeviceCeedIntArray_Hip() argument
104 …CeedCallBackend(CeedSetDeviceGenericArray_Hip(ceed, source_array, copy_mode, sizeof(CeedInt), num_… in CeedSetDeviceCeedIntArray_Hip()
109 …ScalarArray_Hip(Ceed ceed, const CeedScalar *source_array, CeedCopyMode copy_mode, CeedSize num_va… in CeedSetDeviceCeedScalarArray_Hip() argument
112 …CeedCallBackend(CeedSetDeviceGenericArray_Hip(ceed, source_array, copy_mode, sizeof(CeedScalar), n… in CeedSetDeviceCeedScalarArray_Hip()
H A Dceed-hip-common.h82 …etDeviceBoolArray_Hip(Ceed ceed, const bool *source_array, CeedCopyMode copy_mode, CeedSize num_va…
84 …CeedInt8Array_Hip(Ceed ceed, const CeedInt8 *source_array, CeedCopyMode copy_mode, CeedSize num_va…
87 …ceCeedIntArray_Hip(Ceed ceed, const CeedInt *source_array, CeedCopyMode copy_mode, CeedSize num_va…
90 …ScalarArray_Hip(Ceed ceed, const CeedScalar *source_array, CeedCopyMode copy_mode, CeedSize num_va…
/libCEED/backends/hip-ref/
H A Dceed-hip-ref-qfunctioncontext.c149 …nContextSetDataHost_Hip(const CeedQFunctionContext ctx, const CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetDataHost_Hip() argument
154 switch (copy_mode) { in CeedQFunctionContextSetDataHost_Hip()
180 …ontextSetDataDevice_Hip(const CeedQFunctionContext ctx, const CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetDataDevice_Hip() argument
189 switch (copy_mode) { in CeedQFunctionContextSetDataDevice_Hip()
217 …t CeedQFunctionContext ctx, const CeedMemType mem_type, const CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetData_Hip() argument
221 return CeedQFunctionContextSetDataHost_Hip(ctx, copy_mode, data); in CeedQFunctionContextSetData_Hip()
223 return CeedQFunctionContextSetDataDevice_Hip(ctx, copy_mode, data); in CeedQFunctionContextSetData_Hip()
H A Dceed-hip-ref-vector.c187 static int CeedVectorSetArrayHost_Hip(const CeedVector vec, const CeedCopyMode copy_mode, CeedScala… in CeedVectorSetArrayHost_Hip() argument
194 …CeedCallBackend(CeedSetHostCeedScalarArray(array, copy_mode, length, (const CeedScalar **)&impl->h… in CeedVectorSetArrayHost_Hip()
202 static int CeedVectorSetArrayDevice_Hip(const CeedVector vec, const CeedCopyMode copy_mode, CeedSca… in CeedVectorSetArrayDevice_Hip() argument
211 …CeedCallBackend(CeedSetDeviceCeedScalarArray_Hip(ceed, array, copy_mode, length, (const CeedScalar… in CeedVectorSetArrayDevice_Hip()
220 …etArrayUnifiedHostToDevice_Hip(const CeedVector vec, const CeedCopyMode copy_mode, CeedScalar *arr… in CeedVectorSetArrayUnifiedHostToDevice_Hip() argument
229 switch (copy_mode) { in CeedVectorSetArrayUnifiedHostToDevice_Hip()
241 if (copy_mode == CEED_OWN_POINTER) CeedCallBackend(CeedFree(&array)); in CeedVectorSetArrayUnifiedHostToDevice_Hip()
258 …ip(const CeedVector vec, const CeedMemType mem_type, const CeedCopyMode copy_mode, CeedScalar *arr… in CeedVectorSetArray_Hip() argument
266 return CeedVectorSetArrayUnifiedHostToDevice_Hip(vec, copy_mode, array); in CeedVectorSetArray_Hip()
268 return CeedVectorSetArrayHost_Hip(vec, copy_mode, array); in CeedVectorSetArray_Hip()
[all …]
H A Dceed-hip-ref-restriction.c499 int CeedElemRestrictionCreate_Hip(CeedMemType mem_type, CeedCopyMode copy_mode, const CeedInt *offs… in CeedElemRestrictionCreate_Hip() argument
568 …CeedCallBackend(CeedSetHostCeedIntArray(offsets, copy_mode, at_points_size, &impl->h_offsets_at_po… in CeedElemRestrictionCreate_Hip()
577 copy_mode = CEED_OWN_POINTER; in CeedElemRestrictionCreate_Hip()
593 …CeedCallBackend(CeedSetHostCeedIntArray(offsets, copy_mode, size, &impl->h_offsets_owned, &impl->h… in CeedElemRestrictionCreate_Hip()
600 …CeedCallBackend(CeedSetDeviceCeedIntArray_Hip(ceed, offsets, copy_mode, size, &impl->d_offsets_own… in CeedElemRestrictionCreate_Hip()
613 …CeedCallBackend(CeedSetHostBoolArray(orients, copy_mode, size, &impl->h_orients_owned, &impl->h_or… in CeedElemRestrictionCreate_Hip()
619 …CeedCallBackend(CeedSetDeviceBoolArray_Hip(ceed, orients, copy_mode, size, &impl->d_orients_owned,… in CeedElemRestrictionCreate_Hip()
629 …CeedCallBackend(CeedSetHostCeedInt8Array(curl_orients, copy_mode, 3 * size, &impl->h_curl_orients_… in CeedElemRestrictionCreate_Hip()
637 …CeedCallBackend(CeedSetDeviceCeedInt8Array_Hip(ceed, curl_orients, copy_mode, 3 * size, &impl->d_c… in CeedElemRestrictionCreate_Hip()
/libCEED/backends/cuda-ref/
H A Dceed-cuda-ref-qfunctioncontext.c150 …ContextSetDataHost_Cuda(const CeedQFunctionContext ctx, const CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetDataHost_Cuda() argument
156 switch (copy_mode) { in CeedQFunctionContextSetDataHost_Cuda()
181 …ntextSetDataDevice_Cuda(const CeedQFunctionContext ctx, const CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetDataDevice_Cuda() argument
190 switch (copy_mode) { in CeedQFunctionContextSetDataDevice_Cuda()
218 …t CeedQFunctionContext ctx, const CeedMemType mem_type, const CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetData_Cuda() argument
222 return CeedQFunctionContextSetDataHost_Cuda(ctx, copy_mode, data); in CeedQFunctionContextSetData_Cuda()
224 return CeedQFunctionContextSetDataDevice_Cuda(ctx, copy_mode, data); in CeedQFunctionContextSetData_Cuda()
H A Dceed-cuda-ref-restriction.c498 int CeedElemRestrictionCreate_Cuda(CeedMemType mem_type, CeedCopyMode copy_mode, const CeedInt *off… in CeedElemRestrictionCreate_Cuda() argument
567 …CeedCallBackend(CeedSetHostCeedIntArray(offsets, copy_mode, at_points_size, &impl->h_offsets_at_po… in CeedElemRestrictionCreate_Cuda()
576 copy_mode = CEED_OWN_POINTER; in CeedElemRestrictionCreate_Cuda()
592 …CeedCallBackend(CeedSetHostCeedIntArray(offsets, copy_mode, size, &impl->h_offsets_owned, &impl->h… in CeedElemRestrictionCreate_Cuda()
599 …CeedCallBackend(CeedSetDeviceCeedIntArray_Cuda(ceed, offsets, copy_mode, size, &impl->d_offsets_ow… in CeedElemRestrictionCreate_Cuda()
612 …CeedCallBackend(CeedSetHostBoolArray(orients, copy_mode, size, &impl->h_orients_owned, &impl->h_or… in CeedElemRestrictionCreate_Cuda()
618 …CeedCallBackend(CeedSetDeviceBoolArray_Cuda(ceed, orients, copy_mode, size, &impl->d_orients_owned… in CeedElemRestrictionCreate_Cuda()
628 …CeedCallBackend(CeedSetHostCeedInt8Array(curl_orients, copy_mode, 3 * size, &impl->h_curl_orients_… in CeedElemRestrictionCreate_Cuda()
636 …CeedCallBackend(CeedSetDeviceCeedInt8Array_Cuda(ceed, curl_orients, copy_mode, 3 * size, &impl->d_… in CeedElemRestrictionCreate_Cuda()
H A Dceed-cuda-ref-vector.c175 static int CeedVectorSetArrayHost_Cuda(const CeedVector vec, const CeedCopyMode copy_mode, CeedScal… in CeedVectorSetArrayHost_Cuda() argument
182 …CeedCallBackend(CeedSetHostCeedScalarArray(array, copy_mode, length, (const CeedScalar **)&impl->h… in CeedVectorSetArrayHost_Cuda()
190 static int CeedVectorSetArrayDevice_Cuda(const CeedVector vec, const CeedCopyMode copy_mode, CeedSc… in CeedVectorSetArrayDevice_Cuda() argument
199 …CeedCallBackend(CeedSetDeviceCeedScalarArray_Cuda(ceed, array, copy_mode, length, (const CeedScala… in CeedVectorSetArrayDevice_Cuda()
209 …da(const CeedVector vec, const CeedMemType mem_type, const CeedCopyMode copy_mode, CeedScalar *arr… in CeedVectorSetArray_Cuda() argument
216 return CeedVectorSetArrayHost_Cuda(vec, copy_mode, array); in CeedVectorSetArray_Cuda()
218 return CeedVectorSetArrayDevice_Cuda(vec, copy_mode, array); in CeedVectorSetArray_Cuda()
/libCEED/backends/sycl-ref/
H A Dceed-sycl-ref-qfunctioncontext.sycl.cpp161 …ContextSetDataHost_Sycl(const CeedQFunctionContext ctx, const CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetDataHost_Sycl() argument
166 switch (copy_mode) { in CeedQFunctionContextSetDataHost_Sycl()
192 …ntextSetDataDevice_Sycl(const CeedQFunctionContext ctx, const CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetDataDevice_Sycl() argument
212 switch (copy_mode) { in CeedQFunctionContextSetDataDevice_Sycl()
242 …t CeedQFunctionContext ctx, const CeedMemType mem_type, const CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetData_Sycl() argument
246 return CeedQFunctionContextSetDataHost_Sycl(ctx, copy_mode, data); in CeedQFunctionContextSetData_Sycl()
248 return CeedQFunctionContextSetDataDevice_Sycl(ctx, copy_mode, data); in CeedQFunctionContextSetData_Sycl()
H A Dceed-sycl-vector.sycl.cpp186 static int CeedVectorSetArrayHost_Sycl(const CeedVector vec, const CeedCopyMode copy_mode, CeedScal… in CeedVectorSetArrayHost_Sycl() argument
193 …CeedCallBackend(CeedSetHostCeedScalarArray(array, copy_mode, length, (const CeedScalar **)&impl->h… in CeedVectorSetArrayHost_Sycl()
201 static int CeedVectorSetArrayDevice_Sycl(const CeedVector vec, const CeedCopyMode copy_mode, CeedSc… in CeedVectorSetArrayDevice_Sycl() argument
217 switch (copy_mode) { in CeedVectorSetArrayDevice_Sycl()
258 …cl(const CeedVector vec, const CeedMemType mem_type, const CeedCopyMode copy_mode, CeedScalar *arr… in CeedVectorSetArray_Sycl() argument
266 return CeedVectorSetArrayHost_Sycl(vec, copy_mode, array); in CeedVectorSetArray_Sycl()
268 return CeedVectorSetArrayDevice_Sycl(vec, copy_mode, array); in CeedVectorSetArray_Sycl()
H A Dceed-sycl-ref.hpp123 CEED_INTERN int CeedElemRestrictionCreate_Sycl(CeedMemType mem_type, CeedCopyMode copy_mode, const …
/libCEED/interface/
H A Dceed-elemrestriction.c658 … CeedMemType mem_type, CeedCopyMode copy_mode, const CeedInt *offsets, CeedElemRestriction *rstr) { in CeedElemRestrictionCreate() argument
664 …delegate, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, rstr)); in CeedElemRestrictionCreate()
685 CeedCall(ceed->ElemRestrictionCreate(mem_type, copy_mode, offsets, NULL, NULL, *rstr)); in CeedElemRestrictionCreate()
713 … CeedMemType mem_type, CeedCopyMode copy_mode, const CeedInt *offsets, const bool *orients, in CeedElemRestrictionCreateOriented() argument
720 …delegate, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, orient… in CeedElemRestrictionCreateOriented()
742 CeedCall(ceed->ElemRestrictionCreate(mem_type, copy_mode, offsets, orients, NULL, *rstr)); in CeedElemRestrictionCreateOriented()
771 …CeedMemType mem_type, CeedCopyMode copy_mode, const CeedInt *offsets, const CeedInt8 *curl_orients, in CeedElemRestrictionCreateCurlOriented() argument
778 …riented(delegate, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, in CeedElemRestrictionCreateCurlOriented()
800 CeedCall(ceed->ElemRestrictionCreate(mem_type, copy_mode, offsets, NULL, curl_orients, *rstr)); in CeedElemRestrictionCreateCurlOriented()
892 … CeedCopyMode copy_mode, const CeedInt *offsets, CeedElemRestriction *rstr) { in CeedElemRestrictionCreateAtPoints() argument
[all …]
H A Dceed.c380 static inline int CeedSetHostGenericArray(const void *source_array, CeedCopyMode copy_mode, size_t … in CeedSetHostGenericArray() argument
382 switch (copy_mode) { in CeedSetHostGenericArray()
422 int CeedSetHostBoolArray(const bool *source_array, CeedCopyMode copy_mode, CeedSize num_values, con… in CeedSetHostBoolArray() argument
424 …CeedCall(CeedSetHostGenericArray(source_array, copy_mode, sizeof(bool), num_values, target_array_o… in CeedSetHostBoolArray()
441 int CeedSetHostCeedInt8Array(const CeedInt8 *source_array, CeedCopyMode copy_mode, CeedSize num_val… in CeedSetHostCeedInt8Array() argument
443 …CeedCall(CeedSetHostGenericArray(source_array, copy_mode, sizeof(CeedInt8), num_values, target_arr… in CeedSetHostCeedInt8Array()
460 int CeedSetHostCeedIntArray(const CeedInt *source_array, CeedCopyMode copy_mode, CeedSize num_value… in CeedSetHostCeedIntArray() argument
462 …CeedCall(CeedSetHostGenericArray(source_array, copy_mode, sizeof(CeedInt), num_values, target_arra… in CeedSetHostCeedIntArray()
479 int CeedSetHostCeedScalarArray(const CeedScalar *source_array, CeedCopyMode copy_mode, CeedSize num… in CeedSetHostCeedScalarArray() argument
481 …CeedCall(CeedSetHostGenericArray(source_array, copy_mode, sizeof(CeedScalar), num_values, target_a… in CeedSetHostCeedScalarArray()
/libCEED/backends/ref/
H A Dceed-ref-qfunctioncontext.c41 …xtSetData_Ref(CeedQFunctionContext ctx, CeedMemType mem_type, CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetData_Ref() argument
51 switch (copy_mode) { in CeedQFunctionContextSetData_Ref()
H A Dceed-ref-vector.c42 static int CeedVectorSetArray_Ref(CeedVector vec, CeedMemType mem_type, CeedCopyMode copy_mode, Cee… in CeedVectorSetArray_Ref() argument
51 …CeedCallBackend(CeedSetHostCeedScalarArray(array, copy_mode, length, (const CeedScalar **)&impl->a… in CeedVectorSetArray_Ref()
H A Dceed-ref.h67 CEED_INTERN int CeedElemRestrictionCreate_Ref(CeedMemType mem_type, CeedCopyMode copy_mode, const C…
/libCEED/rust/libceed/src/
H A Dvector.rs156 let (host, copy_mode) = ( in from_vector_and_slice_mut()
164 copy_mode, in from_vector_and_slice_mut()
452 let (host, copy_mode) = ( in set_slice()
460 copy_mode, in set_slice()
/libCEED/backends/memcheck/
H A Dceed-memcheck.h68 CEED_INTERN int CeedElemRestrictionCreate_Memcheck(CeedMemType mem_type, CeedCopyMode copy_mode, co…
H A Dceed-memcheck-qfunctioncontext.c43 …Data_Memcheck(CeedQFunctionContext ctx, CeedMemType mem_type, CeedCopyMode copy_mode, void *data) { in CeedQFunctionContextSetData_Memcheck() argument
68 switch (copy_mode) { in CeedQFunctionContextSetData_Memcheck()
H A Dceed-memcheck-vector.c45 static int CeedVectorSetArray_Memcheck(CeedVector vec, CeedMemType mem_type, CeedCopyMode copy_mode in CeedVectorSetArray_Memcheck() argument
60 if (copy_mode != CEED_COPY_VALUES) { in CeedVectorSetArray_Memcheck()
72 switch (copy_mode) { in CeedVectorSetArray_Memcheck()
/libCEED/include/ceed/
H A Dceed.h203 CEED_EXTERN int CeedVectorSetArray(CeedVector vec, CeedMemType mem_type, CeedCopyMode copy_mode, C…
263 … CeedMemType mem_type, CeedCopyMode copy_mode, const CeedInt *offsets, CeedElemRestriction *rstr);
265 … CeedSize l_size, CeedMemType mem_type, CeedCopyMode copy_mode, const CeedInt *offsets,
268 … CeedSize l_size, CeedMemType mem_type, CeedCopyMode copy_mode, const CeedInt *offsets,
273 … CeedMemType mem_type, CeedCopyMode copy_mode, const CeedInt *offsets, CeedElemRestriction *rstr);
275 … CeedInt comp_stride, CeedSize l_size, CeedMemType mem_type, CeedCopyMode copy_mode,
278 … CeedInt comp_stride, CeedSize l_size, CeedMemType mem_type, CeedCopyMode copy_mode,
281 … CeedInt comp_stride, CeedSize l_size, CeedMemType mem_type, CeedCopyMode copy_mode,
413 …extSetData(CeedQFunctionContext ctx, CeedMemType mem_type, CeedCopyMode copy_mode, size_t size, vo…
H A Dbackend.h194 CEED_INTERN int CeedSetHostBoolArray(const bool *source_array, CeedCopyMode copy_mode, CeedSize num…
196 CEED_INTERN int CeedSetHostCeedInt8Array(const CeedInt8 *source_array, CeedCopyMode copy_mode, Ceed…
198 CEED_INTERN int CeedSetHostCeedIntArray(const CeedInt *source_array, CeedCopyMode copy_mode, CeedSi…
200 CEED_INTERN int CeedSetHostCeedScalarArray(const CeedScalar *source_array, CeedCopyMode copy_mode, …
/libCEED/julia/LibCEED.jl/src/generated/
H A Dlibceed_bindings.jl199 function CeedVectorSetArray(vec, mem_type, copy_mode, array) argument
200 …), Cint, (CeedVector, CeedMemType, CeedCopyMode, Ptr{CeedScalar}), vec, mem_type, copy_mode, array)
283 …reate(ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, rstr) argument
284 …on}), ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, rstr)
287 …ted(ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, orient… argument
288 …}), ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, orient…
291 …ted(ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, curl_o… argument
292 …}), ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, curl_o…
299 …ionCreateAtPoints(ceed, num_elem, num_points, num_comp, l_size, mem_type, copy_mode, offsets, rstr) argument
300 …lemRestriction}), ceed, num_elem, num_points, num_comp, l_size, mem_type, copy_mode, offsets, rstr)
[all …]

12