MCPcopy Create free account
hub / github.com/clMathLibraries/clFFT / TEST_P

Function TEST_P

src/tests/accuracy_test_random.cpp:574–719  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

572};
573
574TEST_P( accuracy_test_random, random_transform ) {
575 try {
576 ParameterizedTest::Parameters params = GetParam();
577 RecordProperty("batch_size", (int)params.batch_size);
578 RecordProperty("precision", params.precision);
579 RecordProperty("direction", params.direction);
580 RecordProperty("dimensions", params.dimensions);
581 RecordProperty("length_x", (int)params.lengths[0]);
582 if( params.dimensions >= CLFFT_2D) RecordProperty("length_y", (int)params.lengths[1]);
583 if( params.dimensions >= CLFFT_3D) RecordProperty("length_z", (int)params.lengths[2]);
584
585 if( params.input_strides.empty() )
586 {
587 RecordProperty("input_strides", 0);
588 }
589 else
590 {
591 RecordProperty("input_stride_x", (int)params.input_strides[0]);
592 if( params.dimensions >= CLFFT_2D) RecordProperty("input_stride_y", (int)params.input_strides[1]);
593 if( params.dimensions >= CLFFT_3D) RecordProperty("input_stride_z", (int)params.input_strides[2]);
594 }
595
596 if( params.output_strides.empty() )
597 {
598 RecordProperty("output_strides", 0);
599 }
600 else
601 {
602 RecordProperty("output_stride_x", (int)params.output_strides[0]);
603 if( params.dimensions >= CLFFT_2D) RecordProperty("output_stride_y", (int)params.output_strides[1]);
604 if( params.dimensions >= CLFFT_3D) RecordProperty("output_stride_z", (int)params.output_strides[2]);
605 }
606
607 RecordProperty("input_distance", (int)params.input_distance);
608 RecordProperty("output_distance", (int)params.output_distance);
609 RecordProperty("input_layout", params.input_layout);
610 RecordProperty("output_layout", params.output_layout);
611 RecordProperty("placeness", params.placeness);
612 RecordProperty("forward_scale", (int)params.forward_scale);
613 RecordProperty("backward_scale", (int)params.backward_scale);
614 RecordProperty("data_seed", (int)params.data_seed);
615
616 // SO BAD
617 super_duper_global_seed = params.data_seed;
618
619 if( params.precision == CLFFT_SINGLE )
620 {
621 if( params.input_layout == CLFFT_REAL && ( params.output_layout == CLFFT_HERMITIAN_INTERLEAVED || params.output_layout == CLFFT_HERMITIAN_PLANAR ) )
622 {
623 real_to_complex<float, cl_float, fftwf_complex>( params.pattern,
624 params.lengths,
625 params.batch_size,
626 params.input_strides,
627 params.output_strides,
628 params.input_distance,
629 params.output_distance,
630 ParameterizedTest::cl_layout_to_buffer_layout( params.output_layout ),
631 params.placeness == CLFFT_INPLACE ? placeness::in_place : placeness::out_of_place );

Callers

nothing calls this directly

Calls 2

handle_exceptionFunction · 0.85

Tested by

no test coverage detected