MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / af_array_to_string

Function af_array_to_string

src/api/c/print.cpp:221–298  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

219}
220
221af_err af_array_to_string(char **output, const char *exp, const af_array arr,
222 const int precision, bool transpose) {
223 try {
224 ARG_ASSERT(0, exp != NULL);
225 const ArrayInfo &info =
226 getInfo(arr, false); // Don't assert sparse/dense
227 af_dtype type = info.getType();
228 std::stringstream ss;
229
230 if (info.isSparse()) {
231 switch (type) {
232 case f32:
233 printSparse<float>(exp, arr, precision, ss, transpose);
234 break;
235 case f64:
236 printSparse<double>(exp, arr, precision, ss, transpose);
237 break;
238 case c32:
239 printSparse<cfloat>(exp, arr, precision, ss, transpose);
240 break;
241 case c64:
242 printSparse<cdouble>(exp, arr, precision, ss, transpose);
243 break;
244 default: TYPE_ERROR(0, type);
245 }
246 } else {
247 switch (type) {
248 case f32:
249 print<float>(exp, arr, precision, ss, transpose);
250 break;
251 case c32:
252 print<cfloat>(exp, arr, precision, ss, transpose);
253 break;
254 case f64:
255 print<double>(exp, arr, precision, ss, transpose);
256 break;
257 case c64:
258 print<cdouble>(exp, arr, precision, ss, transpose);
259 break;
260 case b8: print<char>(exp, arr, precision, ss, transpose); break;
261 case s32: print<int>(exp, arr, precision, ss, transpose); break;
262 case u32:
263 print<unsigned>(exp, arr, precision, ss, transpose);
264 break;
265 case s8:
266 print<schar>(exp, arr, precision, ss, transpose);
267 break;
268 case u8:
269 print<uchar>(exp, arr, precision, ss, transpose);
270 break;
271 case s64:
272 print<intl>(exp, arr, precision, ss, transpose);
273 break;
274 case u64:
275 print<uintl>(exp, arr, precision, ss, transpose);
276 break;
277 case s16:
278 print<short>(exp, arr, precision, ss, transpose);

Callers 1

toStringFunction · 0.50

Calls 4

isSparseMethod · 0.80
af_alloc_hostFunction · 0.70
getTypeMethod · 0.45
copyMethod · 0.45

Tested by

no test coverage detected