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

Function af_histogram

src/api/c/histogram.cpp:32–97  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30}
31
32af_err af_histogram(af_array *out, const af_array in, const unsigned nbins,
33 const double minval, const double maxval) {
34 try {
35 const ArrayInfo &info = getInfo(in);
36 af_dtype type = info.getType();
37
38 if (info.ndims() == 0) { return af_retain_array(out, in); }
39
40 af_array output;
41 switch (type) {
42 case f32:
43 output = histogram<float>(in, nbins, minval, maxval,
44 info.isLinear());
45 break;
46 case f64:
47 output = histogram<double>(in, nbins, minval, maxval,
48 info.isLinear());
49 break;
50 case b8:
51 output =
52 histogram<char>(in, nbins, minval, maxval, info.isLinear());
53 break;
54 case s32:
55 output =
56 histogram<int>(in, nbins, minval, maxval, info.isLinear());
57 break;
58 case u32:
59 output =
60 histogram<uint>(in, nbins, minval, maxval, info.isLinear());
61 break;
62 case s16:
63 output = histogram<short>(in, nbins, minval, maxval,
64 info.isLinear());
65 break;
66 case u16:
67 output = histogram<ushort>(in, nbins, minval, maxval,
68 info.isLinear());
69 break;
70 case s64:
71 output =
72 histogram<intl>(in, nbins, minval, maxval, info.isLinear());
73 break;
74 case u64:
75 output = histogram<uintl>(in, nbins, minval, maxval,
76 info.isLinear());
77 break;
78 case s8:
79 output = histogram<schar>(in, nbins, minval, maxval,
80 info.isLinear());
81 break;
82 case u8:
83 output = histogram<uchar>(in, nbins, minval, maxval,
84 info.isLinear());
85 break;
86 case f16:
87 output = histogram<arrayfire::common::half>(
88 in, nbins, minval, maxval, info.isLinear());
89 break;

Callers 3

TESTFunction · 0.50
histTestFunction · 0.50
histogramFunction · 0.50

Calls 5

swapFunction · 0.85
af_retain_arrayFunction · 0.70
getTypeMethod · 0.45
ndimsMethod · 0.45
isLinearMethod · 0.45

Tested by

no test coverage detected