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

Function meanvar_test_gen

test/meanvar.cpp:205–276  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

203
204template<typename T>
205meanvar_test<T> meanvar_test_gen(string name, int in_index, int weight_index,
206 af_var_bias bias, int dim, int mean_index,
207 int var_index, test_size size) {
208 if (noDoubleTests((af_dtype)af::dtype_traits<T>::af_type) ||
209 noDoubleTests((
210 af_dtype)af::dtype_traits<typename varOutType<T>::type>::af_type) ||
211 noHalfTests((af_dtype)af::dtype_traits<T>::af_type)) {
212 meanvar_test<T> out(name);
213 return out;
214 }
215
216 vector<af_array> inputs;
217 vector<vector<typename varOutType<T>::type>> outputs;
218 if (size == MEANVAR_SMALL) {
219 vector<af::dim4> numDims_;
220 vector<vector<T>> in_;
221 vector<vector<typename varOutType<T>::type>> tests_;
222 readTests<T, typename varOutType<T>::type, double>(
223 TEST_DIR "/meanvar/meanvar.data", numDims_, in_, tests_);
224
225 inputs.resize(in_.size());
226 for (size_t i = 0; i < in_.size(); i++) {
227 af_create_array(&inputs[i], &in_[i].front(), numDims_[i].ndims(),
228 numDims_[i].get(),
229 (af_dtype)af::dtype_traits<T>::af_type);
230 }
231
232 outputs.resize(tests_.size());
233 for (size_t i = 0; i < tests_.size(); i++) {
234 copy(tests_[i].begin(), tests_[i].end(), back_inserter(outputs[i]));
235 }
236 } else {
237 dim_t full_array_size = 2000;
238 vector<vector<dim_t>> dimensions = {
239 {2000, 1, 1, 1}, // 0
240 {1, 2000, 1, 1}, // 1
241 {1, 1, 2000, 1}, // 2
242
243 {500, 4, 1, 1}, // 3
244 {4, 500, 1, 1}, // 4
245 {50, 40, 1, 1} // 5
246 };
247
248 vector<T> large_(full_array_size);
249 for (size_t i = 0; i < large_.size(); i++) {
250 large_[i] = static_cast<T>(i);
251 }
252
253 inputs.resize(dimensions.size());
254 for (size_t i = 0; i < dimensions.size(); i++) {
255 af_create_array(&inputs[i], &large_.front(), 4,
256 dimensions[i].data(),
257 (af_dtype)af::dtype_traits<T>::af_type);
258 }
259
260 outputs.push_back(
261 vector<typename varOutType<T>::type>(1, outType<T>(999.5)));
262 outputs.push_back(

Callers

nothing calls this directly

Calls 7

noDoubleTestsFunction · 0.85
noHalfTestsFunction · 0.85
af_create_arrayFunction · 0.50
copyFunction · 0.50
af_release_arrayFunction · 0.50
ndimsMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected