Exemplo n.º 1
0
BOOST_AUTO_TEST_CASE_TEMPLATE( fill_n_scalar, S, scalar_types )
{
    S v1 = S(1.5f);
    S v2 = S(2.5f);
    S v3 = S(42.0f);
    test_fill_n(v1, v2, v3, queue);
}
Exemplo n.º 2
0
static void
test_fill_n (const std::size_t N)
{
    rw_info (0, 0, 0,
            "template <class %s, class %s, class %s> "
            "void std::fill_n (%1$s, %2$s, const %3$s&)",
            "OutputIterator", "Size", "T");

    if (rw_opt_no_output_iter) {
        rw_note (0, __FILE__, __LINE__, "OutputIterator test disabled");
        std_log(LOG_FILENAME_LINE,"OutputIterator test disabled");  
    }
    else {
        test_fill_n (N, OutputIter<X>(0, 0, 0), (X*)0);
    }

    if (rw_opt_no_fwd_iter) {
        rw_note (0, __FILE__, __LINE__, "ForwardIterator test disabled");
     std_log(LOG_FILENAME_LINE,"ForwardIterator test disabled");  
    }
    else {
        test_fill_n (N, FwdIter<X>(), (X*)0);
    }

    if (rw_opt_no_bidir_iter) {
        rw_note (0, __FILE__, __LINE__, "BidirectionalIterator test disabled");
        std_log(LOG_FILENAME_LINE,"BidirectionalIterator test disabled");  
    }
    else {
        test_fill_n (N, BidirIter<X>(), (X*)0);
    }

    if (rw_opt_no_rnd_iter) {
        rw_note (0, __FILE__, __LINE__, "RandomAccessIterator test disabled");
        std_log(LOG_FILENAME_LINE,"RandomAccessIterator test disabled");  
    }
    else {
        test_fill_n (N, RandomAccessIter<X>(), (X*)0);
    }
}
Exemplo n.º 3
0
BOOST_AUTO_TEST_CASE_TEMPLATE( fill_n_vec4, S, scalar_types )
{
    typedef typename bc::make_vector_type<S, 4>::type T;
    S s1 = S(1.5f);
    S s2 = S(2.5f);
    S s3 = S(42.0f);
    S s4 = S(84.0f);

    T v1 = T(s1, s2, s3, s4);
    T v2 = T(s3, s4, s1, s2);
    T v3 = T(s4, s3, s2, s1);
    test_fill_n(v1, v2, v3, queue);
}
Exemplo n.º 4
0
static int
run_test (int, char*[])
{
    // check that the number of loops is non-negative
    rw_fatal (-1 < rw_opt_nloops, 0, 0,
              "number of loops must be non-negative, got %d",
              rw_opt_nloops);

    const std::size_t N = std::size_t (rw_opt_nloops);

    test_fill (N);

    test_fill_n (N);

    return 0;
}
Exemplo n.º 5
0
BOOST_AUTO_TEST_CASE_TEMPLATE( fill_n_vec16, S, scalar_types )
{
    typedef typename bc::make_vector_type<S, 16>::type T;
    S s1 = S(1.5f);
    S s2 = S(2.5f);
    S s3 = S(42.0f);
    S s4 = S(84.0f);
    S s5 = S(122.5f);
    S s6 = S(131.5f);
    S s7 = S(142.0f);
    S s8 = S(254.0f);

    T v1 = T(s1, s2, s3, s4, s5, s6, s7, s8, s1, s2, s3, s4, s5, s6, s7, s8);
    T v2 = T(s3, s4, s1, s2, s7, s8, s5, s6, s4, s3, s2, s1, s8, s7, s6, s5);
    T v3 = T(s4, s3, s2, s1, s8, s7, s6, s5, s8, s7, s6, s5, s4, s3, s2, s1);
    test_fill_n(v1, v2, v3, queue);
}