Exemple #1
0
void pri_queue_test_erase(void)
{
#ifdef USE_BOOST_RANDOM
    boost::mt19937 rng;
#endif

    for (int i = 0; i != test_size; ++i)
    {
        pri_queue q;
        test_data data = make_test_data(test_size);
        PUSH_WITH_HANDLES(handles, q, data);

        for (int j = 0; j != i; ++j)
        {
#ifdef USE_BOOST_RANDOM
            boost::uniform_int<> range(0, data.size() - 1);
            boost::variate_generator<boost::mt19937&, boost::uniform_int<> > gen(rng, range);

            int index = gen();
#else
            int index = std::rand() % (data.size() - 1);
#endif
            q.erase(handles[index]);
            handles.erase(handles.begin() + index);
            data.erase(data.begin() + index);
        }

        std::sort(data.begin(), data.end());
        check_q(q, data);
    }
}
Exemple #2
0
void run_reserve_heap_tests(void)
{
    test_data data = make_test_data(test_size);
    pri_queue q;
    q.reserve(6);
    fill_q(q, data);

    check_q(q, data);
}
Exemple #3
0
void pri_queue_test_sequential_push(void)
{
    for (int i = 0; i != test_size; ++i)
    {
        pri_queue q;
        test_data data = make_test_data(i);
        fill_q(q, data);
        check_q(q, data);
    }
}
Exemple #4
0
//===================================================================================
//= Fetch Node
//===================================================================================
void ServerCall::fetch_node(QString node)
{
	if(request_q.contains(node)){
		qDebug() << "already - skipped" << node;
		return;
	}
	request_q.enqueue(node);
	check_q();

}
Exemple #5
0
void pri_queue_test_sequential_reverse_push(void)
{
    for (int i = 0; i != test_size; ++i)
    {
        pri_queue q;
        test_data data = make_test_data(i);
        std::reverse(data.begin(), data.end());
        fill_q(q, data);
        std::reverse(data.begin(), data.end());
        check_q(q, data);
    }
}
Exemple #6
0
void pri_queue_test_increase_function_identity(void)
{
    for (int i = 0; i != test_size; ++i) {
        pri_queue q;
        test_data data = make_test_data(test_size);
        PUSH_WITH_HANDLES(handles, q, data);

        q.increase(handles[i], data[i]);

        check_q(q, data);
    }
}
Exemple #7
0
void pri_queue_test_moveconstructor(void)
{
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
    pri_queue q;
    test_data data = make_test_data(test_size);
    fill_q(q, data);

    pri_queue r(std::move(q));

    check_q(r, data);
    BOOST_REQUIRE(q.empty());
#endif
}
Exemple #8
0
void pri_queue_test_copyconstructor(void)
{
    for (int i = 0; i != test_size; ++i)
    {
        pri_queue q;
        test_data data = make_test_data(i);
        fill_q(q, data);

        pri_queue r(q);

        check_q(r, data);
    }
}
Exemple #9
0
void pri_queue_test_update_function_identity(void)
{
    for (int i = 0; i != test_size; ++i) {
        pri_queue q;
        test_data data = make_test_data(test_size);
        PUSH_WITH_HANDLES(handles, q, data);

        q.update(handles[i], data[i]);

        std::sort(data.begin(), data.end());
        check_q(q, data);
    }
}
Exemple #10
0
void pri_queue_test_assignment(void)
{
    for (int i = 0; i != test_size; ++i)
    {
        pri_queue q;
        test_data data = make_test_data(i);
        fill_q(q, data);

        pri_queue r;
        r = q;

        check_q(r, data);
    }
}
Exemple #11
0
void pri_queue_test_emplace(void)
{
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
    for (int i = 0; i != test_size; ++i)
    {
        pri_queue q;
        test_data data = make_test_data(i);
        std::reverse(data.begin(), data.end());
        fill_emplace_q(q, data);
        std::reverse(data.begin(), data.end());
        check_q(q, data);
    }
#endif
}
Exemple #12
0
void pri_queue_test_move_assignment(void)
{
#ifdef BOOST_HAS_RVALUE_REFS
    pri_queue q;
    test_data data = make_test_data(test_size);
    fill_q(q, data);

    pri_queue r;
    r = std::move(q);

    check_q(r, data);
    BOOST_REQUIRE(q.empty());
#endif
}
Exemple #13
0
void pri_queue_test_update_shuffled(void)
{
    pri_queue q;
    test_data data = make_test_data(test_size);
    PUSH_WITH_HANDLES(handles, q, data);

    test_data shuffled (data);
    std::random_shuffle(shuffled.begin(), shuffled.end());

    for (int i = 0; i != test_size; ++i)
        q.update(handles[i], shuffled[i]);

    check_q(q, data);
}
Exemple #14
0
void pri_queue_test_increase_function(void)
{
    for (int i = 0; i != test_size; ++i) {
        pri_queue q;
        test_data data = make_test_data(test_size);
        PUSH_WITH_HANDLES(handles, q, data);

        data[i] = data.back()+1;
        q.increase(handles[i], data[i]);

        std::sort(data.begin(), data.end());
        check_q(q, data);
    }
}
Exemple #15
0
void pri_queue_test_update_decrease(void)
{
    for (int i = 0; i != test_size; ++i) {
        pri_queue q;
        test_data data = make_test_data(test_size);
        PUSH_WITH_HANDLES(handles, q, data);

        *handles[i] = -1;
        data[i] = -1;
        q.update(handles[i]);

        std::sort(data.begin(), data.end());
        check_q(q, data);
    }
}
Exemple #16
0
void pri_queue_test_random_push(void)
{
    for (int i = 0; i != test_size; ++i)
    {
        pri_queue q;
        test_data data = make_test_data(i);

        test_data shuffled (data);
        std::random_shuffle(shuffled.begin(), shuffled.end());

        fill_q(q, shuffled);

        check_q(q, data);
    }
}
    static void run(void)
    {
        for (int i = 0; i != test_size; ++i) {
            pri_queue q, r;
            GENERATE_TEST_DATA(i);

            fill_q(q, data_q);
            fill_q(r, data_r);

            q.merge(r);

            BOOST_REQUIRE(r.empty());
            check_q(q, data);
        }
    }
    static void run (void)
    {
        for (int i = 0; i != test_size; ++i) {
            pri_queue1 q;
            pri_queue2 r;
            GENERATE_TEST_DATA(i);

            fill_q(q, data_q);
            fill_q(r, data_r);

            boost::heap::heap_merge(q, r);

            BOOST_REQUIRE(r.empty());
            check_q(q, data);
        }
    }
