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

Function median_flat

test/median.cpp:51–74  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49
50template<typename To, typename Ti>
51void median_flat(int nx, int ny = 1, int nz = 1, int nw = 1) {
52 SUPPORTED_TYPE_CHECK(Ti);
53 array a = generateArray<Ti>(nx, ny, nz, nw);
54
55 // Verification
56 array sa = sort(flat(a));
57 dim_t mid = (sa.dims(0) + 1) / 2;
58
59 To verify;
60
61 To *h_sa = sa.as((af_dtype)dtype_traits<To>::af_type).host<To>();
62 if (sa.dims(0) % 2 == 1) {
63 verify = h_sa[mid - 1];
64 } else {
65 verify = (h_sa[mid - 1] + h_sa[mid]) / (To)2;
66 }
67
68 // Test Part
69 To val = median<To>(a);
70
71 ASSERT_EQ(verify, val);
72
73 af_free_host(h_sa);
74}
75
76template<typename To, typename Ti, int dim>
77void median_test(int nx, int ny = 1, int nz = 1, int nw = 1) {

Callers

nothing calls this directly

Calls 5

asMethod · 0.80
sortFunction · 0.50
flatFunction · 0.50
af_free_hostFunction · 0.50
dimsMethod · 0.45

Tested by

no test coverage detected