示例#1
0
  std::vector<std::string> TesterAnalizer::generate_args( int column, Collector::Method method )
  {
    std::vector<std::string> args;

    if( Helper::is_integer( method.params[ column ].type ) )
    {
      args = generate_ints( column, method );
    } else if( Helper::is_string( method.params[ column ].type ) )
    {
      args = generate_strings( column, method );
    } else
    {
      // Nothing to do
    }

    return args;
  }
示例#2
0
void destroy_symboltable () {
	generate_globals();
	generate_strings();
	// free stack
	stack_destroy (sts);
	free (sts);
	// free params type check list
	istack_destroy(paramstack);
	free(paramstack);
	// free return call check list
	list_destroy(returncheck);
	free(returncheck);
	// free operator stack
	istack_destroy (inststack);
	free (inststack);
	// free global stack
	istack_destroy (globstack);
	free (globstack);
	// free string stack
	istack_destroy (strstack);
	free (strstack);
	// close output file
	fclose(fp);
}
示例#3
0
TEST(vector_map, operator_insert)
{
  test_operator_insert<int>(generate_ints(100));
  test_operator_insert<std::string>(generate_strings(100));
}
示例#4
0
TEST(vector_map, lookup)
{
  test_lookup<int>(generate_ints(100));
  test_lookup<std::string>(generate_strings(100));
}
示例#5
0
TEST(vector_map, copy_constructor)
{
  test_copy<int>(generate_ints(100));
  test_copy<std::string>(generate_strings(100));
}
示例#6
0
TEST(vector_map, assignment)
{
  test_assignment<int>(generate_ints(100));
  test_assignment<std::string>(generate_strings(100));
}
示例#7
0
TEST(vector_map, swap)
{
  test_swap<int>(generate_ints(100));
  test_swap<std::string>(generate_strings(100));
}
示例#8
0
TEST(vector_map, clear)
{
  test_clear<int>(generate_ints(100));
  test_clear<std::string>(generate_strings(100));
}
示例#9
0
		auto len = lengthdist(benchmark_rng_engine());
		*it = std::pair<std::string, std::size_t>(random_string(len, genchar), i);
		++it;
	}
}

std::vector<std::pair<std::string, std::size_t>> generate_strings(std::size_t n) {
	std::vector<std::pair<std::string, std::size_t>> storage;
	storage.reserve(n);
	generate_random_strings(n, std::back_inserter(storage));
	storage.shrink_to_fit();
	return storage;
}

const std::pair<std::string, std::size_t>& target_string(std::size_t n, const std::vector<std::pair<std::string, std::size_t>>& strings) {
	static std::unordered_map<std::size_t, std::size_t> targets;

	auto it = targets.find(n);
	if (it != targets.cend()) {
		return strings[it->second];
	}
	std::uniform_int_distribution<std::size_t> dist(0, n);
	std::size_t targetindex = dist(benchmark_rng_engine());
	targets.insert(it, { n, targetindex });
	const std::pair<std::string, std::size_t>& target = strings[targetindex];
	return target;
}

const std::vector<std::pair<std::string, std::size_t>> generated_strings = generate_strings(50000);

示例#10
0
TEST(vector_set, insert)
{
  test_insert<int>(generate_ints(100));
  test_insert<std::string>(generate_strings(100));
}