Ejemplo n.º 1
0
int main(void) {
    int i1 = 1, j1 = 2, k1 = 2;
    /* Give i1, j1 and k1 all possible values with 0 < i1 < j1 < k1 < 9. */
    while (create_partition(&i1, &j1, &k1)) {
        int numbers1[4];
        /* Store in numbers1 the number consisting
         * of the first i1 digits in digits[],
         * then the number consisting of the j1 - i1 next digits in digits[],
         * then the number consisting of the k1 - j1 next digits in digits[],
         * and eventually the number consisting
         * of the remaining digits in digits[],
         * with at least 2 of those remaining digits.*/
        generate_numbers(i1, j1, k1, numbers1);
        int i2 = i1;
        int j2 = j1;
        int k2 = k1;
        /* Give i2, j2 and k2 all possible values with 0 < i2 < j2 < k2 < 9
         * and (i1, j1, k1) < (i2, j2, k2). */
        while (create_partition(&i2, &j2, &k2)) {
            int numbers2[4];
            /* Store in numbers2 the number consisting
             * of the first i2 digits in digits[],
             * then the number consisting of the j2 - i2 next digits in digits[],
             * then the number consisting of the k2 - j2 next digits in digits[],
             * and eventually the number consisting
             * of the remaining digits in digits[],
             * with at least 2 of those remaining digits.*/
            generate_numbers(i2, j2, k2, numbers2);
            int product = numbers1[0] * numbers1[1] * numbers1[2] * numbers1[3];
            if (numbers2[0] * numbers2[1] * numbers2[2] * numbers2[3] == product)
                print_solution(numbers1, numbers2, product);
        }
    }
    return EXIT_SUCCESS;
}
int main(int argc, char *argv[]) {

	// generate seeds
	uint32_t seeds[624];
	init_genrand(0);
	generate_numbers();
	get_mt_state(seeds);

	// get hardware random numbers
	hls::stream<uint32_t> random_numbers;
	mersenne_twister(seeds, random_numbers);

	// compare with software model
	for (int i = 0; i < 1000 - 396 - 1; ++i) {
		uint32_t rn_sw = genrand_int32();
		uint32_t rn_hw = random_numbers.read();
		if (rn_sw != rn_hw) {
			std::cout << i << ": " << rn_sw << " != " << rn_hw << std::endl;
			return -1;
		}
	}

	std::cout << "test passed." << std::endl;

	return 0;
}
Ejemplo n.º 3
0
// Főprogram
int main() {
    srand(time(NULL)); // Random generátor inicializálása
   
    const sort_function sort_functions[] = {
	&heap_sort,
	&quick_sort,
	&shell_sort,
	&insertion_sort,
	&comb_sort,
    };
    
    // Algorimusok nevei (fejlécek a táblázatban)
    const char* sort_function_names[] = {
	"Kupac", "Gyors", "Shell", "Beszúró", "Fésű"
    };
       
    int a[N]; // Rendezetlen véletlen számok
    int b[N]; // Minden algritmus végrehajtás előtt 'a'-tömb másolása 'b'-be
    
    //clock_t t;
    struct timespec time1, time2, diff;
    
    int i, f;
    // Oszlop-fejlécek kiírása
    for (i = 0; i < NSF; ++i) {
	printf("%s", sort_function_names[i]);
	printf((i < (NSF - 1)) ? ";" : "\n");
    }
    
    for (i = 0; i < M; ++i) {
	generate_numbers(a, N);
	//print_array(a, N);
	
	for (f = 0; f < NSF; ++f) {
	    memcpy(b, a, N * sizeof(int));
	    
	    //t = clock();
	    clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time1);
	    
	    sort_functions[f](b, N);
	    
	    //t = clock() - t;
	    clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time2);
	    diff = time_diff(time1, time2);
	    
	    //printf("%.3f", ((float)t) / CLOCKS_PER_SEC);
	    printf("%d,%ld", (int)diff.tv_sec, (long)diff.tv_nsec);
	    printf((f < (NSF - 1)) ? ";" : "\n");
	}
    }
    return 0;
}
Ejemplo n.º 4
0
int main(int argc, char *argv[])
{
  ATermList numbers, primes;
  ATerm bottomOfStack;
  int i, max = 100;

  for(i=1; i<argc; i++)
    if(strcmp(argv[i], "-max") == 0)
      max = atoi(argv[++i]);

  ATinit(argc, argv, &bottomOfStack);

  numbers = generate_numbers(max);
  primes  = filter_non_primes(numbers);
  ATprintf("primes up to %d: %, l\n", max, primes);

  return 0;
}
Ejemplo n.º 5
0
bool
insert_records(aerospike* p_as)
{
	srand((unsigned int)time(0));

	// Create an as_record object with an integer value bin, and a string value
	// bin, where the string is a list of comma-separated numbers. By using
	// as_record_inita(), we won't need to destroy the record if we only set
	// bins using as_record_set_int64() and as_record_set_str().
	as_record rec;
	as_record_inita(&rec, 2);

	// Re-using rec, write records into the database such that each record's key
	// and test-bin value is based on the loop index.
	for (uint32_t i = 0; i < g_n_keys; i++) {
		as_error err;

		// No need to destroy a stack as_key object, if we only use
		// as_key_init_int64().
		as_key key;
		as_key_init_int64(&key, g_namespace, g_set, (int64_t)i);

		// In general it's ok to reset a bin value - all as_record_set_... calls
		// destroy any previous value.
		as_record_set_int64(&rec, "test-bin", (int64_t)i);

		char numbers[(TOKENS_PER_BIN * 3) + 1];
		as_record_set_str(&rec, "numbers-bin", generate_numbers(numbers));

		// Write a record to the database.
		if (aerospike_key_put(p_as, &err, NULL, &key, &rec) != AEROSPIKE_OK) {
			LOG("aerospike_key_put() returned %d - %s", err.code, err.message);
			return false;
		}
	}

	LOG("insert succeeded");

	return true;
}