/* Linear congruential generator */ static apr_uint32_t lgc(apr_uint32_t a) { apr_uint64_t z = a; z *= 279470273; z %= APR_UINT64_C(4294967291); return (apr_uint32_t)z; }
static void uint64_t_hex_fmt(abts_case *tc, void *data) { char buf[100]; apr_uint64_t var = APR_UINT64_C(14000000); sprintf(buf, "%" APR_UINT64_T_HEX_FMT, var); ABTS_STR_EQUAL(tc, "d59f80", buf); apr_snprintf(buf, sizeof(buf), "%" APR_UINT64_T_HEX_FMT, var); ABTS_STR_EQUAL(tc, "d59f80", buf); }
static void more_int64_fmts(abts_case *tc, void *data) { char buf[100]; apr_int64_t i = APR_INT64_C(-42); apr_int64_t ibig = APR_INT64_C(-314159265358979323); apr_uint64_t ui = APR_UINT64_C(42); apr_uint64_t big = APR_UINT64_C(3141592653589793238); apr_snprintf(buf, sizeof buf, "%" APR_INT64_T_FMT, i); ABTS_STR_EQUAL(tc, buf, "-42"); apr_snprintf(buf, sizeof buf, "%" APR_UINT64_T_FMT, ui); ABTS_STR_EQUAL(tc, buf, "42"); apr_snprintf(buf, sizeof buf, "%" APR_UINT64_T_FMT, big); ABTS_STR_EQUAL(tc, buf, "3141592653589793238"); apr_snprintf(buf, sizeof buf, "%" APR_INT64_T_FMT, ibig); ABTS_STR_EQUAL(tc, buf, "-314159265358979323"); }
static svn_error_t * many_strings_table_body(svn_boolean_t do_load_store, apr_pool_t *pool) { /* cause multiple sub-tables (6 to be exact) to be created */ enum { COUNT = 100 }; svn_stringbuf_t *strings[COUNT] = { 0 }; apr_size_t indexes[COUNT] = { 0 }; string_table_builder_t *builder; string_table_t *table; int i; builder = svn_fs_x__string_table_builder_create(pool); for (i = 0; i < COUNT; ++i) { strings[i] = generate_string(APR_UINT64_C(0x1234567876543210) * (i + 1), (i * i) % 23000, pool); indexes[i] = svn_fs_x__string_table_builder_add(builder, strings[i]->data, strings[i]->len); } table = svn_fs_x__string_table_create(builder, pool); if (do_load_store) SVN_ERR(store_and_load_table(&table, pool)); for (i = 0; i < COUNT; ++i) { apr_size_t len; const char *string = svn_fs_x__string_table_get(table, indexes[i], &len, pool); SVN_TEST_STRING_ASSERT(string, strings[i]->data); SVN_TEST_ASSERT(len == strlen(string)); SVN_TEST_ASSERT(len == strings[i]->len); } return SVN_NO_ERROR; }