Пример #1
0
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;
}
Пример #2
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;
}
Пример #3
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;
}