Exemple #19
0
void pri_queue_test_swap(void)
{
    for (int i = 0; i != test_size; ++i)
    {
        pri_queue q;
        test_data data = make_test_data(i);
        test_data shuffled (data);
        std::random_shuffle(shuffled.begin(), shuffled.end());
        fill_q(q, shuffled);

        pri_queue r;

        q.swap(r);
        check_q(r, data);
        BOOST_REQUIRE(q.empty());
    }
}
int
main (int argc, char *argv[])
{
  if (argc > 1 && strcmp (argv[1], "-s") == 0)
    option_libc_scanf = 1;

  tests_start ();

  mp_trace_base = 16;

  check_z ();
  check_q ();
  check_f ();
  check_n ();
  check_misc ();

  unlink (TEMPFILE);
  tests_end ();
  exit (0);
}
int
main (int argc, char *argv[])
{
  if (argc > 1 && strcmp (argv[1], "-s") == 0)
    option_check_printf = 1;

  tests_start ();
  check_vfprintf_fp = fopen (CHECK_VFPRINTF_FILENAME, "w+");
  ASSERT_ALWAYS (check_vfprintf_fp != NULL);

  check_z ();
  check_q ();
  check_f ();
  check_limb ();
  check_n ();
  check_misc ();

  ASSERT_ALWAYS (fclose (check_vfprintf_fp) == 0);
  unlink (CHECK_VFPRINTF_FILENAME);
  tests_end ();
  exit (0);
}
Exemple #22
0
//= Net finished
void ServerCall::on_net_finished(){

	emit server_connected(true);
	QScriptValue sc;
	//qDebug() << server_string;
	sc = scriptEngine.evaluate("(" + QString(server_string) + ")"); //?? why ?? In new versions it may need to look like engine.evaluate("(" + QString(result) + ")");

	QHash<QString, QString> hash;
	if (sc.property("nodes").isArray())
	{
			QScriptValueIterator it(sc.property("nodes"));
			 while (it.hasNext()) {
				 it.next();
				 //qDebug("Nick %s",it.value().property("node").toString().toStdString().c_str());
				 //qDebug() << " > emit() " << it.value().property("node").toString() << it.value().property("value").toString();
				 emit node_val(it.value().property("node").toString(), it.value().property("value").toString());
				 hash[ it.value().property("node").toString() ] = it.value().property("value").toString();
			 }
	}
	//emit node_vals(hash);
	in_request = false;
	check_q();
}