Exemple #1
0
void test_sum(int line, int left, int right, int sum){
	if(line < 0 || line >= n) return;
	if(left <= 0 || right > 1 + (line << 1)) return;
	sum += s[line][right] - s[line][left - 1];
	if(sum > max_sum) max_sum = sum;
	if(!(left & 1)) test_sum(line - 1, left - 2, right, sum);
	else test_sum(line + 1, left, right + 2, sum);
}
Exemple #2
0
int main(void) {

	freopen("input.txt", "r", stdin);

	for (int i = 0; i < 401; ++i)
		s[i][0] = 0;

	for (int cnum = 0;1;) {
		scanf("%d", &n);

		if(n == 0)
			break;

		max_sum = -2000000000;

		for (int i = 0, l; i < n; ++i) {
			l = (i*2) + 1;
			for (int j = 1; j <= l; ++j) {
				scanf("%d", &s[i][j]);
				s[i][j] += s[i][j - 1];
			}
		}

		for (int i = 0, l; i < n; ++i) {
			l = (i << 1) + 1;
			for (int j = 1; j <= l; ++j)
				test_sum(i, j, j, 0);
		}

		printf("%d. %d\n", ++cnum, max_sum);
	}
	return 0;
}
void addn_inv(int N,int a,int width, quantum_reg *reg){//inverse of add a to register reg (mod N)

  quantum_cnot(2*width+1,2*width,reg);//Attention! cnot gate instead of not, as in description
  madd_inv((1<<(width))-a,N-a,width,reg);//madd 2^K+(N-a)-N = 2^K-a

  quantum_swaptheleads(width,reg);

  test_sum(a,width,reg);
}
Exemple #4
0
int
main (void)
{
  mpfr_prec_t p;
  unsigned long n;

  tests_start_mpfr ();

  check_special ();
  test_sort (1764, 1026);
  for (p = 2 ; p < 444 ; p += 17)
    for (n = 2 ; n < 1026 ; n += 42 + p)
      test_sum (p, n);

  tests_end_mpfr ();
  return 0;
}
Exemple #5
0
int main(void){
	for(int i = 0; i < 401; ++i) s[i][0] = 0;
	for(int cnum = 0; scanf("%d", &n) == 1 && n; ){
		max_sum = 1 << 31;
		for(int i = 0, l; i < n; ++i){
			l = (i << 1) + 1;
			for(int j = 1; j <= l; ++j){
				scanf("%d", &s[i][j]);
				s[i][j] += s[i][j - 1];
			}
		}
		for(int i = 0, l; i < n; ++i){
			l = (i << 1) + 1;
			for(int j = 1; j <= l; ++j) test_sum(i, j, j, 0);
		}
		printf("%d. %d\n", ++cnum, max_sum);
	}
	return 0;
}
void test(){
	test_sum();
	test_max();
	test_min();
	test_second_max();
	test_second_min();
	test_equal();
	test_occurences();
	test_countNegatives();
	test_indexOf();
	test_clearWith();
	test_insertElement();
	test_removeElement();
	test_copy();
	test_merge();
	test_reverse();
	test_sort();
	printf("All passed!!!!");
}
Exemple #7
0
/*
 * Test sum and difference of triples
 */
