h_strpct
h_strpct(0, 0, 0, 0, "");
h_strpct(1, 0, 0, 0, "");
h_strpct(2, 0, 0, 0, "0");
h_strpct(3, 0, 0, 0, "0");
h_strpct(3, 0, 0, 1, "0.");
h_strpct(4, 0, 0, 1, "0.0");
h_strpct(4, 1, 5, 1, "20.");
h_strpct(6, 1, 5, 1, "20.0");
h_strpct(100, 1, 5, 5, "20.00000");
h_strpct(100, 1, 7, 20, "14.28571428571428571428");
h_strpct( 5, 11223344, 100, 10, "1122");
h_strpct(10, 11223344, 100, 10, "11223344.");
h_strpct(11, 11223344, 100, 10, "11223344.0");
h_strpct(100, UINTMAX_MAX, UINTMAX_MAX, 0, "100");
h_strpct(100, UINTMAX_MAX, UINTMAX_MAX, 1, "100.0");
h_strpct(100, UINTMAX_MAX, UINTMAX_MAX, 5, "100.00000");
h_strpct(100, UINTMAX_MAX, UINTMAX_MAX, 10, "100.0000000000");
h_strpct(100, UINTMAX_MAX, UINTMAX_MAX, 15, "100.000000000000000");
h_strpct(100, UINTMAX_MAX, UINTMAX_MAX, 20, "100.00000000000000000000");
h_strpct(100, UINTMAX_MAX, UINTMAX_MAX, 25, "100.0000000000000000000000000");
h_strpct(100, UINTMAX_MAX - 1, UINTMAX_MAX, 25, "99.9999999999999999945789891");
h_strpct(100, 1, (UINTMAX_MAX >> 1) + 1, 70,
h_strpct(100, UINTMAX_MAX, 1, 10, "1844674407370955161500.0000000000");
h_strpct(100, 1, UINTMAX_MAX, 30, "0.000000000000000005421010862427");