int main (void) { pa_xmm = register_printf_type (xmm_va); mod_v4f = register_printf_modifier (L"v4f"); mod_v2d = register_printf_modifier (L"v2d"); mod_v16i = register_printf_modifier (L"v16i"); mod_v8i = register_printf_modifier (L"v8i"); mod_v4i = register_printf_modifier (L"v4i"); mod_v2i = register_printf_modifier (L"v2i"); register_printf_specifier ('f', xmm_printf_f, xmm_ais); register_printf_specifier ('x', xmm_printf_x, xmm_ais); __m128 f = _mm_set_ps (1.0, 2.0, 3.0, 4.0); __m128d d = _mm_set_pd (1.0, 2.0); __m128i i = _mm_set_epi8 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16); printf ("%f\n", 1.0f); printf ("%f\n", 2.0); printf ("%v4ff\n", f); printf ("%v2df\n", d); printf ("%x\n", 1); printf ("%v16ix\n", i); printf ("%v8ix\n", i); printf ("%v4ix\n", i); printf ("%v2ix\n", i); return 0; }
int __register_printf_dfp (void) { pa_d128 = register_printf_type (d128_va); pa_d32 = register_printf_type (d32_va); pa_d64 = register_printf_type (d64_va); mod_DD = register_printf_modifier (L"DD"); mod_H = register_printf_modifier (L"H"); mod_D = register_printf_modifier (L"D"); register_printf_specifier ('f', printf_dfp, dfp_ais); register_printf_specifier ('F', printf_dfp, dfp_ais); register_printf_specifier ('e', printf_dfp, dfp_ais); register_printf_specifier ('E', printf_dfp, dfp_ais); register_printf_specifier ('g', printf_dfp, dfp_ais); register_printf_specifier ('G', printf_dfp, dfp_ais); register_printf_specifier ('a', printf_dfp, dfp_ais); register_printf_specifier ('A', printf_dfp, dfp_ais); return 0; }
static int __register_printf_vec( void ) { int i; /* Register a new type, and a function to call to copy an element of that type when going through the varargs list. Register_printf_type doesn't acknowlege failure, so assume the the retun code is always good. */ printf_argtype_vec = register_printf_type (vec_va); /* Register our modifiers */ for (i=0; i<vector_mods_len; ++i) { vector_mods[i].bits = register_printf_modifier (vector_mods[i].modifier_string); } /* Indicate our interest in integer types */ register_printf_specifier ('d', vec_printf_d, vec_ais); register_printf_specifier ('i', vec_printf_d, vec_ais); register_printf_specifier ('o', vec_printf_d, vec_ais); register_printf_specifier ('u', vec_printf_d, vec_ais); register_printf_specifier ('x', vec_printf_d, vec_ais); register_printf_specifier ('X', vec_printf_d, vec_ais); register_printf_specifier ('c', vec_printf_d, vec_ais); /* Indicate our interest in fp types */ register_printf_specifier ('f', vec_printf_f, vec_ais); register_printf_specifier ('F', vec_printf_f, vec_ais); register_printf_specifier ('e', vec_printf_f, vec_ais); register_printf_specifier ('E', vec_printf_f, vec_ais); register_printf_specifier ('g', vec_printf_f, vec_ais); register_printf_specifier ('G', vec_printf_f, vec_ais); register_printf_specifier ('a', vec_printf_f, vec_ais); register_printf_specifier ('A', vec_printf_f, vec_ais); return 0; }