static void test_add_diff(dl_vartable_t *table) {
  uint32_t i, j, n;
  dl_triple_t test;
  dl_triple_t test2;
  poly_buffer_t buffer;

  init_poly_buffer(&buffer);
  q_init(&test.constant);
  q_init(&test2.constant);

  n = table->nvars;
  for (i=0; i<n; i++) {
    for (j=0; j<n; j++) {
      printf("Testing sum: var!%"PRIu32" + var!%"PRIu32":\n", i, j);
      printf("--> var!%"PRIu32" : ", i);
      print_dl_triple(dl_var_triple(table, i));
      printf("\n");
      printf("--> var!%"PRIu32" : ", j);
      print_dl_triple(dl_var_triple(table, j));
      printf("\n");
      test_sum_buffer(table, &buffer, i, j, &test2);
      test_sum(table, i, j, &test);
      printf("\n");

      printf("Testing diff: var!%"PRIu32" - var!%"PRIu32":\n", i, j);
      printf("--> var!%"PRIu32" : ", i);
      print_dl_triple(dl_var_triple(table, i));
      printf("\n");
      printf("--> var!%"PRIu32" : ", j);
      print_dl_triple(dl_var_triple(table, j));
      printf("\n");
      test_diff_buffer(table, &buffer, i, j, &test2);
      test_diff(table, i, j, &test);
      printf("\n");
    }
  }

  q_clear(&test.constant);
  q_clear(&test2.constant);
  delete_poly_buffer(&buffer);
}
Exemple #8
0
void Checker::get_request()
{
	char ch;
	std::cout << "What kind of operation would you like?  (S)um, (D)iff, (M)ult" << std::endl;
	do
		ch = getchar();
	while (ch != 'S' && ch != 'D' && ch != 'M');
	std::string s1, s2, s3;
	std::cout << "Input first number" << std::endl;
	getline(std::cin, s1);
	getline(std::cin, s1);
	std::cout << "Input second number" << std::endl;
	getline(std::cin, s2);
	std::cout << "Input result" << std::endl;
	getline(std::cin, s3);
	switch (ch)
	{
		case 'S': test_sum(BigInteger(s1), BigInteger(s2), BigInteger(s3)); break;
		case 'D': test_diff(BigInteger(s1), BigInteger(s2), BigInteger(s3)); break;
		case 'M': test_mult(BigInteger(s1), BigInteger(s2), BigInteger(s3)); break;
	}
}
Exemple #9
0
int
main (int argc, char **argv)
{
	test_init (argc, argv, xmlrpc_entries);

	if (!uri) {
		apache_init ();
		uri = default_uri;
	}

	srand (time (NULL));

	session = soup_test_session_new (SOUP_TYPE_SESSION_SYNC, NULL);

	if (!test_sum ())
		errors++;
	if (!test_countBools ())
		errors++;
	if (!test_md5sum ())
		errors++;
	if (!test_dateChange ())
		errors++;
	if (!test_echo ())
		errors++;
	if (!test_fault_malformed ())
		errors++;
	if (!test_fault_method ())
		errors++;
	if (!test_fault_args ())
		errors++;

	soup_test_session_abort_unref (session);

	test_cleanup ();
	return errors != 0;
}
Exemple #10
0
void main()
{
    test_sum();
    printf("Tests pass!\nEverything is ok!\n");
}
void test_vectorization_logic()
{

#ifdef EIGEN_VECTORIZE

#ifdef  EIGEN_DEFAULT_TO_ROW_MAJOR
  VERIFY(test_assign(Vector4f(),Vector4f(),
    LinearVectorization,CompleteUnrolling));
  VERIFY(test_assign(Vector4f(),Vector4f()+Vector4f(),
    LinearVectorization,CompleteUnrolling));
  VERIFY(test_assign(Vector4f(),Vector4f().cwise() * Vector4f(),
    LinearVectorization,CompleteUnrolling));
#else
  VERIFY(test_assign(Vector4f(),Vector4f(),
    InnerVectorization,CompleteUnrolling));
  VERIFY(test_assign(Vector4f(),Vector4f()+Vector4f(),
    InnerVectorization,CompleteUnrolling));
  VERIFY(test_assign(Vector4f(),Vector4f().cwise() * Vector4f(),
    InnerVectorization,CompleteUnrolling));
#endif

  VERIFY(test_assign(Matrix4f(),Matrix4f(),
    InnerVectorization,CompleteUnrolling));
  VERIFY(test_assign(Matrix4f(),Matrix4f()+Matrix4f(),
    InnerVectorization,CompleteUnrolling));
  VERIFY(test_assign(Matrix4f(),Matrix4f().cwise() * Matrix4f(),
    InnerVectorization,CompleteUnrolling));

  VERIFY(test_assign(Matrix<float,16,16>(),Matrix<float,16,16>()+Matrix<float,16,16>(),
    InnerVectorization,InnerUnrolling));

  VERIFY(test_assign(Matrix<float,16,16,DontAlign>(),Matrix<float,16,16>()+Matrix<float,16,16>(),
    NoVectorization,InnerUnrolling));

  VERIFY(test_assign(Matrix<float,6,2>(),Matrix<float,6,2>().cwise() / Matrix<float,6,2>(),
    LinearVectorization,CompleteUnrolling));

  VERIFY(test_assign(Matrix<float,17,17>(),Matrix<float,17,17>()+Matrix<float,17,17>(),
    NoVectorization,InnerUnrolling));

  VERIFY(test_assign(Matrix<float,4,4>(),Matrix<float,17,17>().block<4,4>(2,3)+Matrix<float,17,17>().block<4,4>(10,4),
    NoVectorization,CompleteUnrolling));

  VERIFY(test_assign(MatrixXf(10,10),MatrixXf(20,20).block(10,10,2,3),
    SliceVectorization,NoUnrolling));

  VERIFY(test_assign(VectorXf(10),VectorXf(10)+VectorXf(10),
    LinearVectorization,NoUnrolling));

  VERIFY(test_sum(VectorXf(10),
    LinearVectorization,NoUnrolling));

  VERIFY(test_sum(Matrix<float,5,2>(),
    NoVectorization,CompleteUnrolling));
  
  VERIFY(test_sum(Matrix<float,6,2>(),
    LinearVectorization,CompleteUnrolling));

  VERIFY(test_sum(Matrix<float,16,16>(),
    LinearVectorization,NoUnrolling));

  VERIFY(test_sum(Matrix<float,16,16>().block<4,4>(1,2),
    NoVectorization,CompleteUnrolling));

#ifndef EIGEN_DEFAULT_TO_ROW_MAJOR
  VERIFY(test_sum(Matrix<float,16,16>().block<8,1>(1,2),
    LinearVectorization,CompleteUnrolling));
#endif

  VERIFY(test_sum(Matrix<double,7,3>(),
    NoVectorization,CompleteUnrolling));

#endif // EIGEN_VECTORIZE

}
void addn(int N,int a,int width, quantum_reg *reg){//add a to register reg (mod N)

	test_sum(N-a,width,reg); //xlt N-a
	madd((1<<(width))+a-N,a,width,reg);//madd 2^K+a-N

}