aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2024-05-05 20:50:12 +0200
committerMattias Andrée <maandree@kth.se>2024-05-05 20:50:12 +0200
commitb663b8ca0207d7e3b9bd84a69e6090133a8d0ce1 (patch)
tree4dfde40daeb7bbcdcb8d067b0d2b4a5d0bd29443
parentm + add ascii.h and exec.h (diff)
downloadlibsimple-b663b8ca0207d7e3b9bd84a69e6090133a8d0ce1.tar.gz
libsimple-b663b8ca0207d7e3b9bd84a69e6090133a8d0ce1.tar.bz2
libsimple-b663b8ca0207d7e3b9bd84a69e6090133a8d0ce1.tar.xz
Add libsimple_{cmp,qsort}_*
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rw-r--r--Makefile577
-rw-r--r--cmp_doublep.c18
-rw-r--r--cmp_doublepp.c18
-rw-r--r--cmp_doublepp_nul.c18
-rw-r--r--cmp_floatp.c18
-rw-r--r--cmp_floatpp.c18
-rw-r--r--cmp_floatpp_nul.c18
-rw-r--r--cmp_int16p.c18
-rw-r--r--cmp_int16pp.c18
-rw-r--r--cmp_int16pp_nul.c18
-rw-r--r--cmp_int32p.c18
-rw-r--r--cmp_int32pp.c18
-rw-r--r--cmp_int32pp_nul.c18
-rw-r--r--cmp_int64p.c18
-rw-r--r--cmp_int64pp.c18
-rw-r--r--cmp_int64pp_nul.c18
-rw-r--r--cmp_int8p.c18
-rw-r--r--cmp_int8pp.c18
-rw-r--r--cmp_int8pp_nul.c18
-rw-r--r--cmp_int_least16p.c18
-rw-r--r--cmp_int_least16pp.c18
-rw-r--r--cmp_int_least16pp_nul.c18
-rw-r--r--cmp_int_least32p.c18
-rw-r--r--cmp_int_least32pp.c18
-rw-r--r--cmp_int_least32pp_nul.c18
-rw-r--r--cmp_int_least64p.c18
-rw-r--r--cmp_int_least64pp.c18
-rw-r--r--cmp_int_least64pp_nul.c18
-rw-r--r--cmp_int_least8p.c18
-rw-r--r--cmp_int_least8pp.c18
-rw-r--r--cmp_int_least8pp_nul.c18
-rw-r--r--cmp_intmaxp.c18
-rw-r--r--cmp_intmaxpp.c18
-rw-r--r--cmp_intmaxpp_nul.c18
-rw-r--r--cmp_intp.c18
-rw-r--r--cmp_intpp.c18
-rw-r--r--cmp_intpp_nul.c18
-rw-r--r--cmp_intptrp.c18
-rw-r--r--cmp_intptrpp.c18
-rw-r--r--cmp_intptrpp_nul.c18
-rw-r--r--cmp_llongp.c18
-rw-r--r--cmp_llongpp.c18
-rw-r--r--cmp_llongpp_nul.c18
-rw-r--r--cmp_longp.c18
-rw-r--r--cmp_longpp.c18
-rw-r--r--cmp_longpp_nul.c18
-rw-r--r--cmp_nul_doublepp.c18
-rw-r--r--cmp_nul_floatpp.c18
-rw-r--r--cmp_nul_int16pp.c18
-rw-r--r--cmp_nul_int32pp.c18
-rw-r--r--cmp_nul_int64pp.c18
-rw-r--r--cmp_nul_int8pp.c18
-rw-r--r--cmp_nul_int_least16pp.c18
-rw-r--r--cmp_nul_int_least32pp.c18
-rw-r--r--cmp_nul_int_least64pp.c18
-rw-r--r--cmp_nul_int_least8pp.c18
-rw-r--r--cmp_nul_intmaxpp.c18
-rw-r--r--cmp_nul_intpp.c18
-rw-r--r--cmp_nul_intptrpp.c18
-rw-r--r--cmp_nul_llongpp.c18
-rw-r--r--cmp_nul_longpp.c18
-rw-r--r--cmp_nul_ptrdiffpp.c18
-rw-r--r--cmp_nul_rev_doublepp.c18
-rw-r--r--cmp_nul_rev_floatpp.c18
-rw-r--r--cmp_nul_rev_int16pp.c18
-rw-r--r--cmp_nul_rev_int32pp.c18
-rw-r--r--cmp_nul_rev_int64pp.c18
-rw-r--r--cmp_nul_rev_int8pp.c18
-rw-r--r--cmp_nul_rev_int_least16pp.c18
-rw-r--r--cmp_nul_rev_int_least32pp.c18
-rw-r--r--cmp_nul_rev_int_least64pp.c18
-rw-r--r--cmp_nul_rev_int_least8pp.c18
-rw-r--r--cmp_nul_rev_intmaxpp.c18
-rw-r--r--cmp_nul_rev_intpp.c18
-rw-r--r--cmp_nul_rev_intptrpp.c18
-rw-r--r--cmp_nul_rev_llongpp.c18
-rw-r--r--cmp_nul_rev_longpp.c18
-rw-r--r--cmp_nul_rev_ptrdiffpp.c18
-rw-r--r--cmp_nul_rev_scharpp.c18
-rw-r--r--cmp_nul_rev_shortpp.c18
-rw-r--r--cmp_nul_rev_sizepp.c18
-rw-r--r--cmp_nul_rev_ssizepp.c18
-rw-r--r--cmp_nul_rev_strpp.c18
-rw-r--r--cmp_nul_rev_ucharpp.c18
-rw-r--r--cmp_nul_rev_uint16pp.c18
-rw-r--r--cmp_nul_rev_uint32pp.c18
-rw-r--r--cmp_nul_rev_uint64pp.c18
-rw-r--r--cmp_nul_rev_uint8pp.c18
-rw-r--r--cmp_nul_rev_uint_least16pp.c18
-rw-r--r--cmp_nul_rev_uint_least32pp.c18
-rw-r--r--cmp_nul_rev_uint_least64pp.c18
-rw-r--r--cmp_nul_rev_uint_least8pp.c18
-rw-r--r--cmp_nul_rev_uintmaxpp.c18
-rw-r--r--cmp_nul_rev_uintpp.c18
-rw-r--r--cmp_nul_rev_uintptrpp.c18
-rw-r--r--cmp_nul_rev_ullongpp.c18
-rw-r--r--cmp_nul_rev_ulongpp.c18
-rw-r--r--cmp_nul_rev_ushortpp.c18
-rw-r--r--cmp_nul_scharpp.c18
-rw-r--r--cmp_nul_shortpp.c18
-rw-r--r--cmp_nul_sizepp.c18
-rw-r--r--cmp_nul_ssizepp.c18
-rw-r--r--cmp_nul_strpp.c18
-rw-r--r--cmp_nul_ucharpp.c18
-rw-r--r--cmp_nul_uint16pp.c18
-rw-r--r--cmp_nul_uint32pp.c18
-rw-r--r--cmp_nul_uint64pp.c18
-rw-r--r--cmp_nul_uint8pp.c18
-rw-r--r--cmp_nul_uint_least16pp.c18
-rw-r--r--cmp_nul_uint_least32pp.c18
-rw-r--r--cmp_nul_uint_least64pp.c18
-rw-r--r--cmp_nul_uint_least8pp.c18
-rw-r--r--cmp_nul_uintmaxpp.c18
-rw-r--r--cmp_nul_uintpp.c18
-rw-r--r--cmp_nul_uintptrpp.c18
-rw-r--r--cmp_nul_ullongpp.c18
-rw-r--r--cmp_nul_ulongpp.c18
-rw-r--r--cmp_nul_ushortpp.c18
-rw-r--r--cmp_ptrdiffp.c18
-rw-r--r--cmp_ptrdiffpp.c18
-rw-r--r--cmp_ptrdiffpp_nul.c18
-rw-r--r--cmp_rev_doublep.c18
-rw-r--r--cmp_rev_doublepp.c18
-rw-r--r--cmp_rev_doublepp_nul.c18
-rw-r--r--cmp_rev_floatp.c18
-rw-r--r--cmp_rev_floatpp.c18
-rw-r--r--cmp_rev_floatpp_nul.c18
-rw-r--r--cmp_rev_int16p.c18
-rw-r--r--cmp_rev_int16pp.c18
-rw-r--r--cmp_rev_int16pp_nul.c18
-rw-r--r--cmp_rev_int32p.c18
-rw-r--r--cmp_rev_int32pp.c18
-rw-r--r--cmp_rev_int32pp_nul.c18
-rw-r--r--cmp_rev_int64p.c18
-rw-r--r--cmp_rev_int64pp.c18
-rw-r--r--cmp_rev_int64pp_nul.c18
-rw-r--r--cmp_rev_int8p.c18
-rw-r--r--cmp_rev_int8pp.c18
-rw-r--r--cmp_rev_int8pp_nul.c18
-rw-r--r--cmp_rev_int_least16p.c18
-rw-r--r--cmp_rev_int_least16pp.c18
-rw-r--r--cmp_rev_int_least16pp_nul.c18
-rw-r--r--cmp_rev_int_least32p.c18
-rw-r--r--cmp_rev_int_least32pp.c18
-rw-r--r--cmp_rev_int_least32pp_nul.c18
-rw-r--r--cmp_rev_int_least64p.c18
-rw-r--r--cmp_rev_int_least64pp.c18
-rw-r--r--cmp_rev_int_least64pp_nul.c18
-rw-r--r--cmp_rev_int_least8p.c18
-rw-r--r--cmp_rev_int_least8pp.c18
-rw-r--r--cmp_rev_int_least8pp_nul.c18
-rw-r--r--cmp_rev_intmaxp.c18
-rw-r--r--cmp_rev_intmaxpp.c18
-rw-r--r--cmp_rev_intmaxpp_nul.c18
-rw-r--r--cmp_rev_intp.c18
-rw-r--r--cmp_rev_intpp.c18
-rw-r--r--cmp_rev_intpp_nul.c18
-rw-r--r--cmp_rev_intptrp.c18
-rw-r--r--cmp_rev_intptrpp.c18
-rw-r--r--cmp_rev_intptrpp_nul.c18
-rw-r--r--cmp_rev_llongp.c18
-rw-r--r--cmp_rev_llongpp.c18
-rw-r--r--cmp_rev_llongpp_nul.c18
-rw-r--r--cmp_rev_longp.c18
-rw-r--r--cmp_rev_longpp.c18
-rw-r--r--cmp_rev_longpp_nul.c18
-rw-r--r--cmp_rev_ptrdiffp.c18
-rw-r--r--cmp_rev_ptrdiffpp.c18
-rw-r--r--cmp_rev_ptrdiffpp_nul.c18
-rw-r--r--cmp_rev_scharp.c18
-rw-r--r--cmp_rev_scharpp.c18
-rw-r--r--cmp_rev_scharpp_nul.c18
-rw-r--r--cmp_rev_shortp.c18
-rw-r--r--cmp_rev_shortpp.c18
-rw-r--r--cmp_rev_shortpp_nul.c18
-rw-r--r--cmp_rev_sizep.c18
-rw-r--r--cmp_rev_sizepp.c18
-rw-r--r--cmp_rev_sizepp_nul.c18
-rw-r--r--cmp_rev_ssizep.c18
-rw-r--r--cmp_rev_ssizepp.c18
-rw-r--r--cmp_rev_ssizepp_nul.c18
-rw-r--r--cmp_rev_strp.c18
-rw-r--r--cmp_rev_strpp.c18
-rw-r--r--cmp_rev_strpp_nul.c18
-rw-r--r--cmp_rev_ucharp.c18
-rw-r--r--cmp_rev_ucharpp.c18
-rw-r--r--cmp_rev_ucharpp_nul.c18
-rw-r--r--cmp_rev_uint16p.c18
-rw-r--r--cmp_rev_uint16pp.c18
-rw-r--r--cmp_rev_uint16pp_nul.c18
-rw-r--r--cmp_rev_uint32p.c18
-rw-r--r--cmp_rev_uint32pp.c18
-rw-r--r--cmp_rev_uint32pp_nul.c18
-rw-r--r--cmp_rev_uint64p.c18
-rw-r--r--cmp_rev_uint64pp.c18
-rw-r--r--cmp_rev_uint64pp_nul.c18
-rw-r--r--cmp_rev_uint8p.c18
-rw-r--r--cmp_rev_uint8pp.c18
-rw-r--r--cmp_rev_uint8pp_nul.c18
-rw-r--r--cmp_rev_uint_least16p.c18
-rw-r--r--cmp_rev_uint_least16pp.c18
-rw-r--r--cmp_rev_uint_least16pp_nul.c18
-rw-r--r--cmp_rev_uint_least32p.c18
-rw-r--r--cmp_rev_uint_least32pp.c18
-rw-r--r--cmp_rev_uint_least32pp_nul.c18
-rw-r--r--cmp_rev_uint_least64p.c18
-rw-r--r--cmp_rev_uint_least64pp.c18
-rw-r--r--cmp_rev_uint_least64pp_nul.c18
-rw-r--r--cmp_rev_uint_least8p.c18
-rw-r--r--cmp_rev_uint_least8pp.c18
-rw-r--r--cmp_rev_uint_least8pp_nul.c18
-rw-r--r--cmp_rev_uintmaxp.c18
-rw-r--r--cmp_rev_uintmaxpp.c18
-rw-r--r--cmp_rev_uintmaxpp_nul.c18
-rw-r--r--cmp_rev_uintp.c18
-rw-r--r--cmp_rev_uintpp.c18
-rw-r--r--cmp_rev_uintpp_nul.c18
-rw-r--r--cmp_rev_uintptrp.c18
-rw-r--r--cmp_rev_uintptrpp.c18
-rw-r--r--cmp_rev_uintptrpp_nul.c18
-rw-r--r--cmp_rev_ullongp.c18
-rw-r--r--cmp_rev_ullongpp.c18
-rw-r--r--cmp_rev_ullongpp_nul.c18
-rw-r--r--cmp_rev_ulongp.c18
-rw-r--r--cmp_rev_ulongpp.c18
-rw-r--r--cmp_rev_ulongpp_nul.c18
-rw-r--r--cmp_rev_ushortp.c18
-rw-r--r--cmp_rev_ushortpp.c18
-rw-r--r--cmp_rev_ushortpp_nul.c18
-rw-r--r--cmp_scharp.c18
-rw-r--r--cmp_scharpp.c18
-rw-r--r--cmp_scharpp_nul.c18
-rw-r--r--cmp_shortp.c18
-rw-r--r--cmp_shortpp.c18
-rw-r--r--cmp_shortpp_nul.c18
-rw-r--r--cmp_sizep.c18
-rw-r--r--cmp_sizepp.c18
-rw-r--r--cmp_sizepp_nul.c18
-rw-r--r--cmp_ssizep.c18
-rw-r--r--cmp_ssizepp.c18
-rw-r--r--cmp_ssizepp_nul.c18
-rw-r--r--cmp_strp.c18
-rw-r--r--cmp_strpp.c18
-rw-r--r--cmp_strpp_nul.c18
-rw-r--r--cmp_ucharp.c18
-rw-r--r--cmp_ucharpp.c18
-rw-r--r--cmp_ucharpp_nul.c18
-rw-r--r--cmp_uint16p.c18
-rw-r--r--cmp_uint16pp.c18
-rw-r--r--cmp_uint16pp_nul.c18
-rw-r--r--cmp_uint32p.c18
-rw-r--r--cmp_uint32pp.c18
-rw-r--r--cmp_uint32pp_nul.c18
-rw-r--r--cmp_uint64p.c18
-rw-r--r--cmp_uint64pp.c18
-rw-r--r--cmp_uint64pp_nul.c18
-rw-r--r--cmp_uint8p.c18
-rw-r--r--cmp_uint8pp.c18
-rw-r--r--cmp_uint8pp_nul.c18
-rw-r--r--cmp_uint_least16p.c18
-rw-r--r--cmp_uint_least16pp.c18
-rw-r--r--cmp_uint_least16pp_nul.c18
-rw-r--r--cmp_uint_least32p.c18
-rw-r--r--cmp_uint_least32pp.c18
-rw-r--r--cmp_uint_least32pp_nul.c18
-rw-r--r--cmp_uint_least64p.c18
-rw-r--r--cmp_uint_least64pp.c18
-rw-r--r--cmp_uint_least64pp_nul.c18
-rw-r--r--cmp_uint_least8p.c18
-rw-r--r--cmp_uint_least8pp.c18
-rw-r--r--cmp_uint_least8pp_nul.c18
-rw-r--r--cmp_uintmaxp.c18
-rw-r--r--cmp_uintmaxpp.c18
-rw-r--r--cmp_uintmaxpp_nul.c18
-rw-r--r--cmp_uintp.c18
-rw-r--r--cmp_uintpp.c18
-rw-r--r--cmp_uintpp_nul.c18
-rw-r--r--cmp_uintptrp.c18
-rw-r--r--cmp_uintptrpp.c18
-rw-r--r--cmp_uintptrpp_nul.c18
-rw-r--r--cmp_ullongp.c18
-rw-r--r--cmp_ullongpp.c18
-rw-r--r--cmp_ullongpp_nul.c18
-rw-r--r--cmp_ulongp.c18
-rw-r--r--cmp_ulongpp.c18
-rw-r--r--cmp_ulongpp_nul.c18
-rw-r--r--cmp_ushortp.c18
-rw-r--r--cmp_ushortpp.c18
-rw-r--r--cmp_ushortpp_nul.c18
-rw-r--r--libsimple.h1
-rw-r--r--libsimple/sort.h1865
-rw-r--r--qsort_double.c18
-rw-r--r--qsort_doublep.c18
-rw-r--r--qsort_doublep_nul.c18
-rw-r--r--qsort_float.c18
-rw-r--r--qsort_floatp.c18
-rw-r--r--qsort_floatp_nul.c18
-rw-r--r--qsort_int.c18
-rw-r--r--qsort_int16.c18
-rw-r--r--qsort_int16p.c18
-rw-r--r--qsort_int16p_nul.c18
-rw-r--r--qsort_int32.c18
-rw-r--r--qsort_int32p.c18
-rw-r--r--qsort_int32p_nul.c18
-rw-r--r--qsort_int64.c18
-rw-r--r--qsort_int64p.c18
-rw-r--r--qsort_int64p_nul.c18
-rw-r--r--qsort_int8.c18
-rw-r--r--qsort_int8p.c18
-rw-r--r--qsort_int8p_nul.c18
-rw-r--r--qsort_int_least16.c18
-rw-r--r--qsort_int_least16p.c18
-rw-r--r--qsort_int_least16p_nul.c18
-rw-r--r--qsort_int_least32.c18
-rw-r--r--qsort_int_least32p.c18
-rw-r--r--qsort_int_least32p_nul.c18
-rw-r--r--qsort_int_least64.c18
-rw-r--r--qsort_int_least64p.c18
-rw-r--r--qsort_int_least64p_nul.c18
-rw-r--r--qsort_int_least8.c18
-rw-r--r--qsort_int_least8p.c18
-rw-r--r--qsort_int_least8p_nul.c18
-rw-r--r--qsort_intmax.c18
-rw-r--r--qsort_intmaxp.c18
-rw-r--r--qsort_intmaxp_nul.c18
-rw-r--r--qsort_intp.c18
-rw-r--r--qsort_intp_nul.c18
-rw-r--r--qsort_intptr.c18
-rw-r--r--qsort_intptrp.c18
-rw-r--r--qsort_intptrp_nul.c18
-rw-r--r--qsort_llong.c18
-rw-r--r--qsort_llongp.c18
-rw-r--r--qsort_llongp_nul.c18
-rw-r--r--qsort_long.c18
-rw-r--r--qsort_longp.c18
-rw-r--r--qsort_longp_nul.c18
-rw-r--r--qsort_nul_doublep.c18
-rw-r--r--qsort_nul_floatp.c18
-rw-r--r--qsort_nul_int16p.c18
-rw-r--r--qsort_nul_int32p.c18
-rw-r--r--qsort_nul_int64p.c18
-rw-r--r--qsort_nul_int8p.c18
-rw-r--r--qsort_nul_int_least16p.c18
-rw-r--r--qsort_nul_int_least32p.c18
-rw-r--r--qsort_nul_int_least64p.c18
-rw-r--r--qsort_nul_int_least8p.c18
-rw-r--r--qsort_nul_intmaxp.c18
-rw-r--r--qsort_nul_intp.c18
-rw-r--r--qsort_nul_intptrp.c18
-rw-r--r--qsort_nul_llongp.c18
-rw-r--r--qsort_nul_longp.c18
-rw-r--r--qsort_nul_ptrdiffp.c18
-rw-r--r--qsort_nul_rev_doublep.c18
-rw-r--r--qsort_nul_rev_floatp.c18
-rw-r--r--qsort_nul_rev_int16p.c18
-rw-r--r--qsort_nul_rev_int32p.c18
-rw-r--r--qsort_nul_rev_int64p.c18
-rw-r--r--qsort_nul_rev_int8p.c18
-rw-r--r--qsort_nul_rev_int_least16p.c18
-rw-r--r--qsort_nul_rev_int_least32p.c18
-rw-r--r--qsort_nul_rev_int_least64p.c18
-rw-r--r--qsort_nul_rev_int_least8p.c18
-rw-r--r--qsort_nul_rev_intmaxp.c18
-rw-r--r--qsort_nul_rev_intp.c18
-rw-r--r--qsort_nul_rev_intptrp.c18
-rw-r--r--qsort_nul_rev_llongp.c18
-rw-r--r--qsort_nul_rev_longp.c18
-rw-r--r--qsort_nul_rev_ptrdiffp.c18
-rw-r--r--qsort_nul_rev_scharp.c18
-rw-r--r--qsort_nul_rev_shortp.c18
-rw-r--r--qsort_nul_rev_sizep.c18
-rw-r--r--qsort_nul_rev_ssizep.c18
-rw-r--r--qsort_nul_rev_strp.c18
-rw-r--r--qsort_nul_rev_ucharp.c18
-rw-r--r--qsort_nul_rev_uint16p.c18
-rw-r--r--qsort_nul_rev_uint32p.c18
-rw-r--r--qsort_nul_rev_uint64p.c18
-rw-r--r--qsort_nul_rev_uint8p.c18
-rw-r--r--qsort_nul_rev_uint_least16p.c18
-rw-r--r--qsort_nul_rev_uint_least32p.c18
-rw-r--r--qsort_nul_rev_uint_least64p.c18
-rw-r--r--qsort_nul_rev_uint_least8p.c18
-rw-r--r--qsort_nul_rev_uintmaxp.c18
-rw-r--r--qsort_nul_rev_uintp.c18
-rw-r--r--qsort_nul_rev_uintptrp.c18
-rw-r--r--qsort_nul_rev_ullongp.c18
-rw-r--r--qsort_nul_rev_ulongp.c18
-rw-r--r--qsort_nul_rev_ushortp.c18
-rw-r--r--qsort_nul_scharp.c18
-rw-r--r--qsort_nul_shortp.c18
-rw-r--r--qsort_nul_sizep.c18
-rw-r--r--qsort_nul_ssizep.c18
-rw-r--r--qsort_nul_strp.c18
-rw-r--r--qsort_nul_ucharp.c18
-rw-r--r--qsort_nul_uint16p.c18
-rw-r--r--qsort_nul_uint32p.c18
-rw-r--r--qsort_nul_uint64p.c18
-rw-r--r--qsort_nul_uint8p.c18
-rw-r--r--qsort_nul_uint_least16p.c18
-rw-r--r--qsort_nul_uint_least32p.c18
-rw-r--r--qsort_nul_uint_least64p.c18
-rw-r--r--qsort_nul_uint_least8p.c18
-rw-r--r--qsort_nul_uintmaxp.c18
-rw-r--r--qsort_nul_uintp.c18
-rw-r--r--qsort_nul_uintptrp.c18
-rw-r--r--qsort_nul_ullongp.c18
-rw-r--r--qsort_nul_ulongp.c18
-rw-r--r--qsort_nul_ushortp.c18
-rw-r--r--qsort_ptrdiff.c18
-rw-r--r--qsort_ptrdiffp.c18
-rw-r--r--qsort_ptrdiffp_nul.c18
-rw-r--r--qsort_rev_double.c18
-rw-r--r--qsort_rev_doublep.c18
-rw-r--r--qsort_rev_doublep_nul.c18
-rw-r--r--qsort_rev_float.c18
-rw-r--r--qsort_rev_floatp.c18
-rw-r--r--qsort_rev_floatp_nul.c18
-rw-r--r--qsort_rev_int.c18
-rw-r--r--qsort_rev_int16.c18
-rw-r--r--qsort_rev_int16p.c18
-rw-r--r--qsort_rev_int16p_nul.c18
-rw-r--r--qsort_rev_int32.c18
-rw-r--r--qsort_rev_int32p.c18
-rw-r--r--qsort_rev_int32p_nul.c18
-rw-r--r--qsort_rev_int64.c18
-rw-r--r--qsort_rev_int64p.c18
-rw-r--r--qsort_rev_int64p_nul.c18
-rw-r--r--qsort_rev_int8.c18
-rw-r--r--qsort_rev_int8p.c18
-rw-r--r--qsort_rev_int8p_nul.c18
-rw-r--r--qsort_rev_int_least16.c18
-rw-r--r--qsort_rev_int_least16p.c18
-rw-r--r--qsort_rev_int_least16p_nul.c18
-rw-r--r--qsort_rev_int_least32.c18
-rw-r--r--qsort_rev_int_least32p.c18
-rw-r--r--qsort_rev_int_least32p_nul.c18
-rw-r--r--qsort_rev_int_least64.c18
-rw-r--r--qsort_rev_int_least64p.c18
-rw-r--r--qsort_rev_int_least64p_nul.c18
-rw-r--r--qsort_rev_int_least8.c18
-rw-r--r--qsort_rev_int_least8p.c18
-rw-r--r--qsort_rev_int_least8p_nul.c18
-rw-r--r--qsort_rev_intmax.c18
-rw-r--r--qsort_rev_intmaxp.c18
-rw-r--r--qsort_rev_intmaxp_nul.c18
-rw-r--r--qsort_rev_intp.c18
-rw-r--r--qsort_rev_intp_nul.c18
-rw-r--r--qsort_rev_intptr.c18
-rw-r--r--qsort_rev_intptrp.c18
-rw-r--r--qsort_rev_intptrp_nul.c18
-rw-r--r--qsort_rev_llong.c18
-rw-r--r--qsort_rev_llongp.c18
-rw-r--r--qsort_rev_llongp_nul.c18
-rw-r--r--qsort_rev_long.c18
-rw-r--r--qsort_rev_longp.c18
-rw-r--r--qsort_rev_longp_nul.c18
-rw-r--r--qsort_rev_ptrdiff.c18
-rw-r--r--qsort_rev_ptrdiffp.c18
-rw-r--r--qsort_rev_ptrdiffp_nul.c18
-rw-r--r--qsort_rev_schar.c18
-rw-r--r--qsort_rev_scharp.c18
-rw-r--r--qsort_rev_scharp_nul.c18
-rw-r--r--qsort_rev_short.c18
-rw-r--r--qsort_rev_shortp.c18
-rw-r--r--qsort_rev_shortp_nul.c18
-rw-r--r--qsort_rev_size.c18
-rw-r--r--qsort_rev_sizep.c18
-rw-r--r--qsort_rev_sizep_nul.c18
-rw-r--r--qsort_rev_ssize.c18
-rw-r--r--qsort_rev_ssizep.c18
-rw-r--r--qsort_rev_ssizep_nul.c18
-rw-r--r--qsort_rev_str.c18
-rw-r--r--qsort_rev_strp.c18
-rw-r--r--qsort_rev_strp_nul.c18
-rw-r--r--qsort_rev_uchar.c18
-rw-r--r--qsort_rev_ucharp.c18
-rw-r--r--qsort_rev_ucharp_nul.c18
-rw-r--r--qsort_rev_uint.c18
-rw-r--r--qsort_rev_uint16.c18
-rw-r--r--qsort_rev_uint16p.c18
-rw-r--r--qsort_rev_uint16p_nul.c18
-rw-r--r--qsort_rev_uint32.c18
-rw-r--r--qsort_rev_uint32p.c18
-rw-r--r--qsort_rev_uint32p_nul.c18
-rw-r--r--qsort_rev_uint64.c18
-rw-r--r--qsort_rev_uint64p.c18
-rw-r--r--qsort_rev_uint64p_nul.c18
-rw-r--r--qsort_rev_uint8.c18
-rw-r--r--qsort_rev_uint8p.c18
-rw-r--r--qsort_rev_uint8p_nul.c18
-rw-r--r--qsort_rev_uint_least16.c18
-rw-r--r--qsort_rev_uint_least16p.c18
-rw-r--r--qsort_rev_uint_least16p_nul.c18
-rw-r--r--qsort_rev_uint_least32.c18
-rw-r--r--qsort_rev_uint_least32p.c18
-rw-r--r--qsort_rev_uint_least32p_nul.c18
-rw-r--r--qsort_rev_uint_least64.c18
-rw-r--r--qsort_rev_uint_least64p.c18
-rw-r--r--qsort_rev_uint_least64p_nul.c18
-rw-r--r--qsort_rev_uint_least8.c18
-rw-r--r--qsort_rev_uint_least8p.c18
-rw-r--r--qsort_rev_uint_least8p_nul.c18
-rw-r--r--qsort_rev_uintmax.c18
-rw-r--r--qsort_rev_uintmaxp.c18
-rw-r--r--qsort_rev_uintmaxp_nul.c18
-rw-r--r--qsort_rev_uintp.c18
-rw-r--r--qsort_rev_uintp_nul.c18
-rw-r--r--qsort_rev_uintptr.c18
-rw-r--r--qsort_rev_uintptrp.c18
-rw-r--r--qsort_rev_uintptrp_nul.c18
-rw-r--r--qsort_rev_ullong.c18
-rw-r--r--qsort_rev_ullongp.c18
-rw-r--r--qsort_rev_ullongp_nul.c18
-rw-r--r--qsort_rev_ulong.c18
-rw-r--r--qsort_rev_ulongp.c18
-rw-r--r--qsort_rev_ulongp_nul.c18
-rw-r--r--qsort_rev_ushort.c18
-rw-r--r--qsort_rev_ushortp.c18
-rw-r--r--qsort_rev_ushortp_nul.c18
-rw-r--r--qsort_schar.c18
-rw-r--r--qsort_scharp.c18
-rw-r--r--qsort_scharp_nul.c18
-rw-r--r--qsort_short.c18
-rw-r--r--qsort_shortp.c18
-rw-r--r--qsort_shortp_nul.c18
-rw-r--r--qsort_size.c18
-rw-r--r--qsort_sizep.c18
-rw-r--r--qsort_sizep_nul.c18
-rw-r--r--qsort_ssize.c18
-rw-r--r--qsort_ssizep.c18
-rw-r--r--qsort_ssizep_nul.c18
-rw-r--r--qsort_str.c18
-rw-r--r--qsort_strp.c18
-rw-r--r--qsort_strp_nul.c18
-rw-r--r--qsort_uchar.c18
-rw-r--r--qsort_ucharp.c18
-rw-r--r--qsort_ucharp_nul.c18
-rw-r--r--qsort_uint.c18
-rw-r--r--qsort_uint16.c18
-rw-r--r--qsort_uint16p.c18
-rw-r--r--qsort_uint16p_nul.c18
-rw-r--r--qsort_uint32.c18
-rw-r--r--qsort_uint32p.c18
-rw-r--r--qsort_uint32p_nul.c18
-rw-r--r--qsort_uint64.c18
-rw-r--r--qsort_uint64p.c18
-rw-r--r--qsort_uint64p_nul.c18
-rw-r--r--qsort_uint8.c18
-rw-r--r--qsort_uint8p.c18
-rw-r--r--qsort_uint8p_nul.c18
-rw-r--r--qsort_uint_least16.c18
-rw-r--r--qsort_uint_least16p.c18
-rw-r--r--qsort_uint_least16p_nul.c18
-rw-r--r--qsort_uint_least32.c18
-rw-r--r--qsort_uint_least32p.c18
-rw-r--r--qsort_uint_least32p_nul.c18
-rw-r--r--qsort_uint_least64.c18
-rw-r--r--qsort_uint_least64p.c18
-rw-r--r--qsort_uint_least64p_nul.c18
-rw-r--r--qsort_uint_least8.c18
-rw-r--r--qsort_uint_least8p.c18
-rw-r--r--qsort_uint_least8p_nul.c18
-rw-r--r--qsort_uintmax.c18
-rw-r--r--qsort_uintmaxp.c18
-rw-r--r--qsort_uintmaxp_nul.c18
-rw-r--r--qsort_uintp.c18
-rw-r--r--qsort_uintp_nul.c18
-rw-r--r--qsort_uintptr.c18
-rw-r--r--qsort_uintptrp.c18
-rw-r--r--qsort_uintptrp_nul.c18
-rw-r--r--qsort_ullong.c18
-rw-r--r--qsort_ullongp.c18
-rw-r--r--qsort_ullongp_nul.c18
-rw-r--r--qsort_ulong.c18
-rw-r--r--qsort_ulongp.c18
-rw-r--r--qsort_ulongp_nul.c18
-rw-r--r--qsort_ushort.c18
-rw-r--r--qsort_ushortp.c18
-rw-r--r--qsort_ushortp_nul.c18
579 files changed, 12811 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 84fb58c..c1f2dbc 100644
--- a/Makefile
+++ b/Makefile
@@ -52,6 +52,7 @@ SUBHDR =\
libsimple/random.h\
libsimple/realloc.h\
libsimple/search.h\
+ libsimple/sort.h\
libsimple/str.h\
libsimple/strdup.h\
libsimple/strn.h\
@@ -95,6 +96,294 @@ OBJ =\
callocn.o\
close.o\
close_range.o\
+ cmp_doublep.o\
+ cmp_doublepp.o\
+ cmp_doublepp_nul.o\
+ cmp_floatp.o\
+ cmp_floatpp.o\
+ cmp_floatpp_nul.o\
+ cmp_int16p.o\
+ cmp_int16pp.o\
+ cmp_int16pp_nul.o\
+ cmp_int32p.o\
+ cmp_int32pp.o\
+ cmp_int32pp_nul.o\
+ cmp_int64p.o\
+ cmp_int64pp.o\
+ cmp_int64pp_nul.o\
+ cmp_int8p.o\
+ cmp_int8pp.o\
+ cmp_int8pp_nul.o\
+ cmp_int_least16p.o\
+ cmp_int_least16pp.o\
+ cmp_int_least16pp_nul.o\
+ cmp_int_least32p.o\
+ cmp_int_least32pp.o\
+ cmp_int_least32pp_nul.o\
+ cmp_int_least64p.o\
+ cmp_int_least64pp.o\
+ cmp_int_least64pp_nul.o\
+ cmp_int_least8p.o\
+ cmp_int_least8pp.o\
+ cmp_int_least8pp_nul.o\
+ cmp_intmaxp.o\
+ cmp_intmaxpp.o\
+ cmp_intmaxpp_nul.o\
+ cmp_intp.o\
+ cmp_intpp.o\
+ cmp_intpp_nul.o\
+ cmp_intptrp.o\
+ cmp_intptrpp.o\
+ cmp_intptrpp_nul.o\
+ cmp_llongp.o\
+ cmp_llongpp.o\
+ cmp_llongpp_nul.o\
+ cmp_longp.o\
+ cmp_longpp.o\
+ cmp_longpp_nul.o\
+ cmp_nul_doublepp.o\
+ cmp_nul_floatpp.o\
+ cmp_nul_int16pp.o\
+ cmp_nul_int32pp.o\
+ cmp_nul_int64pp.o\
+ cmp_nul_int8pp.o\
+ cmp_nul_int_least16pp.o\
+ cmp_nul_int_least32pp.o\
+ cmp_nul_int_least64pp.o\
+ cmp_nul_int_least8pp.o\
+ cmp_nul_intmaxpp.o\
+ cmp_nul_intpp.o\
+ cmp_nul_intptrpp.o\
+ cmp_nul_llongpp.o\
+ cmp_nul_longpp.o\
+ cmp_nul_ptrdiffpp.o\
+ cmp_nul_rev_doublepp.o\
+ cmp_nul_rev_floatpp.o\
+ cmp_nul_rev_int16pp.o\
+ cmp_nul_rev_int32pp.o\
+ cmp_nul_rev_int64pp.o\
+ cmp_nul_rev_int8pp.o\
+ cmp_nul_rev_int_least16pp.o\
+ cmp_nul_rev_int_least32pp.o\
+ cmp_nul_rev_int_least64pp.o\
+ cmp_nul_rev_int_least8pp.o\
+ cmp_nul_rev_intmaxpp.o\
+ cmp_nul_rev_intpp.o\
+ cmp_nul_rev_intptrpp.o\
+ cmp_nul_rev_llongpp.o\
+ cmp_nul_rev_longpp.o\
+ cmp_nul_rev_ptrdiffpp.o\
+ cmp_nul_rev_scharpp.o\
+ cmp_nul_rev_shortpp.o\
+ cmp_nul_rev_sizepp.o\
+ cmp_nul_rev_ssizepp.o\
+ cmp_nul_rev_strpp.o\
+ cmp_nul_rev_ucharpp.o\
+ cmp_nul_rev_uint16pp.o\
+ cmp_nul_rev_uint32pp.o\
+ cmp_nul_rev_uint64pp.o\
+ cmp_nul_rev_uint8pp.o\
+ cmp_nul_rev_uint_least16pp.o\
+ cmp_nul_rev_uint_least32pp.o\
+ cmp_nul_rev_uint_least64pp.o\
+ cmp_nul_rev_uint_least8pp.o\
+ cmp_nul_rev_uintmaxpp.o\
+ cmp_nul_rev_uintpp.o\
+ cmp_nul_rev_uintptrpp.o\
+ cmp_nul_rev_ullongpp.o\
+ cmp_nul_rev_ulongpp.o\
+ cmp_nul_rev_ushortpp.o\
+ cmp_nul_scharpp.o\
+ cmp_nul_shortpp.o\
+ cmp_nul_sizepp.o\
+ cmp_nul_ssizepp.o\
+ cmp_nul_strpp.o\
+ cmp_nul_ucharpp.o\
+ cmp_nul_uint16pp.o\
+ cmp_nul_uint32pp.o\
+ cmp_nul_uint64pp.o\
+ cmp_nul_uint8pp.o\
+ cmp_nul_uint_least16pp.o\
+ cmp_nul_uint_least32pp.o\
+ cmp_nul_uint_least64pp.o\
+ cmp_nul_uint_least8pp.o\
+ cmp_nul_uintmaxpp.o\
+ cmp_nul_uintpp.o\
+ cmp_nul_uintptrpp.o\
+ cmp_nul_ullongpp.o\
+ cmp_nul_ulongpp.o\
+ cmp_nul_ushortpp.o\
+ cmp_ptrdiffp.o\
+ cmp_ptrdiffpp.o\
+ cmp_ptrdiffpp_nul.o\
+ cmp_rev_doublep.o\
+ cmp_rev_doublepp.o\
+ cmp_rev_doublepp_nul.o\
+ cmp_rev_floatp.o\
+ cmp_rev_floatpp.o\
+ cmp_rev_floatpp_nul.o\
+ cmp_rev_int16p.o\
+ cmp_rev_int16pp.o\
+ cmp_rev_int16pp_nul.o\
+ cmp_rev_int32p.o\
+ cmp_rev_int32pp.o\
+ cmp_rev_int32pp_nul.o\
+ cmp_rev_int64p.o\
+ cmp_rev_int64pp.o\
+ cmp_rev_int64pp_nul.o\
+ cmp_rev_int8p.o\
+ cmp_rev_int8pp.o\
+ cmp_rev_int8pp_nul.o\
+ cmp_rev_int_least16p.o\
+ cmp_rev_int_least16pp.o\
+ cmp_rev_int_least16pp_nul.o\
+ cmp_rev_int_least32p.o\
+ cmp_rev_int_least32pp.o\
+ cmp_rev_int_least32pp_nul.o\
+ cmp_rev_int_least64p.o\
+ cmp_rev_int_least64pp.o\
+ cmp_rev_int_least64pp_nul.o\
+ cmp_rev_int_least8p.o\
+ cmp_rev_int_least8pp.o\
+ cmp_rev_int_least8pp_nul.o\
+ cmp_rev_intmaxp.o\
+ cmp_rev_intmaxpp.o\
+ cmp_rev_intmaxpp_nul.o\
+ cmp_rev_intp.o\
+ cmp_rev_intpp.o\
+ cmp_rev_intpp_nul.o\
+ cmp_rev_intptrp.o\
+ cmp_rev_intptrpp.o\
+ cmp_rev_intptrpp_nul.o\
+ cmp_rev_llongp.o\
+ cmp_rev_llongpp.o\
+ cmp_rev_llongpp_nul.o\
+ cmp_rev_longp.o\
+ cmp_rev_longpp.o\
+ cmp_rev_longpp_nul.o\
+ cmp_rev_ptrdiffp.o\
+ cmp_rev_ptrdiffpp.o\
+ cmp_rev_ptrdiffpp_nul.o\
+ cmp_rev_scharp.o\
+ cmp_rev_scharpp.o\
+ cmp_rev_scharpp_nul.o\
+ cmp_rev_shortp.o\
+ cmp_rev_shortpp.o\
+ cmp_rev_shortpp_nul.o\
+ cmp_rev_sizep.o\
+ cmp_rev_sizepp.o\
+ cmp_rev_sizepp_nul.o\
+ cmp_rev_ssizep.o\
+ cmp_rev_ssizepp.o\
+ cmp_rev_ssizepp_nul.o\
+ cmp_rev_strp.o\
+ cmp_rev_strpp.o\
+ cmp_rev_strpp_nul.o\
+ cmp_rev_ucharp.o\
+ cmp_rev_ucharpp.o\
+ cmp_rev_ucharpp_nul.o\
+ cmp_rev_uint16p.o\
+ cmp_rev_uint16pp.o\
+ cmp_rev_uint16pp_nul.o\
+ cmp_rev_uint32p.o\
+ cmp_rev_uint32pp.o\
+ cmp_rev_uint32pp_nul.o\
+ cmp_rev_uint64p.o\
+ cmp_rev_uint64pp.o\
+ cmp_rev_uint64pp_nul.o\
+ cmp_rev_uint8p.o\
+ cmp_rev_uint8pp.o\
+ cmp_rev_uint8pp_nul.o\
+ cmp_rev_uint_least16p.o\
+ cmp_rev_uint_least16pp.o\
+ cmp_rev_uint_least16pp_nul.o\
+ cmp_rev_uint_least32p.o\
+ cmp_rev_uint_least32pp.o\
+ cmp_rev_uint_least32pp_nul.o\
+ cmp_rev_uint_least64p.o\
+ cmp_rev_uint_least64pp.o\
+ cmp_rev_uint_least64pp_nul.o\
+ cmp_rev_uint_least8p.o\
+ cmp_rev_uint_least8pp.o\
+ cmp_rev_uint_least8pp_nul.o\
+ cmp_rev_uintmaxp.o\
+ cmp_rev_uintmaxpp.o\
+ cmp_rev_uintmaxpp_nul.o\
+ cmp_rev_uintp.o\
+ cmp_rev_uintpp.o\
+ cmp_rev_uintpp_nul.o\
+ cmp_rev_uintptrp.o\
+ cmp_rev_uintptrpp.o\
+ cmp_rev_uintptrpp_nul.o\
+ cmp_rev_ullongp.o\
+ cmp_rev_ullongpp.o\
+ cmp_rev_ullongpp_nul.o\
+ cmp_rev_ulongp.o\
+ cmp_rev_ulongpp.o\
+ cmp_rev_ulongpp_nul.o\
+ cmp_rev_ushortp.o\
+ cmp_rev_ushortpp.o\
+ cmp_rev_ushortpp_nul.o\
+ cmp_scharp.o\
+ cmp_scharpp.o\
+ cmp_scharpp_nul.o\
+ cmp_shortp.o\
+ cmp_shortpp.o\
+ cmp_shortpp_nul.o\
+ cmp_sizep.o\
+ cmp_sizepp.o\
+ cmp_sizepp_nul.o\
+ cmp_ssizep.o\
+ cmp_ssizepp.o\
+ cmp_ssizepp_nul.o\
+ cmp_strp.o\
+ cmp_strpp.o\
+ cmp_strpp_nul.o\
+ cmp_ucharp.o\
+ cmp_ucharpp.o\
+ cmp_ucharpp_nul.o\
+ cmp_uint16p.o\
+ cmp_uint16pp.o\
+ cmp_uint16pp_nul.o\
+ cmp_uint32p.o\
+ cmp_uint32pp.o\
+ cmp_uint32pp_nul.o\
+ cmp_uint64p.o\
+ cmp_uint64pp.o\
+ cmp_uint64pp_nul.o\
+ cmp_uint8p.o\
+ cmp_uint8pp.o\
+ cmp_uint8pp_nul.o\
+ cmp_uint_least16p.o\
+ cmp_uint_least16pp.o\
+ cmp_uint_least16pp_nul.o\
+ cmp_uint_least32p.o\
+ cmp_uint_least32pp.o\
+ cmp_uint_least32pp_nul.o\
+ cmp_uint_least64p.o\
+ cmp_uint_least64pp.o\
+ cmp_uint_least64pp_nul.o\
+ cmp_uint_least8p.o\
+ cmp_uint_least8pp.o\
+ cmp_uint_least8pp_nul.o\
+ cmp_uintmaxp.o\
+ cmp_uintmaxpp.o\
+ cmp_uintmaxpp_nul.o\
+ cmp_uintp.o\
+ cmp_uintpp.o\
+ cmp_uintpp_nul.o\
+ cmp_uintptrp.o\
+ cmp_uintptrpp.o\
+ cmp_uintptrpp_nul.o\
+ cmp_ullongp.o\
+ cmp_ullongpp.o\
+ cmp_ullongpp_nul.o\
+ cmp_ulongp.o\
+ cmp_ulongpp.o\
+ cmp_ulongpp_nul.o\
+ cmp_ushortp.o\
+ cmp_ushortpp.o\
+ cmp_ushortpp_nul.o\
cmptimespec.o\
cmptimeval.o\
diff.o\
@@ -342,6 +631,294 @@ OBJ =\
pvallocn.o\
pvallocz.o\
pvalloczn.o\
+ qsort_double.o\
+ qsort_doublep.o\
+ qsort_doublep_nul.o\
+ qsort_float.o\
+ qsort_floatp.o\
+ qsort_floatp_nul.o\
+ qsort_int.o\
+ qsort_int16.o\
+ qsort_int16p.o\
+ qsort_int16p_nul.o\
+ qsort_int32.o\
+ qsort_int32p.o\
+ qsort_int32p_nul.o\
+ qsort_int64.o\
+ qsort_int64p.o\
+ qsort_int64p_nul.o\
+ qsort_int8.o\
+ qsort_int8p.o\
+ qsort_int8p_nul.o\
+ qsort_int_least16.o\
+ qsort_int_least16p.o\
+ qsort_int_least16p_nul.o\
+ qsort_int_least32.o\
+ qsort_int_least32p.o\
+ qsort_int_least32p_nul.o\
+ qsort_int_least64.o\
+ qsort_int_least64p.o\
+ qsort_int_least64p_nul.o\
+ qsort_int_least8.o\
+ qsort_int_least8p.o\
+ qsort_int_least8p_nul.o\
+ qsort_intmax.o\
+ qsort_intmaxp.o\
+ qsort_intmaxp_nul.o\
+ qsort_intp.o\
+ qsort_intp_nul.o\
+ qsort_intptr.o\
+ qsort_intptrp.o\
+ qsort_intptrp_nul.o\
+ qsort_llong.o\
+ qsort_llongp.o\
+ qsort_llongp_nul.o\
+ qsort_long.o\
+ qsort_longp.o\
+ qsort_longp_nul.o\
+ qsort_nul_doublep.o\
+ qsort_nul_floatp.o\
+ qsort_nul_int16p.o\
+ qsort_nul_int32p.o\
+ qsort_nul_int64p.o\
+ qsort_nul_int8p.o\
+ qsort_nul_int_least16p.o\
+ qsort_nul_int_least32p.o\
+ qsort_nul_int_least64p.o\
+ qsort_nul_int_least8p.o\
+ qsort_nul_intmaxp.o\
+ qsort_nul_intp.o\
+ qsort_nul_intptrp.o\
+ qsort_nul_llongp.o\
+ qsort_nul_longp.o\
+ qsort_nul_ptrdiffp.o\
+ qsort_nul_rev_doublep.o\
+ qsort_nul_rev_floatp.o\
+ qsort_nul_rev_int16p.o\
+ qsort_nul_rev_int32p.o\
+ qsort_nul_rev_int64p.o\
+ qsort_nul_rev_int8p.o\
+ qsort_nul_rev_int_least16p.o\
+ qsort_nul_rev_int_least32p.o\
+ qsort_nul_rev_int_least64p.o\
+ qsort_nul_rev_int_least8p.o\
+ qsort_nul_rev_intmaxp.o\
+ qsort_nul_rev_intp.o\
+ qsort_nul_rev_intptrp.o\
+ qsort_nul_rev_llongp.o\
+ qsort_nul_rev_longp.o\
+ qsort_nul_rev_ptrdiffp.o\
+ qsort_nul_rev_scharp.o\
+ qsort_nul_rev_shortp.o\
+ qsort_nul_rev_sizep.o\
+ qsort_nul_rev_ssizep.o\
+ qsort_nul_rev_strp.o\
+ qsort_nul_rev_ucharp.o\
+ qsort_nul_rev_uint16p.o\
+ qsort_nul_rev_uint32p.o\
+ qsort_nul_rev_uint64p.o\
+ qsort_nul_rev_uint8p.o\
+ qsort_nul_rev_uint_least16p.o\
+ qsort_nul_rev_uint_least32p.o\
+ qsort_nul_rev_uint_least64p.o\
+ qsort_nul_rev_uint_least8p.o\
+ qsort_nul_rev_uintmaxp.o\
+ qsort_nul_rev_uintp.o\
+ qsort_nul_rev_uintptrp.o\
+ qsort_nul_rev_ullongp.o\
+ qsort_nul_rev_ulongp.o\
+ qsort_nul_rev_ushortp.o\
+ qsort_nul_scharp.o\
+ qsort_nul_shortp.o\
+ qsort_nul_sizep.o\
+ qsort_nul_ssizep.o\
+ qsort_nul_strp.o\
+ qsort_nul_ucharp.o\
+ qsort_nul_uint16p.o\
+ qsort_nul_uint32p.o\
+ qsort_nul_uint64p.o\
+ qsort_nul_uint8p.o\
+ qsort_nul_uint_least16p.o\
+ qsort_nul_uint_least32p.o\
+ qsort_nul_uint_least64p.o\
+ qsort_nul_uint_least8p.o\
+ qsort_nul_uintmaxp.o\
+ qsort_nul_uintp.o\
+ qsort_nul_uintptrp.o\
+ qsort_nul_ullongp.o\
+ qsort_nul_ulongp.o\
+ qsort_nul_ushortp.o\
+ qsort_ptrdiff.o\
+ qsort_ptrdiffp.o\
+ qsort_ptrdiffp_nul.o\
+ qsort_rev_double.o\
+ qsort_rev_doublep.o\
+ qsort_rev_doublep_nul.o\
+ qsort_rev_float.o\
+ qsort_rev_floatp.o\
+ qsort_rev_floatp_nul.o\
+ qsort_rev_int.o\
+ qsort_rev_int16.o\
+ qsort_rev_int16p.o\
+ qsort_rev_int16p_nul.o\
+ qsort_rev_int32.o\
+ qsort_rev_int32p.o\
+ qsort_rev_int32p_nul.o\
+ qsort_rev_int64.o\
+ qsort_rev_int64p.o\
+ qsort_rev_int64p_nul.o\
+ qsort_rev_int8.o\
+ qsort_rev_int8p.o\
+ qsort_rev_int8p_nul.o\
+ qsort_rev_int_least16.o\
+ qsort_rev_int_least16p.o\
+ qsort_rev_int_least16p_nul.o\
+ qsort_rev_int_least32.o\
+ qsort_rev_int_least32p.o\
+ qsort_rev_int_least32p_nul.o\
+ qsort_rev_int_least64.o\
+ qsort_rev_int_least64p.o\
+ qsort_rev_int_least64p_nul.o\
+ qsort_rev_int_least8.o\
+ qsort_rev_int_least8p.o\
+ qsort_rev_int_least8p_nul.o\
+ qsort_rev_intmax.o\
+ qsort_rev_intmaxp.o\
+ qsort_rev_intmaxp_nul.o\
+ qsort_rev_intp.o\
+ qsort_rev_intp_nul.o\
+ qsort_rev_intptr.o\
+ qsort_rev_intptrp.o\
+ qsort_rev_intptrp_nul.o\
+ qsort_rev_llong.o\
+ qsort_rev_llongp.o\
+ qsort_rev_llongp_nul.o\
+ qsort_rev_long.o\
+ qsort_rev_longp.o\
+ qsort_rev_longp_nul.o\
+ qsort_rev_ptrdiff.o\
+ qsort_rev_ptrdiffp.o\
+ qsort_rev_ptrdiffp_nul.o\
+ qsort_rev_schar.o\
+ qsort_rev_scharp.o\
+ qsort_rev_scharp_nul.o\
+ qsort_rev_short.o\
+ qsort_rev_shortp.o\
+ qsort_rev_shortp_nul.o\
+ qsort_rev_size.o\
+ qsort_rev_sizep.o\
+ qsort_rev_sizep_nul.o\
+ qsort_rev_ssize.o\
+ qsort_rev_ssizep.o\
+ qsort_rev_ssizep_nul.o\
+ qsort_rev_str.o\
+ qsort_rev_strp.o\
+ qsort_rev_strp_nul.o\
+ qsort_rev_uchar.o\
+ qsort_rev_ucharp.o\
+ qsort_rev_ucharp_nul.o\
+ qsort_rev_uint.o\
+ qsort_rev_uint16.o\
+ qsort_rev_uint16p.o\
+ qsort_rev_uint16p_nul.o\
+ qsort_rev_uint32.o\
+ qsort_rev_uint32p.o\
+ qsort_rev_uint32p_nul.o\
+ qsort_rev_uint64.o\
+ qsort_rev_uint64p.o\
+ qsort_rev_uint64p_nul.o\
+ qsort_rev_uint8.o\
+ qsort_rev_uint8p.o\
+ qsort_rev_uint8p_nul.o\
+ qsort_rev_uint_least16.o\
+ qsort_rev_uint_least16p.o\
+ qsort_rev_uint_least16p_nul.o\
+ qsort_rev_uint_least32.o\
+ qsort_rev_uint_least32p.o\
+ qsort_rev_uint_least32p_nul.o\
+ qsort_rev_uint_least64.o\
+ qsort_rev_uint_least64p.o\
+ qsort_rev_uint_least64p_nul.o\
+ qsort_rev_uint_least8.o\
+ qsort_rev_uint_least8p.o\
+ qsort_rev_uint_least8p_nul.o\
+ qsort_rev_uintmax.o\
+ qsort_rev_uintmaxp.o\
+ qsort_rev_uintmaxp_nul.o\
+ qsort_rev_uintp.o\
+ qsort_rev_uintp_nul.o\
+ qsort_rev_uintptr.o\
+ qsort_rev_uintptrp.o\
+ qsort_rev_uintptrp_nul.o\
+ qsort_rev_ullong.o\
+ qsort_rev_ullongp.o\
+ qsort_rev_ullongp_nul.o\
+ qsort_rev_ulong.o\
+ qsort_rev_ulongp.o\
+ qsort_rev_ulongp_nul.o\
+ qsort_rev_ushort.o\
+ qsort_rev_ushortp.o\
+ qsort_rev_ushortp_nul.o\
+ qsort_schar.o\
+ qsort_scharp.o\
+ qsort_scharp_nul.o\
+ qsort_short.o\
+ qsort_shortp.o\
+ qsort_shortp_nul.o\
+ qsort_size.o\
+ qsort_sizep.o\
+ qsort_sizep_nul.o\
+ qsort_ssize.o\
+ qsort_ssizep.o\
+ qsort_ssizep_nul.o\
+ qsort_str.o\
+ qsort_strp.o\
+ qsort_strp_nul.o\
+ qsort_uchar.o\
+ qsort_ucharp.o\
+ qsort_ucharp_nul.o\
+ qsort_uint.o\
+ qsort_uint16.o\
+ qsort_uint16p.o\
+ qsort_uint16p_nul.o\
+ qsort_uint32.o\
+ qsort_uint32p.o\
+ qsort_uint32p_nul.o\
+ qsort_uint64.o\
+ qsort_uint64p.o\
+ qsort_uint64p_nul.o\
+ qsort_uint8.o\
+ qsort_uint8p.o\
+ qsort_uint8p_nul.o\
+ qsort_uint_least16.o\
+ qsort_uint_least16p.o\
+ qsort_uint_least16p_nul.o\
+ qsort_uint_least32.o\
+ qsort_uint_least32p.o\
+ qsort_uint_least32p_nul.o\
+ qsort_uint_least64.o\
+ qsort_uint_least64p.o\
+ qsort_uint_least64p_nul.o\
+ qsort_uint_least8.o\
+ qsort_uint_least8p.o\
+ qsort_uint_least8p_nul.o\
+ qsort_uintmax.o\
+ qsort_uintmaxp.o\
+ qsort_uintmaxp_nul.o\
+ qsort_uintp.o\
+ qsort_uintp_nul.o\
+ qsort_uintptr.o\
+ qsort_uintptrp.o\
+ qsort_uintptrp_nul.o\
+ qsort_ullong.o\
+ qsort_ullongp.o\
+ qsort_ullongp_nul.o\
+ qsort_ulong.o\
+ qsort_ulongp.o\
+ qsort_ulongp_nul.o\
+ qsort_ushort.o\
+ qsort_ushortp.o\
+ qsort_ushortp_nul.o\
random_bits.o\
random_float.o\
random_signed.o\
diff --git a/cmp_doublep.c b/cmp_doublep.c
new file mode 100644
index 0000000..d030e5e
--- /dev/null
+++ b/cmp_doublep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_doublep(const double *, const double *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_doublepp.c b/cmp_doublepp.c
new file mode 100644
index 0000000..66fcc91
--- /dev/null
+++ b/cmp_doublepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_doublepp(double *const *, double *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_doublepp_nul.c b/cmp_doublepp_nul.c
new file mode 100644
index 0000000..06e9805
--- /dev/null
+++ b/cmp_doublepp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_doublepp_nul(double *const *, double *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_floatp.c b/cmp_floatp.c
new file mode 100644
index 0000000..31c68ba
--- /dev/null
+++ b/cmp_floatp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_floatp(const float *, const float *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_floatpp.c b/cmp_floatpp.c
new file mode 100644
index 0000000..d6477ad
--- /dev/null
+++ b/cmp_floatpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_floatpp(float *const *, float *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_floatpp_nul.c b/cmp_floatpp_nul.c
new file mode 100644
index 0000000..6976f14
--- /dev/null
+++ b/cmp_floatpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_floatpp_nul(float *const *, float *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int16p.c b/cmp_int16p.c
new file mode 100644
index 0000000..99842e9
--- /dev/null
+++ b/cmp_int16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int16p(const int16_t *, const int16_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int16pp.c b/cmp_int16pp.c
new file mode 100644
index 0000000..21b8404
--- /dev/null
+++ b/cmp_int16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int16pp(int16_t *const *, int16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int16pp_nul.c b/cmp_int16pp_nul.c
new file mode 100644
index 0000000..19b2000
--- /dev/null
+++ b/cmp_int16pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int16pp_nul(int16_t *const *, int16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int32p.c b/cmp_int32p.c
new file mode 100644
index 0000000..4f293c8
--- /dev/null
+++ b/cmp_int32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int32p(const int32_t *, const int32_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int32pp.c b/cmp_int32pp.c
new file mode 100644
index 0000000..d61da1c
--- /dev/null
+++ b/cmp_int32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int32pp(int32_t *const *, int32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int32pp_nul.c b/cmp_int32pp_nul.c
new file mode 100644
index 0000000..1bfa3e7
--- /dev/null
+++ b/cmp_int32pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int32pp_nul(int32_t *const *, int32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int64p.c b/cmp_int64p.c
new file mode 100644
index 0000000..ccd6371
--- /dev/null
+++ b/cmp_int64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int64p(const int64_t *, const int64_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int64pp.c b/cmp_int64pp.c
new file mode 100644
index 0000000..2b5e774
--- /dev/null
+++ b/cmp_int64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int64pp(int64_t *const *, int64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int64pp_nul.c b/cmp_int64pp_nul.c
new file mode 100644
index 0000000..bad0a25
--- /dev/null
+++ b/cmp_int64pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int64pp_nul(int64_t *const *, int64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int8p.c b/cmp_int8p.c
new file mode 100644
index 0000000..703b2ac
--- /dev/null
+++ b/cmp_int8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int8p(const int8_t *, const int8_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int8pp.c b/cmp_int8pp.c
new file mode 100644
index 0000000..ae1b389
--- /dev/null
+++ b/cmp_int8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int8pp(int8_t *const *, int8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int8pp_nul.c b/cmp_int8pp_nul.c
new file mode 100644
index 0000000..73cc13c
--- /dev/null
+++ b/cmp_int8pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int8pp_nul(int8_t *const *, int8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least16p.c b/cmp_int_least16p.c
new file mode 100644
index 0000000..1b84a2a
--- /dev/null
+++ b/cmp_int_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least16p(const int_least16_t *, const int_least16_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least16pp.c b/cmp_int_least16pp.c
new file mode 100644
index 0000000..df174a3
--- /dev/null
+++ b/cmp_int_least16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least16pp(int_least16_t *const *, int_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least16pp_nul.c b/cmp_int_least16pp_nul.c
new file mode 100644
index 0000000..ab173cf
--- /dev/null
+++ b/cmp_int_least16pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least16pp_nul(int_least16_t *const *, int_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least32p.c b/cmp_int_least32p.c
new file mode 100644
index 0000000..f7a4d36
--- /dev/null
+++ b/cmp_int_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least32p(const int_least32_t *, const int_least32_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least32pp.c b/cmp_int_least32pp.c
new file mode 100644
index 0000000..bc38830
--- /dev/null
+++ b/cmp_int_least32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least32pp(int_least32_t *const *, int_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least32pp_nul.c b/cmp_int_least32pp_nul.c
new file mode 100644
index 0000000..02b27f4
--- /dev/null
+++ b/cmp_int_least32pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least32pp_nul(int_least32_t *const *, int_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least64p.c b/cmp_int_least64p.c
new file mode 100644
index 0000000..ccc9792
--- /dev/null
+++ b/cmp_int_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least64p(const int_least64_t *, const int_least64_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least64pp.c b/cmp_int_least64pp.c
new file mode 100644
index 0000000..09c0488
--- /dev/null
+++ b/cmp_int_least64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least64pp(int_least64_t *const *, int_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least64pp_nul.c b/cmp_int_least64pp_nul.c
new file mode 100644
index 0000000..01712b1
--- /dev/null
+++ b/cmp_int_least64pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least64pp_nul(int_least64_t *const *, int_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least8p.c b/cmp_int_least8p.c
new file mode 100644
index 0000000..f2543c3
--- /dev/null
+++ b/cmp_int_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least8p(const int_least8_t *, const int_least8_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least8pp.c b/cmp_int_least8pp.c
new file mode 100644
index 0000000..d10a046
--- /dev/null
+++ b/cmp_int_least8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least8pp(int_least8_t *const *, int_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_int_least8pp_nul.c b/cmp_int_least8pp_nul.c
new file mode 100644
index 0000000..e4555ea
--- /dev/null
+++ b/cmp_int_least8pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_int_least8pp_nul(int_least8_t *const *, int_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_intmaxp.c b/cmp_intmaxp.c
new file mode 100644
index 0000000..f169d63
--- /dev/null
+++ b/cmp_intmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_intmaxp(const intmax_t *, const intmax_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_intmaxpp.c b/cmp_intmaxpp.c
new file mode 100644
index 0000000..95b2b01
--- /dev/null
+++ b/cmp_intmaxpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_intmaxpp(intmax_t *const *, intmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_intmaxpp_nul.c b/cmp_intmaxpp_nul.c
new file mode 100644
index 0000000..8d3e13f
--- /dev/null
+++ b/cmp_intmaxpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_intmaxpp_nul(intmax_t *const *, intmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_intp.c b/cmp_intp.c
new file mode 100644
index 0000000..694417e
--- /dev/null
+++ b/cmp_intp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_intp(const int *, const int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_intpp.c b/cmp_intpp.c
new file mode 100644
index 0000000..414d199
--- /dev/null
+++ b/cmp_intpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_intpp(int *const *, int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_intpp_nul.c b/cmp_intpp_nul.c
new file mode 100644
index 0000000..7767b1e
--- /dev/null
+++ b/cmp_intpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_intpp_nul(int *const *, int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_intptrp.c b/cmp_intptrp.c
new file mode 100644
index 0000000..0990d95
--- /dev/null
+++ b/cmp_intptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_intptrp(const intptr_t *, const intptr_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_intptrpp.c b/cmp_intptrpp.c
new file mode 100644
index 0000000..96cd1de
--- /dev/null
+++ b/cmp_intptrpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_intptrpp(intptr_t *const *, intptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_intptrpp_nul.c b/cmp_intptrpp_nul.c
new file mode 100644
index 0000000..e3aadeb
--- /dev/null
+++ b/cmp_intptrpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_intptrpp_nul(intptr_t *const *, intptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_llongp.c b/cmp_llongp.c
new file mode 100644
index 0000000..c7d39ab
--- /dev/null
+++ b/cmp_llongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_llongp(const long long int *, const long long int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_llongpp.c b/cmp_llongpp.c
new file mode 100644
index 0000000..693884b
--- /dev/null
+++ b/cmp_llongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_llongpp(long long int *const *, long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_llongpp_nul.c b/cmp_llongpp_nul.c
new file mode 100644
index 0000000..9c78f40
--- /dev/null
+++ b/cmp_llongpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_llongpp_nul(long long int *const *, long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_longp.c b/cmp_longp.c
new file mode 100644
index 0000000..ea2b709
--- /dev/null
+++ b/cmp_longp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_longp(const long int *, const long int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_longpp.c b/cmp_longpp.c
new file mode 100644
index 0000000..8bd4f2c
--- /dev/null
+++ b/cmp_longpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_longpp(long int *const *, long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_longpp_nul.c b/cmp_longpp_nul.c
new file mode 100644
index 0000000..b1ad78a
--- /dev/null
+++ b/cmp_longpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_longpp_nul(long int *const *, long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_doublepp.c b/cmp_nul_doublepp.c
new file mode 100644
index 0000000..33eb9b4
--- /dev/null
+++ b/cmp_nul_doublepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_doublepp(double *const *, double *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_floatpp.c b/cmp_nul_floatpp.c
new file mode 100644
index 0000000..d381726
--- /dev/null
+++ b/cmp_nul_floatpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_floatpp(float *const *, float *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_int16pp.c b/cmp_nul_int16pp.c
new file mode 100644
index 0000000..47e1e7b
--- /dev/null
+++ b/cmp_nul_int16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_int16pp(int16_t *const *, int16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_int32pp.c b/cmp_nul_int32pp.c
new file mode 100644
index 0000000..589dea0
--- /dev/null
+++ b/cmp_nul_int32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_int32pp(int32_t *const *, int32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_int64pp.c b/cmp_nul_int64pp.c
new file mode 100644
index 0000000..619ed36
--- /dev/null
+++ b/cmp_nul_int64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_int64pp(int64_t *const *, int64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_int8pp.c b/cmp_nul_int8pp.c
new file mode 100644
index 0000000..1c73a5c
--- /dev/null
+++ b/cmp_nul_int8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_int8pp(int8_t *const *, int8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_int_least16pp.c b/cmp_nul_int_least16pp.c
new file mode 100644
index 0000000..c9caf86
--- /dev/null
+++ b/cmp_nul_int_least16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_int_least16pp(int_least16_t *const *, int_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_int_least32pp.c b/cmp_nul_int_least32pp.c
new file mode 100644
index 0000000..b0ec450
--- /dev/null
+++ b/cmp_nul_int_least32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_int_least32pp(int_least32_t *const *, int_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_int_least64pp.c b/cmp_nul_int_least64pp.c
new file mode 100644
index 0000000..95456e2
--- /dev/null
+++ b/cmp_nul_int_least64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_int_least64pp(int_least64_t *const *, int_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_int_least8pp.c b/cmp_nul_int_least8pp.c
new file mode 100644
index 0000000..3941b4b
--- /dev/null
+++ b/cmp_nul_int_least8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_int_least8pp(int_least8_t *const *, int_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_intmaxpp.c b/cmp_nul_intmaxpp.c
new file mode 100644
index 0000000..d7f9706
--- /dev/null
+++ b/cmp_nul_intmaxpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_intmaxpp(intmax_t *const *, intmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_intpp.c b/cmp_nul_intpp.c
new file mode 100644
index 0000000..5a23115
--- /dev/null
+++ b/cmp_nul_intpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_intpp(int *const *, int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_intptrpp.c b/cmp_nul_intptrpp.c
new file mode 100644
index 0000000..027efbc
--- /dev/null
+++ b/cmp_nul_intptrpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_intptrpp(intptr_t *const *, intptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_llongpp.c b/cmp_nul_llongpp.c
new file mode 100644
index 0000000..521c085
--- /dev/null
+++ b/cmp_nul_llongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_llongpp(long long int *const *, long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_longpp.c b/cmp_nul_longpp.c
new file mode 100644
index 0000000..2415d4b
--- /dev/null
+++ b/cmp_nul_longpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_longpp(long int *const *, long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_ptrdiffpp.c b/cmp_nul_ptrdiffpp.c
new file mode 100644
index 0000000..e142217
--- /dev/null
+++ b/cmp_nul_ptrdiffpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_ptrdiffpp(ptrdiff_t *const *, ptrdiff_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_doublepp.c b/cmp_nul_rev_doublepp.c
new file mode 100644
index 0000000..c302861
--- /dev/null
+++ b/cmp_nul_rev_doublepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_doublepp(double *const *, double *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_floatpp.c b/cmp_nul_rev_floatpp.c
new file mode 100644
index 0000000..f60143d
--- /dev/null
+++ b/cmp_nul_rev_floatpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_floatpp(float *const *, float *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_int16pp.c b/cmp_nul_rev_int16pp.c
new file mode 100644
index 0000000..20c5163
--- /dev/null
+++ b/cmp_nul_rev_int16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_int16pp(int16_t *const *, int16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_int32pp.c b/cmp_nul_rev_int32pp.c
new file mode 100644
index 0000000..e85d640
--- /dev/null
+++ b/cmp_nul_rev_int32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_int32pp(int32_t *const *, int32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_int64pp.c b/cmp_nul_rev_int64pp.c
new file mode 100644
index 0000000..b0365bc
--- /dev/null
+++ b/cmp_nul_rev_int64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_int64pp(int64_t *const *, int64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_int8pp.c b/cmp_nul_rev_int8pp.c
new file mode 100644
index 0000000..69fe45c
--- /dev/null
+++ b/cmp_nul_rev_int8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_int8pp(int8_t *const *, int8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_int_least16pp.c b/cmp_nul_rev_int_least16pp.c
new file mode 100644
index 0000000..2d3d876
--- /dev/null
+++ b/cmp_nul_rev_int_least16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_int_least16pp(int_least16_t *const *, int_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_int_least32pp.c b/cmp_nul_rev_int_least32pp.c
new file mode 100644
index 0000000..b8c5e91
--- /dev/null
+++ b/cmp_nul_rev_int_least32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_int_least32pp(int_least32_t *const *, int_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_int_least64pp.c b/cmp_nul_rev_int_least64pp.c
new file mode 100644
index 0000000..6e5963a
--- /dev/null
+++ b/cmp_nul_rev_int_least64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_int_least64pp(int_least64_t *const *, int_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_int_least8pp.c b/cmp_nul_rev_int_least8pp.c
new file mode 100644
index 0000000..2ed94a6
--- /dev/null
+++ b/cmp_nul_rev_int_least8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_int_least8pp(int_least8_t *const *, int_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_intmaxpp.c b/cmp_nul_rev_intmaxpp.c
new file mode 100644
index 0000000..61a77f1
--- /dev/null
+++ b/cmp_nul_rev_intmaxpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_intmaxpp(intmax_t *const *, intmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_intpp.c b/cmp_nul_rev_intpp.c
new file mode 100644
index 0000000..61a0c07
--- /dev/null
+++ b/cmp_nul_rev_intpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_intpp(int *const *, int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_intptrpp.c b/cmp_nul_rev_intptrpp.c
new file mode 100644
index 0000000..f4ece79
--- /dev/null
+++ b/cmp_nul_rev_intptrpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_intptrpp(intptr_t *const *, intptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_llongpp.c b/cmp_nul_rev_llongpp.c
new file mode 100644
index 0000000..0840839
--- /dev/null
+++ b/cmp_nul_rev_llongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_llongpp(long long int *const *, long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_longpp.c b/cmp_nul_rev_longpp.c
new file mode 100644
index 0000000..caa36eb
--- /dev/null
+++ b/cmp_nul_rev_longpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_longpp(long int *const *, long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_ptrdiffpp.c b/cmp_nul_rev_ptrdiffpp.c
new file mode 100644
index 0000000..4545fc8
--- /dev/null
+++ b/cmp_nul_rev_ptrdiffpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_ptrdiffpp(ptrdiff_t *const *, ptrdiff_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_scharpp.c b/cmp_nul_rev_scharpp.c
new file mode 100644
index 0000000..8a07ce1
--- /dev/null
+++ b/cmp_nul_rev_scharpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_scharpp(signed char *const *, signed char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_shortpp.c b/cmp_nul_rev_shortpp.c
new file mode 100644
index 0000000..dc4ad29
--- /dev/null
+++ b/cmp_nul_rev_shortpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_shortpp(short int *const *, short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_sizepp.c b/cmp_nul_rev_sizepp.c
new file mode 100644
index 0000000..fd6c572
--- /dev/null
+++ b/cmp_nul_rev_sizepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_sizepp(size_t *const *, size_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_ssizepp.c b/cmp_nul_rev_ssizepp.c
new file mode 100644
index 0000000..9a89134
--- /dev/null
+++ b/cmp_nul_rev_ssizepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_ssizepp(ssize_t *const *, ssize_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_strpp.c b/cmp_nul_rev_strpp.c
new file mode 100644
index 0000000..50d971d
--- /dev/null
+++ b/cmp_nul_rev_strpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_strpp(const char **const *, const char **const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_ucharpp.c b/cmp_nul_rev_ucharpp.c
new file mode 100644
index 0000000..dd5340b
--- /dev/null
+++ b/cmp_nul_rev_ucharpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_ucharpp(unsigned char *const *, unsigned char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uint16pp.c b/cmp_nul_rev_uint16pp.c
new file mode 100644
index 0000000..6d539f8
--- /dev/null
+++ b/cmp_nul_rev_uint16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uint16pp(uint16_t *const *, uint16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uint32pp.c b/cmp_nul_rev_uint32pp.c
new file mode 100644
index 0000000..a949f5b
--- /dev/null
+++ b/cmp_nul_rev_uint32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uint32pp(uint32_t *const *, uint32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uint64pp.c b/cmp_nul_rev_uint64pp.c
new file mode 100644
index 0000000..ac25b59
--- /dev/null
+++ b/cmp_nul_rev_uint64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uint64pp(uint64_t *const *, uint64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uint8pp.c b/cmp_nul_rev_uint8pp.c
new file mode 100644
index 0000000..7033c77
--- /dev/null
+++ b/cmp_nul_rev_uint8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uint8pp(uint8_t *const *, uint8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uint_least16pp.c b/cmp_nul_rev_uint_least16pp.c
new file mode 100644
index 0000000..4e6124e
--- /dev/null
+++ b/cmp_nul_rev_uint_least16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uint_least16pp(uint_least16_t *const *, uint_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uint_least32pp.c b/cmp_nul_rev_uint_least32pp.c
new file mode 100644
index 0000000..68d9a30
--- /dev/null
+++ b/cmp_nul_rev_uint_least32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uint_least32pp(uint_least32_t *const *, uint_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uint_least64pp.c b/cmp_nul_rev_uint_least64pp.c
new file mode 100644
index 0000000..74a01be
--- /dev/null
+++ b/cmp_nul_rev_uint_least64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uint_least64pp(uint_least64_t *const *, uint_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uint_least8pp.c b/cmp_nul_rev_uint_least8pp.c
new file mode 100644
index 0000000..c05a64a
--- /dev/null
+++ b/cmp_nul_rev_uint_least8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uint_least8pp(uint_least8_t *const *, uint_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uintmaxpp.c b/cmp_nul_rev_uintmaxpp.c
new file mode 100644
index 0000000..4da16ce
--- /dev/null
+++ b/cmp_nul_rev_uintmaxpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uintmaxpp(uintmax_t *const *, uintmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uintpp.c b/cmp_nul_rev_uintpp.c
new file mode 100644
index 0000000..4749b32
--- /dev/null
+++ b/cmp_nul_rev_uintpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uintpp(unsigned int *const *, unsigned int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_uintptrpp.c b/cmp_nul_rev_uintptrpp.c
new file mode 100644
index 0000000..3e37da3
--- /dev/null
+++ b/cmp_nul_rev_uintptrpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_uintptrpp(uintptr_t *const *, uintptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_ullongpp.c b/cmp_nul_rev_ullongpp.c
new file mode 100644
index 0000000..0814afb
--- /dev/null
+++ b/cmp_nul_rev_ullongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_ullongpp(unsigned long long int *const *, unsigned long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_ulongpp.c b/cmp_nul_rev_ulongpp.c
new file mode 100644
index 0000000..15bac47
--- /dev/null
+++ b/cmp_nul_rev_ulongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_ulongpp(unsigned long int *const *, unsigned long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_rev_ushortpp.c b/cmp_nul_rev_ushortpp.c
new file mode 100644
index 0000000..24af8ad
--- /dev/null
+++ b/cmp_nul_rev_ushortpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_rev_ushortpp(unsigned short int *const *, unsigned short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_scharpp.c b/cmp_nul_scharpp.c
new file mode 100644
index 0000000..473dc7f
--- /dev/null
+++ b/cmp_nul_scharpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_scharpp(signed char *const *, signed char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_shortpp.c b/cmp_nul_shortpp.c
new file mode 100644
index 0000000..bcb88ec
--- /dev/null
+++ b/cmp_nul_shortpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_shortpp(short int *const *, short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_sizepp.c b/cmp_nul_sizepp.c
new file mode 100644
index 0000000..33d5dce
--- /dev/null
+++ b/cmp_nul_sizepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_sizepp(size_t *const *, size_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_ssizepp.c b/cmp_nul_ssizepp.c
new file mode 100644
index 0000000..b3fd7d1
--- /dev/null
+++ b/cmp_nul_ssizepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_ssizepp(ssize_t *const *, ssize_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_strpp.c b/cmp_nul_strpp.c
new file mode 100644
index 0000000..36c330a
--- /dev/null
+++ b/cmp_nul_strpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_strpp(const char **const *, const char **const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_ucharpp.c b/cmp_nul_ucharpp.c
new file mode 100644
index 0000000..c55c595
--- /dev/null
+++ b/cmp_nul_ucharpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_ucharpp(unsigned char *const *, unsigned char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uint16pp.c b/cmp_nul_uint16pp.c
new file mode 100644
index 0000000..6fddf2a
--- /dev/null
+++ b/cmp_nul_uint16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uint16pp(uint16_t *const *, uint16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uint32pp.c b/cmp_nul_uint32pp.c
new file mode 100644
index 0000000..2337322
--- /dev/null
+++ b/cmp_nul_uint32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uint32pp(uint32_t *const *, uint32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uint64pp.c b/cmp_nul_uint64pp.c
new file mode 100644
index 0000000..3676996
--- /dev/null
+++ b/cmp_nul_uint64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uint64pp(uint64_t *const *, uint64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uint8pp.c b/cmp_nul_uint8pp.c
new file mode 100644
index 0000000..7777887
--- /dev/null
+++ b/cmp_nul_uint8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uint8pp(uint8_t *const *, uint8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uint_least16pp.c b/cmp_nul_uint_least16pp.c
new file mode 100644
index 0000000..36008fe
--- /dev/null
+++ b/cmp_nul_uint_least16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uint_least16pp(uint_least16_t *const *, uint_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uint_least32pp.c b/cmp_nul_uint_least32pp.c
new file mode 100644
index 0000000..26f14f5
--- /dev/null
+++ b/cmp_nul_uint_least32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uint_least32pp(uint_least32_t *const *, uint_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uint_least64pp.c b/cmp_nul_uint_least64pp.c
new file mode 100644
index 0000000..35179e0
--- /dev/null
+++ b/cmp_nul_uint_least64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uint_least64pp(uint_least64_t *const *, uint_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uint_least8pp.c b/cmp_nul_uint_least8pp.c
new file mode 100644
index 0000000..3c2f59d
--- /dev/null
+++ b/cmp_nul_uint_least8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uint_least8pp(uint_least8_t *const *, uint_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uintmaxpp.c b/cmp_nul_uintmaxpp.c
new file mode 100644
index 0000000..21fa717
--- /dev/null
+++ b/cmp_nul_uintmaxpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uintmaxpp(uintmax_t *const *, uintmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uintpp.c b/cmp_nul_uintpp.c
new file mode 100644
index 0000000..6aa50a4
--- /dev/null
+++ b/cmp_nul_uintpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uintpp(unsigned int *const *, unsigned int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_uintptrpp.c b/cmp_nul_uintptrpp.c
new file mode 100644
index 0000000..39acfeb
--- /dev/null
+++ b/cmp_nul_uintptrpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_uintptrpp(uintptr_t *const *, uintptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_ullongpp.c b/cmp_nul_ullongpp.c
new file mode 100644
index 0000000..45995d2
--- /dev/null
+++ b/cmp_nul_ullongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_ullongpp(unsigned long long int *const *, unsigned long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_ulongpp.c b/cmp_nul_ulongpp.c
new file mode 100644
index 0000000..f9d54ed
--- /dev/null
+++ b/cmp_nul_ulongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_ulongpp(unsigned long int *const *, unsigned long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_nul_ushortpp.c b/cmp_nul_ushortpp.c
new file mode 100644
index 0000000..0e09c95
--- /dev/null
+++ b/cmp_nul_ushortpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_nul_ushortpp(unsigned short int *const *, unsigned short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ptrdiffp.c b/cmp_ptrdiffp.c
new file mode 100644
index 0000000..a1a5a9a
--- /dev/null
+++ b/cmp_ptrdiffp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ptrdiffp(const ptrdiff_t *, const ptrdiff_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ptrdiffpp.c b/cmp_ptrdiffpp.c
new file mode 100644
index 0000000..045b0d3
--- /dev/null
+++ b/cmp_ptrdiffpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ptrdiffpp(ptrdiff_t *const *, ptrdiff_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ptrdiffpp_nul.c b/cmp_ptrdiffpp_nul.c
new file mode 100644
index 0000000..e6a7645
--- /dev/null
+++ b/cmp_ptrdiffpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ptrdiffpp_nul(ptrdiff_t *const *, ptrdiff_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_doublep.c b/cmp_rev_doublep.c
new file mode 100644
index 0000000..b70ed4a
--- /dev/null
+++ b/cmp_rev_doublep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_doublep(const double *, const double *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_doublepp.c b/cmp_rev_doublepp.c
new file mode 100644
index 0000000..ab16d7e
--- /dev/null
+++ b/cmp_rev_doublepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_doublepp(double *const *, double *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_doublepp_nul.c b/cmp_rev_doublepp_nul.c
new file mode 100644
index 0000000..8729f5d
--- /dev/null
+++ b/cmp_rev_doublepp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_doublepp_nul(double *const *, double *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_floatp.c b/cmp_rev_floatp.c
new file mode 100644
index 0000000..1d272f9
--- /dev/null
+++ b/cmp_rev_floatp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_floatp(const float *, const float *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_floatpp.c b/cmp_rev_floatpp.c
new file mode 100644
index 0000000..4179709
--- /dev/null
+++ b/cmp_rev_floatpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_floatpp(float *const *, float *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_floatpp_nul.c b/cmp_rev_floatpp_nul.c
new file mode 100644
index 0000000..c1728c8
--- /dev/null
+++ b/cmp_rev_floatpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_floatpp_nul(float *const *, float *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int16p.c b/cmp_rev_int16p.c
new file mode 100644
index 0000000..f97ba2c
--- /dev/null
+++ b/cmp_rev_int16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int16p(const int16_t *, const int16_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int16pp.c b/cmp_rev_int16pp.c
new file mode 100644
index 0000000..6bd6566
--- /dev/null
+++ b/cmp_rev_int16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int16pp(int16_t *const *, int16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int16pp_nul.c b/cmp_rev_int16pp_nul.c
new file mode 100644
index 0000000..9127d2a
--- /dev/null
+++ b/cmp_rev_int16pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int16pp_nul(int16_t *const *, int16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int32p.c b/cmp_rev_int32p.c
new file mode 100644
index 0000000..f358da5
--- /dev/null
+++ b/cmp_rev_int32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int32p(const int32_t *, const int32_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int32pp.c b/cmp_rev_int32pp.c
new file mode 100644
index 0000000..c7a4695
--- /dev/null
+++ b/cmp_rev_int32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int32pp(int32_t *const *, int32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int32pp_nul.c b/cmp_rev_int32pp_nul.c
new file mode 100644
index 0000000..7556092
--- /dev/null
+++ b/cmp_rev_int32pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int32pp_nul(int32_t *const *, int32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int64p.c b/cmp_rev_int64p.c
new file mode 100644
index 0000000..ccc9e7a
--- /dev/null
+++ b/cmp_rev_int64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int64p(const int64_t *, const int64_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int64pp.c b/cmp_rev_int64pp.c
new file mode 100644
index 0000000..8b38360
--- /dev/null
+++ b/cmp_rev_int64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int64pp(int64_t *const *, int64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int64pp_nul.c b/cmp_rev_int64pp_nul.c
new file mode 100644
index 0000000..b1211c8
--- /dev/null
+++ b/cmp_rev_int64pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int64pp_nul(int64_t *const *, int64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int8p.c b/cmp_rev_int8p.c
new file mode 100644
index 0000000..b24fb94
--- /dev/null
+++ b/cmp_rev_int8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int8p(const int8_t *, const int8_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int8pp.c b/cmp_rev_int8pp.c
new file mode 100644
index 0000000..7636136
--- /dev/null
+++ b/cmp_rev_int8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int8pp(int8_t *const *, int8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int8pp_nul.c b/cmp_rev_int8pp_nul.c
new file mode 100644
index 0000000..912dc7c
--- /dev/null
+++ b/cmp_rev_int8pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int8pp_nul(int8_t *const *, int8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least16p.c b/cmp_rev_int_least16p.c
new file mode 100644
index 0000000..e01a421
--- /dev/null
+++ b/cmp_rev_int_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least16p(const int_least16_t *, const int_least16_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least16pp.c b/cmp_rev_int_least16pp.c
new file mode 100644
index 0000000..d717fe5
--- /dev/null
+++ b/cmp_rev_int_least16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least16pp(int_least16_t *const *, int_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least16pp_nul.c b/cmp_rev_int_least16pp_nul.c
new file mode 100644
index 0000000..c8f4a0c
--- /dev/null
+++ b/cmp_rev_int_least16pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least16pp_nul(int_least16_t *const *, int_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least32p.c b/cmp_rev_int_least32p.c
new file mode 100644
index 0000000..69d0d78
--- /dev/null
+++ b/cmp_rev_int_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least32p(const int_least32_t *, const int_least32_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least32pp.c b/cmp_rev_int_least32pp.c
new file mode 100644
index 0000000..0f91f78
--- /dev/null
+++ b/cmp_rev_int_least32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least32pp(int_least32_t *const *, int_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least32pp_nul.c b/cmp_rev_int_least32pp_nul.c
new file mode 100644
index 0000000..1c48979
--- /dev/null
+++ b/cmp_rev_int_least32pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least32pp_nul(int_least32_t *const *, int_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least64p.c b/cmp_rev_int_least64p.c
new file mode 100644
index 0000000..7eeb6e4
--- /dev/null
+++ b/cmp_rev_int_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least64p(const int_least64_t *, const int_least64_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least64pp.c b/cmp_rev_int_least64pp.c
new file mode 100644
index 0000000..19cd8bb
--- /dev/null
+++ b/cmp_rev_int_least64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least64pp(int_least64_t *const *, int_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least64pp_nul.c b/cmp_rev_int_least64pp_nul.c
new file mode 100644
index 0000000..c9e5002
--- /dev/null
+++ b/cmp_rev_int_least64pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least64pp_nul(int_least64_t *const *, int_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least8p.c b/cmp_rev_int_least8p.c
new file mode 100644
index 0000000..2e53c19
--- /dev/null
+++ b/cmp_rev_int_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least8p(const int_least8_t *, const int_least8_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least8pp.c b/cmp_rev_int_least8pp.c
new file mode 100644
index 0000000..44ed1d3
--- /dev/null
+++ b/cmp_rev_int_least8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least8pp(int_least8_t *const *, int_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_int_least8pp_nul.c b/cmp_rev_int_least8pp_nul.c
new file mode 100644
index 0000000..9030bea
--- /dev/null
+++ b/cmp_rev_int_least8pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_int_least8pp_nul(int_least8_t *const *, int_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_intmaxp.c b/cmp_rev_intmaxp.c
new file mode 100644
index 0000000..8da025f
--- /dev/null
+++ b/cmp_rev_intmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_intmaxp(const intmax_t *, const intmax_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_intmaxpp.c b/cmp_rev_intmaxpp.c
new file mode 100644
index 0000000..1bf256b
--- /dev/null
+++ b/cmp_rev_intmaxpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_intmaxpp(intmax_t *const *, intmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_intmaxpp_nul.c b/cmp_rev_intmaxpp_nul.c
new file mode 100644
index 0000000..a3daf78
--- /dev/null
+++ b/cmp_rev_intmaxpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_intmaxpp_nul(intmax_t *const *, intmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_intp.c b/cmp_rev_intp.c
new file mode 100644
index 0000000..fc40da2
--- /dev/null
+++ b/cmp_rev_intp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_intp(const int *, const int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_intpp.c b/cmp_rev_intpp.c
new file mode 100644
index 0000000..3cdd0f4
--- /dev/null
+++ b/cmp_rev_intpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_intpp(int *const *, int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_intpp_nul.c b/cmp_rev_intpp_nul.c
new file mode 100644
index 0000000..2ddb7c3
--- /dev/null
+++ b/cmp_rev_intpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_intpp_nul(int *const *, int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_intptrp.c b/cmp_rev_intptrp.c
new file mode 100644
index 0000000..6dcd8af
--- /dev/null
+++ b/cmp_rev_intptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_intptrp(const intptr_t *, const intptr_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_intptrpp.c b/cmp_rev_intptrpp.c
new file mode 100644
index 0000000..fe7b7df
--- /dev/null
+++ b/cmp_rev_intptrpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_intptrpp(intptr_t *const *, intptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_intptrpp_nul.c b/cmp_rev_intptrpp_nul.c
new file mode 100644
index 0000000..07947da
--- /dev/null
+++ b/cmp_rev_intptrpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_intptrpp_nul(intptr_t *const *, intptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_llongp.c b/cmp_rev_llongp.c
new file mode 100644
index 0000000..11d0f17
--- /dev/null
+++ b/cmp_rev_llongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_llongp(const long long int *, const long long int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_llongpp.c b/cmp_rev_llongpp.c
new file mode 100644
index 0000000..f4c33ae
--- /dev/null
+++ b/cmp_rev_llongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_llongpp(long long int *const *, long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_llongpp_nul.c b/cmp_rev_llongpp_nul.c
new file mode 100644
index 0000000..f33f316
--- /dev/null
+++ b/cmp_rev_llongpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_llongpp_nul(long long int *const *, long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_longp.c b/cmp_rev_longp.c
new file mode 100644
index 0000000..b825d87
--- /dev/null
+++ b/cmp_rev_longp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_longp(const long int *, const long int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_longpp.c b/cmp_rev_longpp.c
new file mode 100644
index 0000000..4f98c1e
--- /dev/null
+++ b/cmp_rev_longpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_longpp(long int *const *, long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_longpp_nul.c b/cmp_rev_longpp_nul.c
new file mode 100644
index 0000000..4452f2b
--- /dev/null
+++ b/cmp_rev_longpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_longpp_nul(long int *const *, long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ptrdiffp.c b/cmp_rev_ptrdiffp.c
new file mode 100644
index 0000000..4c284f5
--- /dev/null
+++ b/cmp_rev_ptrdiffp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ptrdiffp(const ptrdiff_t *, const ptrdiff_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ptrdiffpp.c b/cmp_rev_ptrdiffpp.c
new file mode 100644
index 0000000..3fb541e
--- /dev/null
+++ b/cmp_rev_ptrdiffpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ptrdiffpp(ptrdiff_t *const *, ptrdiff_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ptrdiffpp_nul.c b/cmp_rev_ptrdiffpp_nul.c
new file mode 100644
index 0000000..1da28e9
--- /dev/null
+++ b/cmp_rev_ptrdiffpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ptrdiffpp_nul(ptrdiff_t *const *, ptrdiff_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_scharp.c b/cmp_rev_scharp.c
new file mode 100644
index 0000000..627eb25
--- /dev/null
+++ b/cmp_rev_scharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_scharp(const signed char *, const signed char *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_scharpp.c b/cmp_rev_scharpp.c
new file mode 100644
index 0000000..37586e7
--- /dev/null
+++ b/cmp_rev_scharpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_scharpp(signed char *const *, signed char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_scharpp_nul.c b/cmp_rev_scharpp_nul.c
new file mode 100644
index 0000000..153cdce
--- /dev/null
+++ b/cmp_rev_scharpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_scharpp_nul(signed char *const *, signed char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_shortp.c b/cmp_rev_shortp.c
new file mode 100644
index 0000000..85cbae6
--- /dev/null
+++ b/cmp_rev_shortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_shortp(const short int *, const short int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_shortpp.c b/cmp_rev_shortpp.c
new file mode 100644
index 0000000..0bae722
--- /dev/null
+++ b/cmp_rev_shortpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_shortpp(short int *const *, short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_shortpp_nul.c b/cmp_rev_shortpp_nul.c
new file mode 100644
index 0000000..d11caa8
--- /dev/null
+++ b/cmp_rev_shortpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_shortpp_nul(short int *const *, short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_sizep.c b/cmp_rev_sizep.c
new file mode 100644
index 0000000..e9582ff
--- /dev/null
+++ b/cmp_rev_sizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_sizep(const size_t *, const size_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_sizepp.c b/cmp_rev_sizepp.c
new file mode 100644
index 0000000..c78bbf2
--- /dev/null
+++ b/cmp_rev_sizepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_sizepp(size_t *const *, size_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_sizepp_nul.c b/cmp_rev_sizepp_nul.c
new file mode 100644
index 0000000..b9485f6
--- /dev/null
+++ b/cmp_rev_sizepp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_sizepp_nul(size_t *const *, size_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ssizep.c b/cmp_rev_ssizep.c
new file mode 100644
index 0000000..49eb262
--- /dev/null
+++ b/cmp_rev_ssizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ssizep(const ssize_t *, const ssize_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ssizepp.c b/cmp_rev_ssizepp.c
new file mode 100644
index 0000000..d221585
--- /dev/null
+++ b/cmp_rev_ssizepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ssizepp(ssize_t *const *, ssize_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ssizepp_nul.c b/cmp_rev_ssizepp_nul.c
new file mode 100644
index 0000000..f11b0d6
--- /dev/null
+++ b/cmp_rev_ssizepp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ssizepp_nul(ssize_t *const *, ssize_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_strp.c b/cmp_rev_strp.c
new file mode 100644
index 0000000..33581b0
--- /dev/null
+++ b/cmp_rev_strp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_strp(const char *const *, const char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_strpp.c b/cmp_rev_strpp.c
new file mode 100644
index 0000000..ad0aa19
--- /dev/null
+++ b/cmp_rev_strpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_strpp(const char **const *, const char **const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_strpp_nul.c b/cmp_rev_strpp_nul.c
new file mode 100644
index 0000000..64785d5
--- /dev/null
+++ b/cmp_rev_strpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_strpp_nul(const char **const *, const char **const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ucharp.c b/cmp_rev_ucharp.c
new file mode 100644
index 0000000..9c53015
--- /dev/null
+++ b/cmp_rev_ucharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ucharp(const unsigned char *, const unsigned char *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ucharpp.c b/cmp_rev_ucharpp.c
new file mode 100644
index 0000000..1b5a84b
--- /dev/null
+++ b/cmp_rev_ucharpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ucharpp(unsigned char *const *, unsigned char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ucharpp_nul.c b/cmp_rev_ucharpp_nul.c
new file mode 100644
index 0000000..1f45a98
--- /dev/null
+++ b/cmp_rev_ucharpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ucharpp_nul(unsigned char *const *, unsigned char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint16p.c b/cmp_rev_uint16p.c
new file mode 100644
index 0000000..a7ffee0
--- /dev/null
+++ b/cmp_rev_uint16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint16p(const uint16_t *, const uint16_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint16pp.c b/cmp_rev_uint16pp.c
new file mode 100644
index 0000000..00b86b1
--- /dev/null
+++ b/cmp_rev_uint16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint16pp(uint16_t *const *, uint16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint16pp_nul.c b/cmp_rev_uint16pp_nul.c
new file mode 100644
index 0000000..dcbb051
--- /dev/null
+++ b/cmp_rev_uint16pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint16pp_nul(uint16_t *const *, uint16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint32p.c b/cmp_rev_uint32p.c
new file mode 100644
index 0000000..6d67b6b
--- /dev/null
+++ b/cmp_rev_uint32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint32p(const uint32_t *, const uint32_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint32pp.c b/cmp_rev_uint32pp.c
new file mode 100644
index 0000000..7783be6
--- /dev/null
+++ b/cmp_rev_uint32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint32pp(uint32_t *const *, uint32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint32pp_nul.c b/cmp_rev_uint32pp_nul.c
new file mode 100644
index 0000000..e7e42ce
--- /dev/null
+++ b/cmp_rev_uint32pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint32pp_nul(uint32_t *const *, uint32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint64p.c b/cmp_rev_uint64p.c
new file mode 100644
index 0000000..9d904b0
--- /dev/null
+++ b/cmp_rev_uint64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint64p(const uint64_t *, const uint64_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint64pp.c b/cmp_rev_uint64pp.c
new file mode 100644
index 0000000..e1bd381
--- /dev/null
+++ b/cmp_rev_uint64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint64pp(uint64_t *const *, uint64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint64pp_nul.c b/cmp_rev_uint64pp_nul.c
new file mode 100644
index 0000000..b9b93ae
--- /dev/null
+++ b/cmp_rev_uint64pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint64pp_nul(uint64_t *const *, uint64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint8p.c b/cmp_rev_uint8p.c
new file mode 100644
index 0000000..eb946c5
--- /dev/null
+++ b/cmp_rev_uint8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint8p(const uint8_t *, const uint8_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint8pp.c b/cmp_rev_uint8pp.c
new file mode 100644
index 0000000..fe0f0e4
--- /dev/null
+++ b/cmp_rev_uint8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint8pp(uint8_t *const *, uint8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint8pp_nul.c b/cmp_rev_uint8pp_nul.c
new file mode 100644
index 0000000..68f2ec2
--- /dev/null
+++ b/cmp_rev_uint8pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint8pp_nul(uint8_t *const *, uint8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least16p.c b/cmp_rev_uint_least16p.c
new file mode 100644
index 0000000..4596c92
--- /dev/null
+++ b/cmp_rev_uint_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least16p(const uint_least16_t *, const uint_least16_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least16pp.c b/cmp_rev_uint_least16pp.c
new file mode 100644
index 0000000..0c6811c
--- /dev/null
+++ b/cmp_rev_uint_least16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least16pp(uint_least16_t *const *, uint_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least16pp_nul.c b/cmp_rev_uint_least16pp_nul.c
new file mode 100644
index 0000000..aff77a1
--- /dev/null
+++ b/cmp_rev_uint_least16pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least16pp_nul(uint_least16_t *const *, uint_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least32p.c b/cmp_rev_uint_least32p.c
new file mode 100644
index 0000000..a93425b
--- /dev/null
+++ b/cmp_rev_uint_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least32p(const uint_least32_t *, const uint_least32_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least32pp.c b/cmp_rev_uint_least32pp.c
new file mode 100644
index 0000000..adab72a
--- /dev/null
+++ b/cmp_rev_uint_least32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least32pp(uint_least32_t *const *, uint_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least32pp_nul.c b/cmp_rev_uint_least32pp_nul.c
new file mode 100644
index 0000000..c171749
--- /dev/null
+++ b/cmp_rev_uint_least32pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least32pp_nul(uint_least32_t *const *, uint_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least64p.c b/cmp_rev_uint_least64p.c
new file mode 100644
index 0000000..92470bf
--- /dev/null
+++ b/cmp_rev_uint_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least64p(const uint_least64_t *, const uint_least64_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least64pp.c b/cmp_rev_uint_least64pp.c
new file mode 100644
index 0000000..2bae149
--- /dev/null
+++ b/cmp_rev_uint_least64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least64pp(uint_least64_t *const *, uint_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least64pp_nul.c b/cmp_rev_uint_least64pp_nul.c
new file mode 100644
index 0000000..59cee30
--- /dev/null
+++ b/cmp_rev_uint_least64pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least64pp_nul(uint_least64_t *const *, uint_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least8p.c b/cmp_rev_uint_least8p.c
new file mode 100644
index 0000000..b4914e1
--- /dev/null
+++ b/cmp_rev_uint_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least8p(const uint_least8_t *, const uint_least8_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least8pp.c b/cmp_rev_uint_least8pp.c
new file mode 100644
index 0000000..16c4824
--- /dev/null
+++ b/cmp_rev_uint_least8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least8pp(uint_least8_t *const *, uint_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uint_least8pp_nul.c b/cmp_rev_uint_least8pp_nul.c
new file mode 100644
index 0000000..2c582b7
--- /dev/null
+++ b/cmp_rev_uint_least8pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uint_least8pp_nul(uint_least8_t *const *, uint_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uintmaxp.c b/cmp_rev_uintmaxp.c
new file mode 100644
index 0000000..18973e3
--- /dev/null
+++ b/cmp_rev_uintmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uintmaxp(const uintmax_t *, const uintmax_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uintmaxpp.c b/cmp_rev_uintmaxpp.c
new file mode 100644
index 0000000..228c6ec
--- /dev/null
+++ b/cmp_rev_uintmaxpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uintmaxpp(uintmax_t *const *, uintmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uintmaxpp_nul.c b/cmp_rev_uintmaxpp_nul.c
new file mode 100644
index 0000000..3801749
--- /dev/null
+++ b/cmp_rev_uintmaxpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uintmaxpp_nul(uintmax_t *const *, uintmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uintp.c b/cmp_rev_uintp.c
new file mode 100644
index 0000000..5076144
--- /dev/null
+++ b/cmp_rev_uintp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uintp(const unsigned int *, const unsigned int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uintpp.c b/cmp_rev_uintpp.c
new file mode 100644
index 0000000..903a823
--- /dev/null
+++ b/cmp_rev_uintpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uintpp(unsigned int *const *, unsigned int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uintpp_nul.c b/cmp_rev_uintpp_nul.c
new file mode 100644
index 0000000..1092bda
--- /dev/null
+++ b/cmp_rev_uintpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uintpp_nul(unsigned int *const *, unsigned int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uintptrp.c b/cmp_rev_uintptrp.c
new file mode 100644
index 0000000..543fc4c
--- /dev/null
+++ b/cmp_rev_uintptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uintptrp(const uintptr_t *, const uintptr_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uintptrpp.c b/cmp_rev_uintptrpp.c
new file mode 100644
index 0000000..4313975
--- /dev/null
+++ b/cmp_rev_uintptrpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uintptrpp(uintptr_t *const *, uintptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_uintptrpp_nul.c b/cmp_rev_uintptrpp_nul.c
new file mode 100644
index 0000000..36068ca
--- /dev/null
+++ b/cmp_rev_uintptrpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_uintptrpp_nul(uintptr_t *const *, uintptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ullongp.c b/cmp_rev_ullongp.c
new file mode 100644
index 0000000..405a871
--- /dev/null
+++ b/cmp_rev_ullongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ullongp(const unsigned long long int *, const unsigned long long int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ullongpp.c b/cmp_rev_ullongpp.c
new file mode 100644
index 0000000..624b726
--- /dev/null
+++ b/cmp_rev_ullongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ullongpp(unsigned long long int *const *, unsigned long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ullongpp_nul.c b/cmp_rev_ullongpp_nul.c
new file mode 100644
index 0000000..f48b88e
--- /dev/null
+++ b/cmp_rev_ullongpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ullongpp_nul(unsigned long long int *const *, unsigned long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ulongp.c b/cmp_rev_ulongp.c
new file mode 100644
index 0000000..50605b7
--- /dev/null
+++ b/cmp_rev_ulongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ulongp(const unsigned long int *, const unsigned long int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ulongpp.c b/cmp_rev_ulongpp.c
new file mode 100644
index 0000000..81fb3f9
--- /dev/null
+++ b/cmp_rev_ulongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ulongpp(unsigned long int *const *, unsigned long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ulongpp_nul.c b/cmp_rev_ulongpp_nul.c
new file mode 100644
index 0000000..00e98a5
--- /dev/null
+++ b/cmp_rev_ulongpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ulongpp_nul(unsigned long int *const *, unsigned long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ushortp.c b/cmp_rev_ushortp.c
new file mode 100644
index 0000000..19bf7cb
--- /dev/null
+++ b/cmp_rev_ushortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ushortp(const unsigned short int *, const unsigned short int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ushortpp.c b/cmp_rev_ushortpp.c
new file mode 100644
index 0000000..9f9365c
--- /dev/null
+++ b/cmp_rev_ushortpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ushortpp(unsigned short int *const *, unsigned short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_rev_ushortpp_nul.c b/cmp_rev_ushortpp_nul.c
new file mode 100644
index 0000000..5e6bfc1
--- /dev/null
+++ b/cmp_rev_ushortpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_rev_ushortpp_nul(unsigned short int *const *, unsigned short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_scharp.c b/cmp_scharp.c
new file mode 100644
index 0000000..68ab678
--- /dev/null
+++ b/cmp_scharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_scharp(const signed char *, const signed char *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_scharpp.c b/cmp_scharpp.c
new file mode 100644
index 0000000..0cc6da8
--- /dev/null
+++ b/cmp_scharpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_scharpp(signed char *const *, signed char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_scharpp_nul.c b/cmp_scharpp_nul.c
new file mode 100644
index 0000000..8cc6984
--- /dev/null
+++ b/cmp_scharpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_scharpp_nul(signed char *const *, signed char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_shortp.c b/cmp_shortp.c
new file mode 100644
index 0000000..cae9856
--- /dev/null
+++ b/cmp_shortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_shortp(const short int *, const short int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_shortpp.c b/cmp_shortpp.c
new file mode 100644
index 0000000..520d997
--- /dev/null
+++ b/cmp_shortpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_shortpp(short int *const *, short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_shortpp_nul.c b/cmp_shortpp_nul.c
new file mode 100644
index 0000000..5a42ae8
--- /dev/null
+++ b/cmp_shortpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_shortpp_nul(short int *const *, short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_sizep.c b/cmp_sizep.c
new file mode 100644
index 0000000..ea2aae7
--- /dev/null
+++ b/cmp_sizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_sizep(const size_t *, const size_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_sizepp.c b/cmp_sizepp.c
new file mode 100644
index 0000000..90e0447
--- /dev/null
+++ b/cmp_sizepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_sizepp(size_t *const *, size_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_sizepp_nul.c b/cmp_sizepp_nul.c
new file mode 100644
index 0000000..d33830b
--- /dev/null
+++ b/cmp_sizepp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_sizepp_nul(size_t *const *, size_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ssizep.c b/cmp_ssizep.c
new file mode 100644
index 0000000..924b99a
--- /dev/null
+++ b/cmp_ssizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ssizep(const ssize_t *, const ssize_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ssizepp.c b/cmp_ssizepp.c
new file mode 100644
index 0000000..e7decfe
--- /dev/null
+++ b/cmp_ssizepp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ssizepp(ssize_t *const *, ssize_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ssizepp_nul.c b/cmp_ssizepp_nul.c
new file mode 100644
index 0000000..0bf0501
--- /dev/null
+++ b/cmp_ssizepp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ssizepp_nul(ssize_t *const *, ssize_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_strp.c b/cmp_strp.c
new file mode 100644
index 0000000..7cb1ab6
--- /dev/null
+++ b/cmp_strp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_strp(const char *const *, const char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_strpp.c b/cmp_strpp.c
new file mode 100644
index 0000000..1d0088b
--- /dev/null
+++ b/cmp_strpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_strpp(const char **const *, const char **const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_strpp_nul.c b/cmp_strpp_nul.c
new file mode 100644
index 0000000..be2c64d
--- /dev/null
+++ b/cmp_strpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_strpp_nul(const char **const *, const char **const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ucharp.c b/cmp_ucharp.c
new file mode 100644
index 0000000..c30f8d5
--- /dev/null
+++ b/cmp_ucharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ucharp(const unsigned char *, const unsigned char *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ucharpp.c b/cmp_ucharpp.c
new file mode 100644
index 0000000..b256ddb
--- /dev/null
+++ b/cmp_ucharpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ucharpp(unsigned char *const *, unsigned char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ucharpp_nul.c b/cmp_ucharpp_nul.c
new file mode 100644
index 0000000..23e8d61
--- /dev/null
+++ b/cmp_ucharpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ucharpp_nul(unsigned char *const *, unsigned char *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint16p.c b/cmp_uint16p.c
new file mode 100644
index 0000000..a3794d2
--- /dev/null
+++ b/cmp_uint16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint16p(const uint16_t *, const uint16_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint16pp.c b/cmp_uint16pp.c
new file mode 100644
index 0000000..eda7ad6
--- /dev/null
+++ b/cmp_uint16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint16pp(uint16_t *const *, uint16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint16pp_nul.c b/cmp_uint16pp_nul.c
new file mode 100644
index 0000000..8e3278f
--- /dev/null
+++ b/cmp_uint16pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint16pp_nul(uint16_t *const *, uint16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint32p.c b/cmp_uint32p.c
new file mode 100644
index 0000000..7d6f401
--- /dev/null
+++ b/cmp_uint32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint32p(const uint32_t *, const uint32_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint32pp.c b/cmp_uint32pp.c
new file mode 100644
index 0000000..61a80f5
--- /dev/null
+++ b/cmp_uint32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint32pp(uint32_t *const *, uint32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint32pp_nul.c b/cmp_uint32pp_nul.c
new file mode 100644
index 0000000..a0517f1
--- /dev/null
+++ b/cmp_uint32pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint32pp_nul(uint32_t *const *, uint32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint64p.c b/cmp_uint64p.c
new file mode 100644
index 0000000..f31b213
--- /dev/null
+++ b/cmp_uint64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint64p(const uint64_t *, const uint64_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint64pp.c b/cmp_uint64pp.c
new file mode 100644
index 0000000..d525637
--- /dev/null
+++ b/cmp_uint64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint64pp(uint64_t *const *, uint64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint64pp_nul.c b/cmp_uint64pp_nul.c
new file mode 100644
index 0000000..08e4067
--- /dev/null
+++ b/cmp_uint64pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint64pp_nul(uint64_t *const *, uint64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint8p.c b/cmp_uint8p.c
new file mode 100644
index 0000000..e5c2e05
--- /dev/null
+++ b/cmp_uint8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint8p(const uint8_t *, const uint8_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint8pp.c b/cmp_uint8pp.c
new file mode 100644
index 0000000..c044966
--- /dev/null
+++ b/cmp_uint8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint8pp(uint8_t *const *, uint8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint8pp_nul.c b/cmp_uint8pp_nul.c
new file mode 100644
index 0000000..ecc7b17
--- /dev/null
+++ b/cmp_uint8pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint8pp_nul(uint8_t *const *, uint8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least16p.c b/cmp_uint_least16p.c
new file mode 100644
index 0000000..54abb0e
--- /dev/null
+++ b/cmp_uint_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least16p(const uint_least16_t *, const uint_least16_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least16pp.c b/cmp_uint_least16pp.c
new file mode 100644
index 0000000..84bb06f
--- /dev/null
+++ b/cmp_uint_least16pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least16pp(uint_least16_t *const *, uint_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least16pp_nul.c b/cmp_uint_least16pp_nul.c
new file mode 100644
index 0000000..bed23bb
--- /dev/null
+++ b/cmp_uint_least16pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least16pp_nul(uint_least16_t *const *, uint_least16_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least32p.c b/cmp_uint_least32p.c
new file mode 100644
index 0000000..f2a3d24
--- /dev/null
+++ b/cmp_uint_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least32p(const uint_least32_t *, const uint_least32_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least32pp.c b/cmp_uint_least32pp.c
new file mode 100644
index 0000000..9a6bee0
--- /dev/null
+++ b/cmp_uint_least32pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least32pp(uint_least32_t *const *, uint_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least32pp_nul.c b/cmp_uint_least32pp_nul.c
new file mode 100644
index 0000000..55d1e7c
--- /dev/null
+++ b/cmp_uint_least32pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least32pp_nul(uint_least32_t *const *, uint_least32_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least64p.c b/cmp_uint_least64p.c
new file mode 100644
index 0000000..2cf9ff5
--- /dev/null
+++ b/cmp_uint_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least64p(const uint_least64_t *, const uint_least64_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least64pp.c b/cmp_uint_least64pp.c
new file mode 100644
index 0000000..ed92231
--- /dev/null
+++ b/cmp_uint_least64pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least64pp(uint_least64_t *const *, uint_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least64pp_nul.c b/cmp_uint_least64pp_nul.c
new file mode 100644
index 0000000..78f8256
--- /dev/null
+++ b/cmp_uint_least64pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least64pp_nul(uint_least64_t *const *, uint_least64_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least8p.c b/cmp_uint_least8p.c
new file mode 100644
index 0000000..a6b3cae
--- /dev/null
+++ b/cmp_uint_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least8p(const uint_least8_t *, const uint_least8_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least8pp.c b/cmp_uint_least8pp.c
new file mode 100644
index 0000000..5432bbd
--- /dev/null
+++ b/cmp_uint_least8pp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least8pp(uint_least8_t *const *, uint_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uint_least8pp_nul.c b/cmp_uint_least8pp_nul.c
new file mode 100644
index 0000000..06355a2
--- /dev/null
+++ b/cmp_uint_least8pp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uint_least8pp_nul(uint_least8_t *const *, uint_least8_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uintmaxp.c b/cmp_uintmaxp.c
new file mode 100644
index 0000000..540cfab
--- /dev/null
+++ b/cmp_uintmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uintmaxp(const uintmax_t *, const uintmax_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uintmaxpp.c b/cmp_uintmaxpp.c
new file mode 100644
index 0000000..bf321cc
--- /dev/null
+++ b/cmp_uintmaxpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uintmaxpp(uintmax_t *const *, uintmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uintmaxpp_nul.c b/cmp_uintmaxpp_nul.c
new file mode 100644
index 0000000..a0efda5
--- /dev/null
+++ b/cmp_uintmaxpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uintmaxpp_nul(uintmax_t *const *, uintmax_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uintp.c b/cmp_uintp.c
new file mode 100644
index 0000000..e6063ee
--- /dev/null
+++ b/cmp_uintp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uintp(const unsigned int *, const unsigned int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uintpp.c b/cmp_uintpp.c
new file mode 100644
index 0000000..0e21ea3
--- /dev/null
+++ b/cmp_uintpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uintpp(unsigned int *const *, unsigned int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uintpp_nul.c b/cmp_uintpp_nul.c
new file mode 100644
index 0000000..837f1e4
--- /dev/null
+++ b/cmp_uintpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uintpp_nul(unsigned int *const *, unsigned int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uintptrp.c b/cmp_uintptrp.c
new file mode 100644
index 0000000..078fb82
--- /dev/null
+++ b/cmp_uintptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uintptrp(const uintptr_t *, const uintptr_t *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uintptrpp.c b/cmp_uintptrpp.c
new file mode 100644
index 0000000..88b2a91
--- /dev/null
+++ b/cmp_uintptrpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uintptrpp(uintptr_t *const *, uintptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_uintptrpp_nul.c b/cmp_uintptrpp_nul.c
new file mode 100644
index 0000000..371176a
--- /dev/null
+++ b/cmp_uintptrpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_uintptrpp_nul(uintptr_t *const *, uintptr_t *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ullongp.c b/cmp_ullongp.c
new file mode 100644
index 0000000..b6e2da5
--- /dev/null
+++ b/cmp_ullongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ullongp(const unsigned long long int *, const unsigned long long int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ullongpp.c b/cmp_ullongpp.c
new file mode 100644
index 0000000..c1d1b32
--- /dev/null
+++ b/cmp_ullongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ullongpp(unsigned long long int *const *, unsigned long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ullongpp_nul.c b/cmp_ullongpp_nul.c
new file mode 100644
index 0000000..f271c78
--- /dev/null
+++ b/cmp_ullongpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ullongpp_nul(unsigned long long int *const *, unsigned long long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ulongp.c b/cmp_ulongp.c
new file mode 100644
index 0000000..022b2bc
--- /dev/null
+++ b/cmp_ulongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ulongp(const unsigned long int *, const unsigned long int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ulongpp.c b/cmp_ulongpp.c
new file mode 100644
index 0000000..c663e3c
--- /dev/null
+++ b/cmp_ulongpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ulongpp(unsigned long int *const *, unsigned long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ulongpp_nul.c b/cmp_ulongpp_nul.c
new file mode 100644
index 0000000..78b13db
--- /dev/null
+++ b/cmp_ulongpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ulongpp_nul(unsigned long int *const *, unsigned long int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ushortp.c b/cmp_ushortp.c
new file mode 100644
index 0000000..98c9c9f
--- /dev/null
+++ b/cmp_ushortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ushortp(const unsigned short int *, const unsigned short int *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ushortpp.c b/cmp_ushortpp.c
new file mode 100644
index 0000000..4e89062
--- /dev/null
+++ b/cmp_ushortpp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ushortpp(unsigned short int *const *, unsigned short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/cmp_ushortpp_nul.c b/cmp_ushortpp_nul.c
new file mode 100644
index 0000000..d4ead40
--- /dev/null
+++ b/cmp_ushortpp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline int libsimple_cmp_ushortpp_nul(unsigned short int *const *, unsigned short int *const *);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/libsimple.h b/libsimple.h
index f1e479c..1b22653 100644
--- a/libsimple.h
+++ b/libsimple.h
@@ -171,6 +171,7 @@
#include "libsimple/path.h"
#include "libsimple/ascii.h"
#include "libsimple/exec.h"
+#include "libsimple/sort.h"
/**
diff --git a/libsimple/sort.h b/libsimple/sort.h
new file mode 100644
index 0000000..77929d1
--- /dev/null
+++ b/libsimple/sort.h
@@ -0,0 +1,1865 @@
+/* See LICENSE file for copyright and license details. */
+
+/* TODO man, doc, test */
+
+
+#define LIBSIMPLE_CMP_NUMP__(TYPE, L, R)\
+ const TYPE *L##_typed = L;\
+ const TYPE *R##_typed = R;\
+ return *L##_typed < *R##_typed ? -1 : *L##_typed > *R##_typed
+
+#define LIBSIMPLE_CMP_NUMPP__(TYPE, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ return **L##_typed < **R##_typed ? -1 : **L##_typed > **R##_typed
+
+#define LIBSIMPLE_CMP_NUL_NUMPP__(TYPE, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ if (!*L##_typed)\
+ return !*R##_typed ? 0 : -1;\
+ if (!*R##_typed)\
+ return +1;\
+ return **L##_typed < **R##_typed ? -1 : **L##_typed > **R##_typed
+
+#define LIBSIMPLE_CMP_NUMPP_NUL__(TYPE, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ if (!*L##_typed)\
+ return !*R##_typed ? 0 : +1;\
+ if (!*R##_typed)\
+ return -1;\
+ return **L##_typed < **R##_typed ? -1 : **L##_typed > **R##_typed
+
+#define LIBSIMPLE_CMP_REV_NUMP__(TYPE, L, R)\
+ const TYPE *L##_typed = L;\
+ const TYPE *R##_typed = R;\
+ return *L##_typed > *R##_typed ? -1 : *L##_typed < *R##_typed
+
+#define LIBSIMPLE_CMP_REV_NUMPP__(TYPE, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ return **L##_typed > **R##_typed ? -1 : **L##_typed < **R##_typed
+
+#define LIBSIMPLE_CMP_NUL_REV_NUMPP__(TYPE, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ if (!*L##_typed)\
+ return !*R##_typed ? 0 : -1;\
+ if (!*R##_typed)\
+ return +1;\
+ return **L##_typed > **R##_typed ? -1 : **L##_typed < **R##_typed
+
+#define LIBSIMPLE_CMP_REV_NUMPP_NUL__(TYPE, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ if (!*L##_typed)\
+ return !*R##_typed ? 0 : +1;\
+ if (!*R##_typed)\
+ return -1;\
+ return **L##_typed > **R##_typed ? -1 : **L##_typed < **R##_typed
+
+
+#define LIBSIMPLE_CMP_FUNP__(TYPE, FUNC, L, R)\
+ TYPE const *L##_typed = L;\
+ TYPE const *R##_typed = R;\
+ return FUNC(*L##_typed, *R##_typed)
+
+#define LIBSIMPLE_CMP_FUNPP__(TYPE, FUNC, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ return FUNC(**L##_typed, **R##_typed)
+
+#define LIBSIMPLE_CMP_NUL_FUNPP__(TYPE, FUNC, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ if (!*L##_typed)\
+ return !*R##_typed ? 0 : -1;\
+ if (!*R##_typed)\
+ return +1;\
+ return FUNC(**L##_typed, **R##_typed)
+
+#define LIBSIMPLE_CMP_FUNPP_NUL__(TYPE, FUNC, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ if (!*L##_typed)\
+ return !*R##_typed ? 0 : +1;\
+ if (!*R##_typed)\
+ return -1;\
+ return FUNC(**L##_typed, **R##_typed)
+
+#define LIBSIMPLE_CMP_REV_FUNP__(TYPE, FUNC, L, R)\
+ TYPE const *L##_typed = L;\
+ TYPE const *R##_typed = R;\
+ return -FUNC(*L##_typed, *R##_typed)
+
+#define LIBSIMPLE_CMP_REV_FUNPP__(TYPE, FUNC, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ return -FUNC(**L##_typed, **R##_typed)
+
+#define LIBSIMPLE_CMP_NUL_REV_FUNPP__(TYPE, FUNC, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ if (!*L##_typed)\
+ return !*R##_typed ? 0 : -1;\
+ if (!*R##_typed)\
+ return +1;\
+ return -FUNC(**L##_typed, **R##_typed)
+
+#define LIBSIMPLE_CMP_REV_FUNPP_NUL__(TYPE, FUNC, L, R)\
+ TYPE *const *L##_typed = L;\
+ TYPE *const *R##_typed = R;\
+ if (!*L##_typed)\
+ return !*R##_typed ? 0 : +1;\
+ if (!*R##_typed)\
+ return -1;\
+ return -FUNC(**L##_typed, **R##_typed)
+
+
+inline int libsimple_cmp_ucharp(const unsigned char *a, const unsigned char *b)
+{ LIBSIMPLE_CMP_NUMP__(unsigned char, a, b); }
+
+inline void libsimple_qsort_uchar(unsigned char base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ucharp); }
+
+inline int libsimple_cmp_ucharpp(unsigned char *const *a, unsigned char *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(unsigned char, a, b); }
+
+inline void libsimple_qsort_ucharp(unsigned char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ucharpp); }
+
+inline int libsimple_cmp_nul_ucharpp(unsigned char *const *a, unsigned char *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(unsigned char, a, b); }
+
+inline void libsimple_qsort_nul_ucharp(unsigned char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_ucharpp); }
+
+inline int libsimple_cmp_ucharpp_nul(unsigned char *const *a, unsigned char *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(unsigned char, a, b); }
+
+inline void libsimple_qsort_ucharp_nul(unsigned char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ucharpp_nul); }
+
+inline int libsimple_cmp_rev_ucharp(const unsigned char *a, const unsigned char *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(unsigned char, a, b); }
+
+inline void libsimple_qsort_rev_uchar(unsigned char base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ucharp); }
+
+inline int libsimple_cmp_rev_ucharpp(unsigned char *const *a, unsigned char *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(unsigned char, a, b); }
+
+inline void libsimple_qsort_rev_ucharp(unsigned char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ucharpp); }
+
+inline int libsimple_cmp_nul_rev_ucharpp(unsigned char *const *a, unsigned char *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(unsigned char, a, b); }
+
+inline void libsimple_qsort_nul_rev_ucharp(unsigned char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_ucharpp); }
+
+inline int libsimple_cmp_rev_ucharpp_nul(unsigned char *const *a, unsigned char *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(unsigned char, a, b); }
+
+inline void libsimple_qsort_rev_ucharp_nul(unsigned char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ucharpp_nul); }
+
+inline int libsimple_cmp_scharp(const signed char *a, const signed char *b)
+{ LIBSIMPLE_CMP_NUMP__(signed char, a, b); }
+
+inline void libsimple_qsort_schar(signed char base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_scharp); }
+
+inline int libsimple_cmp_scharpp(signed char *const *a, signed char *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(signed char, a, b); }
+
+inline void libsimple_qsort_scharp(signed char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_scharpp); }
+
+inline int libsimple_cmp_nul_scharpp(signed char *const *a, signed char *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(signed char, a, b); }
+
+inline void libsimple_qsort_nul_scharp(signed char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_scharpp); }
+
+inline int libsimple_cmp_scharpp_nul(signed char *const *a, signed char *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(signed char, a, b); }
+
+inline void libsimple_qsort_scharp_nul(signed char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_scharpp_nul); }
+
+inline int libsimple_cmp_rev_scharp(const signed char *a, const signed char *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(signed char, a, b); }
+
+inline void libsimple_qsort_rev_schar(signed char base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_scharp); }
+
+inline int libsimple_cmp_rev_scharpp(signed char *const *a, signed char *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(signed char, a, b); }
+
+inline void libsimple_qsort_rev_scharp(signed char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_scharpp); }
+
+inline int libsimple_cmp_nul_rev_scharpp(signed char *const *a, signed char *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(signed char, a, b); }
+
+inline void libsimple_qsort_nul_rev_scharp(signed char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_scharpp); }
+
+inline int libsimple_cmp_rev_scharpp_nul(signed char *const *a, signed char *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(signed char, a, b); }
+
+inline void libsimple_qsort_rev_scharp_nul(signed char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_scharpp_nul); }
+
+inline int libsimple_cmp_shortp(const short int *a, const short int *b)
+{ LIBSIMPLE_CMP_NUMP__(short int, a, b); }
+
+inline void libsimple_qsort_short(short int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_shortp); }
+
+inline int libsimple_cmp_shortpp(short int *const *a, short int *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(short int, a, b); }
+
+inline void libsimple_qsort_shortp(short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_shortpp); }
+
+inline int libsimple_cmp_nul_shortpp(short int *const *a, short int *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(short int, a, b); }
+
+inline void libsimple_qsort_nul_shortp(short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_shortpp); }
+
+inline int libsimple_cmp_shortpp_nul(short int *const *a, short int *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(short int, a, b); }
+
+inline void libsimple_qsort_shortp_nul(short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_shortpp_nul); }
+
+inline int libsimple_cmp_rev_shortp(const short int *a, const short int *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(short int, a, b); }
+
+inline void libsimple_qsort_rev_short(short int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_shortp); }
+
+inline int libsimple_cmp_rev_shortpp(short int *const *a, short int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(short int, a, b); }
+
+inline void libsimple_qsort_rev_shortp(short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_shortpp); }
+
+inline int libsimple_cmp_nul_rev_shortpp(short int *const *a, short int *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(short int, a, b); }
+
+inline void libsimple_qsort_nul_rev_shortp(short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_shortpp); }
+
+inline int libsimple_cmp_rev_shortpp_nul(short int *const *a, short int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(short int, a, b); }
+
+inline void libsimple_qsort_rev_shortp_nul(short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_shortpp_nul); }
+
+inline int libsimple_cmp_ushortp(const unsigned short int *a, const unsigned short int *b)
+{ LIBSIMPLE_CMP_NUMP__(unsigned short int, a, b); }
+
+inline void libsimple_qsort_ushort(unsigned short int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ushortp); }
+
+inline int libsimple_cmp_ushortpp(unsigned short int *const *a, unsigned short int *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(unsigned short int, a, b); }
+
+inline void libsimple_qsort_ushortp(unsigned short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ushortpp); }
+
+inline int libsimple_cmp_nul_ushortpp(unsigned short int *const *a, unsigned short int *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(unsigned short int, a, b); }
+
+inline void libsimple_qsort_nul_ushortp(unsigned short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_ushortpp); }
+
+inline int libsimple_cmp_ushortpp_nul(unsigned short int *const *a, unsigned short int *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(unsigned short int, a, b); }
+
+inline void libsimple_qsort_ushortp_nul(unsigned short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ushortpp_nul); }
+
+inline int libsimple_cmp_rev_ushortp(const unsigned short int *a, const unsigned short int *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(unsigned short int, a, b); }
+
+inline void libsimple_qsort_rev_ushort(unsigned short int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ushortp); }
+
+inline int libsimple_cmp_rev_ushortpp(unsigned short int *const *a, unsigned short int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(unsigned short int, a, b); }
+
+inline void libsimple_qsort_rev_ushortp(unsigned short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ushortpp); }
+
+inline int libsimple_cmp_nul_rev_ushortpp(unsigned short int *const *a, unsigned short int *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(unsigned short int, a, b); }
+
+inline void libsimple_qsort_nul_rev_ushortp(unsigned short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_ushortpp); }
+
+inline int libsimple_cmp_rev_ushortpp_nul(unsigned short int *const *a, unsigned short int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(unsigned short int, a, b); }
+
+inline void libsimple_qsort_rev_ushortp_nul(unsigned short int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ushortpp_nul); }
+
+inline int libsimple_cmp_intp(const int *a, const int *b)
+{ LIBSIMPLE_CMP_NUMP__(int, a, b); }
+
+inline void libsimple_qsort_int(int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_intp); }
+
+inline int libsimple_cmp_intpp(int *const *a, int *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(int, a, b); }
+
+inline void libsimple_qsort_intp(int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_intpp); }
+
+inline int libsimple_cmp_nul_intpp(int *const *a, int *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(int, a, b); }
+
+inline void libsimple_qsort_nul_intp(int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_intpp); }
+
+inline int libsimple_cmp_intpp_nul(int *const *a, int *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(int, a, b); }
+
+inline void libsimple_qsort_intp_nul(int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_intpp_nul); }
+
+inline int libsimple_cmp_rev_intp(const int *a, const int *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(int, a, b); }
+
+inline void libsimple_qsort_rev_int(int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_intp); }
+
+inline int libsimple_cmp_rev_intpp(int *const *a, int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(int, a, b); }
+
+inline void libsimple_qsort_rev_intp(int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_intpp); }
+
+inline int libsimple_cmp_nul_rev_intpp(int *const *a, int *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(int, a, b); }
+
+inline void libsimple_qsort_nul_rev_intp(int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_intpp); }
+
+inline int libsimple_cmp_rev_intpp_nul(int *const *a, int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(int, a, b); }
+
+inline void libsimple_qsort_rev_intp_nul(int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_intpp_nul); }
+
+inline int libsimple_cmp_uintp(const unsigned int *a, const unsigned int *b)
+{ LIBSIMPLE_CMP_NUMP__(unsigned int, a, b); }
+
+inline void libsimple_qsort_uint(unsigned int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uintp); }
+
+inline int libsimple_cmp_uintpp(unsigned int *const *a, unsigned int *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(unsigned int, a, b); }
+
+inline void libsimple_qsort_uintp(unsigned int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uintpp); }
+
+inline int libsimple_cmp_nul_uintpp(unsigned int *const *a, unsigned int *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(unsigned int, a, b); }
+
+inline void libsimple_qsort_nul_uintp(unsigned int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uintpp); }
+
+inline int libsimple_cmp_uintpp_nul(unsigned int *const *a, unsigned int *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(unsigned int, a, b); }
+
+inline void libsimple_qsort_uintp_nul(unsigned int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uintpp_nul); }
+
+inline int libsimple_cmp_rev_uintp(const unsigned int *a, const unsigned int *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(unsigned int, a, b); }
+
+inline void libsimple_qsort_rev_uint(unsigned int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uintp); }
+
+inline int libsimple_cmp_rev_uintpp(unsigned int *const *a, unsigned int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(unsigned int, a, b); }
+
+inline void libsimple_qsort_rev_uintp(unsigned int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uintpp); }
+
+inline int libsimple_cmp_nul_rev_uintpp(unsigned int *const *a, unsigned int *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(unsigned int, a, b); }
+
+inline void libsimple_qsort_nul_rev_uintp(unsigned int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uintpp); }
+
+inline int libsimple_cmp_rev_uintpp_nul(unsigned int *const *a, unsigned int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(unsigned int, a, b); }
+
+inline void libsimple_qsort_rev_uintp_nul(unsigned int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uintpp_nul); }
+
+inline int libsimple_cmp_longp(const long int *a, const long int *b)
+{ LIBSIMPLE_CMP_NUMP__(long int, a, b); }
+
+inline void libsimple_qsort_long(long int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_longp); }
+
+inline int libsimple_cmp_longpp(long int *const *a, long int *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(long int, a, b); }
+
+inline void libsimple_qsort_longp(long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_longpp); }
+
+inline int libsimple_cmp_nul_longpp(long int *const *a, long int *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(long int, a, b); }
+
+inline void libsimple_qsort_nul_longp(long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_longpp); }
+
+inline int libsimple_cmp_longpp_nul(long int *const *a, long int *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(long int, a, b); }
+
+inline void libsimple_qsort_longp_nul(long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_longpp_nul); }
+
+inline int libsimple_cmp_rev_longp(const long int *a, const long int *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(long int, a, b); }
+
+inline void libsimple_qsort_rev_long(long int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_longp); }
+
+inline int libsimple_cmp_rev_longpp(long int *const *a, long int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(long int, a, b); }
+
+inline void libsimple_qsort_rev_longp(long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_longpp); }
+
+inline int libsimple_cmp_nul_rev_longpp(long int *const *a, long int *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(long int, a, b); }
+
+inline void libsimple_qsort_nul_rev_longp(long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_longpp); }
+
+inline int libsimple_cmp_rev_longpp_nul(long int *const *a, long int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(long int, a, b); }
+
+inline void libsimple_qsort_rev_longp_nul(long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_longpp_nul); }
+
+inline int libsimple_cmp_ulongp(const unsigned long int *a, const unsigned long int *b)
+{ LIBSIMPLE_CMP_NUMP__(unsigned long int, a, b); }
+
+inline void libsimple_qsort_ulong(unsigned long int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ulongp); }
+
+inline int libsimple_cmp_ulongpp(unsigned long int *const *a, unsigned long int *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(unsigned long int, a, b); }
+
+inline void libsimple_qsort_ulongp(unsigned long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ulongpp); }
+
+inline int libsimple_cmp_nul_ulongpp(unsigned long int *const *a, unsigned long int *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(unsigned long int, a, b); }
+
+inline void libsimple_qsort_nul_ulongp(unsigned long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_ulongpp); }
+
+inline int libsimple_cmp_ulongpp_nul(unsigned long int *const *a, unsigned long int *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(unsigned long int, a, b); }
+
+inline void libsimple_qsort_ulongp_nul(unsigned long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ulongpp_nul); }
+
+inline int libsimple_cmp_rev_ulongp(const unsigned long int *a, const unsigned long int *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(unsigned long int, a, b); }
+
+inline void libsimple_qsort_rev_ulong(unsigned long int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ulongp); }
+
+inline int libsimple_cmp_rev_ulongpp(unsigned long int *const *a, unsigned long int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(unsigned long int, a, b); }
+
+inline void libsimple_qsort_rev_ulongp(unsigned long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ulongpp); }
+
+inline int libsimple_cmp_nul_rev_ulongpp(unsigned long int *const *a, unsigned long int *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(unsigned long int, a, b); }
+
+inline void libsimple_qsort_nul_rev_ulongp(unsigned long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_ulongpp); }
+
+inline int libsimple_cmp_rev_ulongpp_nul(unsigned long int *const *a, unsigned long int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(unsigned long int, a, b); }
+
+inline void libsimple_qsort_rev_ulongp_nul(unsigned long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ulongpp_nul); }
+
+inline int libsimple_cmp_llongp(const long long int *a, const long long int *b)
+{ LIBSIMPLE_CMP_NUMP__(long long int, a, b); }
+
+inline void libsimple_qsort_llong(long long int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_llongp); }
+
+inline int libsimple_cmp_llongpp(long long int *const *a, long long int *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(long long int, a, b); }
+
+inline void libsimple_qsort_llongp(long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_llongpp); }
+
+inline int libsimple_cmp_nul_llongpp(long long int *const *a, long long int *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(long long int, a, b); }
+
+inline void libsimple_qsort_nul_llongp(long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_llongpp); }
+
+inline int libsimple_cmp_llongpp_nul(long long int *const *a, long long int *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(long long int, a, b); }
+
+inline void libsimple_qsort_llongp_nul(long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_llongpp_nul); }
+
+inline int libsimple_cmp_rev_llongp(const long long int *a, const long long int *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(long long int, a, b); }
+
+inline void libsimple_qsort_rev_llong(long long int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_llongp); }
+
+inline int libsimple_cmp_rev_llongpp(long long int *const *a, long long int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(long long int, a, b); }
+
+inline void libsimple_qsort_rev_llongp(long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_llongpp); }
+
+inline int libsimple_cmp_nul_rev_llongpp(long long int *const *a, long long int *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(long long int, a, b); }
+
+inline void libsimple_qsort_nul_rev_llongp(long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_llongpp); }
+
+inline int libsimple_cmp_rev_llongpp_nul(long long int *const *a, long long int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(long long int, a, b); }
+
+inline void libsimple_qsort_rev_llongp_nul(long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_llongpp_nul); }
+
+inline int libsimple_cmp_ullongp(const unsigned long long int *a, const unsigned long long int *b)
+{ LIBSIMPLE_CMP_NUMP__(unsigned long long int, a, b); }
+
+inline void libsimple_qsort_ullong(unsigned long long int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ullongp); }
+
+inline int libsimple_cmp_ullongpp(unsigned long long int *const *a, unsigned long long int *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(unsigned long long int, a, b); }
+
+inline void libsimple_qsort_ullongp(unsigned long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ullongpp); }
+
+inline int libsimple_cmp_nul_ullongpp(unsigned long long int *const *a, unsigned long long int *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(unsigned long long int, a, b); }
+
+inline void libsimple_qsort_nul_ullongp(unsigned long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_ullongpp); }
+
+inline int libsimple_cmp_ullongpp_nul(unsigned long long int *const *a, unsigned long long int *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(unsigned long long int, a, b); }
+
+inline void libsimple_qsort_ullongp_nul(unsigned long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ullongpp_nul); }
+
+inline int libsimple_cmp_rev_ullongp(const unsigned long long int *a, const unsigned long long int *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(unsigned long long int, a, b); }
+
+inline void libsimple_qsort_rev_ullong(unsigned long long int base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ullongp); }
+
+inline int libsimple_cmp_rev_ullongpp(unsigned long long int *const *a, unsigned long long int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(unsigned long long int, a, b); }
+
+inline void libsimple_qsort_rev_ullongp(unsigned long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ullongpp); }
+
+inline int libsimple_cmp_nul_rev_ullongpp(unsigned long long int *const *a, unsigned long long int *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(unsigned long long int, a, b); }
+
+inline void libsimple_qsort_nul_rev_ullongp(unsigned long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_ullongpp); }
+
+inline int libsimple_cmp_rev_ullongpp_nul(unsigned long long int *const *a, unsigned long long int *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(unsigned long long int, a, b); }
+
+inline void libsimple_qsort_rev_ullongp_nul(unsigned long long int *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ullongpp_nul); }
+
+inline int libsimple_cmp_int8p(const int8_t *a, const int8_t *b)
+{ LIBSIMPLE_CMP_NUMP__(int8_t, a, b); }
+
+inline void libsimple_qsort_int8(int8_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int8p); }
+
+inline int libsimple_cmp_int8pp(int8_t *const *a, int8_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(int8_t, a, b); }
+
+inline void libsimple_qsort_int8p(int8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int8pp); }
+
+inline int libsimple_cmp_nul_int8pp(int8_t *const *a, int8_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(int8_t, a, b); }
+
+inline void libsimple_qsort_nul_int8p(int8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_int8pp); }
+
+inline int libsimple_cmp_int8pp_nul(int8_t *const *a, int8_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(int8_t, a, b); }
+
+inline void libsimple_qsort_int8p_nul(int8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int8pp_nul); }
+
+inline int libsimple_cmp_rev_int8p(const int8_t *a, const int8_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(int8_t, a, b); }
+
+inline void libsimple_qsort_rev_int8(int8_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int8p); }
+
+inline int libsimple_cmp_rev_int8pp(int8_t *const *a, int8_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(int8_t, a, b); }
+
+inline void libsimple_qsort_rev_int8p(int8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int8pp); }
+
+inline int libsimple_cmp_nul_rev_int8pp(int8_t *const *a, int8_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(int8_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_int8p(int8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_int8pp); }
+
+inline int libsimple_cmp_rev_int8pp_nul(int8_t *const *a, int8_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(int8_t, a, b); }
+
+inline void libsimple_qsort_rev_int8p_nul(int8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int8pp_nul); }
+
+inline int libsimple_cmp_uint8p(const uint8_t *a, const uint8_t *b)
+{ LIBSIMPLE_CMP_NUMP__(uint8_t, a, b); }
+
+inline void libsimple_qsort_uint8(uint8_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint8p); }
+
+inline int libsimple_cmp_uint8pp(uint8_t *const *a, uint8_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(uint8_t, a, b); }
+
+inline void libsimple_qsort_uint8p(uint8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint8pp); }
+
+inline int libsimple_cmp_nul_uint8pp(uint8_t *const *a, uint8_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(uint8_t, a, b); }
+
+inline void libsimple_qsort_nul_uint8p(uint8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uint8pp); }
+
+inline int libsimple_cmp_uint8pp_nul(uint8_t *const *a, uint8_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(uint8_t, a, b); }
+
+inline void libsimple_qsort_uint8p_nul(uint8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint8pp_nul); }
+
+inline int libsimple_cmp_rev_uint8p(const uint8_t *a, const uint8_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(uint8_t, a, b); }
+
+inline void libsimple_qsort_rev_uint8(uint8_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint8p); }
+
+inline int libsimple_cmp_rev_uint8pp(uint8_t *const *a, uint8_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(uint8_t, a, b); }
+
+inline void libsimple_qsort_rev_uint8p(uint8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint8pp); }
+
+inline int libsimple_cmp_nul_rev_uint8pp(uint8_t *const *a, uint8_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(uint8_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_uint8p(uint8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uint8pp); }
+
+inline int libsimple_cmp_rev_uint8pp_nul(uint8_t *const *a, uint8_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(uint8_t, a, b); }
+
+inline void libsimple_qsort_rev_uint8p_nul(uint8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint8pp_nul); }
+
+inline int libsimple_cmp_int16p(const int16_t *a, const int16_t *b)
+{ LIBSIMPLE_CMP_NUMP__(int16_t, a, b); }
+
+inline void libsimple_qsort_int16(int16_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int16p); }
+
+inline int libsimple_cmp_int16pp(int16_t *const *a, int16_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(int16_t, a, b); }
+
+inline void libsimple_qsort_int16p(int16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int16pp); }
+
+inline int libsimple_cmp_nul_int16pp(int16_t *const *a, int16_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(int16_t, a, b); }
+
+inline void libsimple_qsort_nul_int16p(int16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_int16pp); }
+
+inline int libsimple_cmp_int16pp_nul(int16_t *const *a, int16_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(int16_t, a, b); }
+
+inline void libsimple_qsort_int16p_nul(int16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int16pp_nul); }
+
+inline int libsimple_cmp_rev_int16p(const int16_t *a, const int16_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(int16_t, a, b); }
+
+inline void libsimple_qsort_rev_int16(int16_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int16p); }
+
+inline int libsimple_cmp_rev_int16pp(int16_t *const *a, int16_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(int16_t, a, b); }
+
+inline void libsimple_qsort_rev_int16p(int16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int16pp); }
+
+inline int libsimple_cmp_nul_rev_int16pp(int16_t *const *a, int16_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(int16_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_int16p(int16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_int16pp); }
+
+inline int libsimple_cmp_rev_int16pp_nul(int16_t *const *a, int16_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(int16_t, a, b); }
+
+inline void libsimple_qsort_rev_int16p_nul(int16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int16pp_nul); }
+
+inline int libsimple_cmp_uint16p(const uint16_t *a, const uint16_t *b)
+{ LIBSIMPLE_CMP_NUMP__(uint16_t, a, b); }
+
+inline void libsimple_qsort_uint16(uint16_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint16p); }
+
+inline int libsimple_cmp_uint16pp(uint16_t *const *a, uint16_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(uint16_t, a, b); }
+
+inline void libsimple_qsort_uint16p(uint16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint16pp); }
+
+inline int libsimple_cmp_nul_uint16pp(uint16_t *const *a, uint16_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(uint16_t, a, b); }
+
+inline void libsimple_qsort_nul_uint16p(uint16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uint16pp); }
+
+inline int libsimple_cmp_uint16pp_nul(uint16_t *const *a, uint16_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(uint16_t, a, b); }
+
+inline void libsimple_qsort_uint16p_nul(uint16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint16pp_nul); }
+
+inline int libsimple_cmp_rev_uint16p(const uint16_t *a, const uint16_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(uint16_t, a, b); }
+
+inline void libsimple_qsort_rev_uint16(uint16_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint16p); }
+
+inline int libsimple_cmp_rev_uint16pp(uint16_t *const *a, uint16_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(uint16_t, a, b); }
+
+inline void libsimple_qsort_rev_uint16p(uint16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint16pp); }
+
+inline int libsimple_cmp_nul_rev_uint16pp(uint16_t *const *a, uint16_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(uint16_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_uint16p(uint16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uint16pp); }
+
+inline int libsimple_cmp_rev_uint16pp_nul(uint16_t *const *a, uint16_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(uint16_t, a, b); }
+
+inline void libsimple_qsort_rev_uint16p_nul(uint16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint16pp_nul); }
+
+inline int libsimple_cmp_int32p(const int32_t *a, const int32_t *b)
+{ LIBSIMPLE_CMP_NUMP__(int32_t, a, b); }
+
+inline void libsimple_qsort_int32(int32_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int32p); }
+
+inline int libsimple_cmp_int32pp(int32_t *const *a, int32_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(int32_t, a, b); }
+
+inline void libsimple_qsort_int32p(int32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int32pp); }
+
+inline int libsimple_cmp_nul_int32pp(int32_t *const *a, int32_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(int32_t, a, b); }
+
+inline void libsimple_qsort_nul_int32p(int32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_int32pp); }
+
+inline int libsimple_cmp_int32pp_nul(int32_t *const *a, int32_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(int32_t, a, b); }
+
+inline void libsimple_qsort_int32p_nul(int32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int32pp_nul); }
+
+inline int libsimple_cmp_rev_int32p(const int32_t *a, const int32_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(int32_t, a, b); }
+
+inline void libsimple_qsort_rev_int32(int32_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int32p); }
+
+inline int libsimple_cmp_rev_int32pp(int32_t *const *a, int32_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(int32_t, a, b); }
+
+inline void libsimple_qsort_rev_int32p(int32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int32pp); }
+
+inline int libsimple_cmp_nul_rev_int32pp(int32_t *const *a, int32_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(int32_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_int32p(int32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_int32pp); }
+
+inline int libsimple_cmp_rev_int32pp_nul(int32_t *const *a, int32_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(int32_t, a, b); }
+
+inline void libsimple_qsort_rev_int32p_nul(int32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int32pp_nul); }
+
+inline int libsimple_cmp_uint32p(const uint32_t *a, const uint32_t *b)
+{ LIBSIMPLE_CMP_NUMP__(uint32_t, a, b); }
+
+inline void libsimple_qsort_uint32(uint32_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint32p); }
+
+inline int libsimple_cmp_uint32pp(uint32_t *const *a, uint32_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(uint32_t, a, b); }
+
+inline void libsimple_qsort_uint32p(uint32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint32pp); }
+
+inline int libsimple_cmp_nul_uint32pp(uint32_t *const *a, uint32_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(uint32_t, a, b); }
+
+inline void libsimple_qsort_nul_uint32p(uint32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uint32pp); }
+
+inline int libsimple_cmp_uint32pp_nul(uint32_t *const *a, uint32_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(uint32_t, a, b); }
+
+inline void libsimple_qsort_uint32p_nul(uint32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint32pp_nul); }
+
+inline int libsimple_cmp_rev_uint32p(const uint32_t *a, const uint32_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(uint32_t, a, b); }
+
+inline void libsimple_qsort_rev_uint32(uint32_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint32p); }
+
+inline int libsimple_cmp_rev_uint32pp(uint32_t *const *a, uint32_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(uint32_t, a, b); }
+
+inline void libsimple_qsort_rev_uint32p(uint32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint32pp); }
+
+inline int libsimple_cmp_nul_rev_uint32pp(uint32_t *const *a, uint32_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(uint32_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_uint32p(uint32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uint32pp); }
+
+inline int libsimple_cmp_rev_uint32pp_nul(uint32_t *const *a, uint32_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(uint32_t, a, b); }
+
+inline void libsimple_qsort_rev_uint32p_nul(uint32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint32pp_nul); }
+
+inline int libsimple_cmp_int64p(const int64_t *a, const int64_t *b)
+{ LIBSIMPLE_CMP_NUMP__(int64_t, a, b); }
+
+inline void libsimple_qsort_int64(int64_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int64p); }
+
+inline int libsimple_cmp_int64pp(int64_t *const *a, int64_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(int64_t, a, b); }
+
+inline void libsimple_qsort_int64p(int64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int64pp); }
+
+inline int libsimple_cmp_nul_int64pp(int64_t *const *a, int64_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(int64_t, a, b); }
+
+inline void libsimple_qsort_nul_int64p(int64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_int64pp); }
+
+inline int libsimple_cmp_int64pp_nul(int64_t *const *a, int64_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(int64_t, a, b); }
+
+inline void libsimple_qsort_int64p_nul(int64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int64pp_nul); }
+
+inline int libsimple_cmp_rev_int64p(const int64_t *a, const int64_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(int64_t, a, b); }
+
+inline void libsimple_qsort_rev_int64(int64_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int64p); }
+
+inline int libsimple_cmp_rev_int64pp(int64_t *const *a, int64_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(int64_t, a, b); }
+
+inline void libsimple_qsort_rev_int64p(int64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int64pp); }
+
+inline int libsimple_cmp_nul_rev_int64pp(int64_t *const *a, int64_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(int64_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_int64p(int64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_int64pp); }
+
+inline int libsimple_cmp_rev_int64pp_nul(int64_t *const *a, int64_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(int64_t, a, b); }
+
+inline void libsimple_qsort_rev_int64p_nul(int64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int64pp_nul); }
+
+inline int libsimple_cmp_uint64p(const uint64_t *a, const uint64_t *b)
+{ LIBSIMPLE_CMP_NUMP__(uint64_t, a, b); }
+
+inline void libsimple_qsort_uint64(uint64_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint64p); }
+
+inline int libsimple_cmp_uint64pp(uint64_t *const *a, uint64_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(uint64_t, a, b); }
+
+inline void libsimple_qsort_uint64p(uint64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint64pp); }
+
+inline int libsimple_cmp_nul_uint64pp(uint64_t *const *a, uint64_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(uint64_t, a, b); }
+
+inline void libsimple_qsort_nul_uint64p(uint64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uint64pp); }
+
+inline int libsimple_cmp_uint64pp_nul(uint64_t *const *a, uint64_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(uint64_t, a, b); }
+
+inline void libsimple_qsort_uint64p_nul(uint64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint64pp_nul); }
+
+inline int libsimple_cmp_rev_uint64p(const uint64_t *a, const uint64_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(uint64_t, a, b); }
+
+inline void libsimple_qsort_rev_uint64(uint64_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint64p); }
+
+inline int libsimple_cmp_rev_uint64pp(uint64_t *const *a, uint64_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(uint64_t, a, b); }
+
+inline void libsimple_qsort_rev_uint64p(uint64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint64pp); }
+
+inline int libsimple_cmp_nul_rev_uint64pp(uint64_t *const *a, uint64_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(uint64_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_uint64p(uint64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uint64pp); }
+
+inline int libsimple_cmp_rev_uint64pp_nul(uint64_t *const *a, uint64_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(uint64_t, a, b); }
+
+inline void libsimple_qsort_rev_uint64p_nul(uint64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint64pp_nul); }
+
+inline int libsimple_cmp_int_least8p(const int_least8_t *a, const int_least8_t *b)
+{ LIBSIMPLE_CMP_NUMP__(int_least8_t, a, b); }
+
+inline void libsimple_qsort_int_least8(int_least8_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least8p); }
+
+inline int libsimple_cmp_int_least8pp(int_least8_t *const *a, int_least8_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(int_least8_t, a, b); }
+
+inline void libsimple_qsort_int_least8p(int_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least8pp); }
+
+inline int libsimple_cmp_nul_int_least8pp(int_least8_t *const *a, int_least8_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(int_least8_t, a, b); }
+
+inline void libsimple_qsort_nul_int_least8p(int_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_int_least8pp); }
+
+inline int libsimple_cmp_int_least8pp_nul(int_least8_t *const *a, int_least8_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(int_least8_t, a, b); }
+
+inline void libsimple_qsort_int_least8p_nul(int_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least8pp_nul); }
+
+inline int libsimple_cmp_rev_int_least8p(const int_least8_t *a, const int_least8_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(int_least8_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least8(int_least8_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least8p); }
+
+inline int libsimple_cmp_rev_int_least8pp(int_least8_t *const *a, int_least8_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(int_least8_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least8p(int_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least8pp); }
+
+inline int libsimple_cmp_nul_rev_int_least8pp(int_least8_t *const *a, int_least8_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(int_least8_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_int_least8p(int_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_int_least8pp); }
+
+inline int libsimple_cmp_rev_int_least8pp_nul(int_least8_t *const *a, int_least8_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(int_least8_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least8p_nul(int_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least8pp_nul); }
+
+inline int libsimple_cmp_uint_least8p(const uint_least8_t *a, const uint_least8_t *b)
+{ LIBSIMPLE_CMP_NUMP__(uint_least8_t, a, b); }
+
+inline void libsimple_qsort_uint_least8(uint_least8_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least8p); }
+
+inline int libsimple_cmp_uint_least8pp(uint_least8_t *const *a, uint_least8_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(uint_least8_t, a, b); }
+
+inline void libsimple_qsort_uint_least8p(uint_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least8pp); }
+
+inline int libsimple_cmp_nul_uint_least8pp(uint_least8_t *const *a, uint_least8_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(uint_least8_t, a, b); }
+
+inline void libsimple_qsort_nul_uint_least8p(uint_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uint_least8pp); }
+
+inline int libsimple_cmp_uint_least8pp_nul(uint_least8_t *const *a, uint_least8_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(uint_least8_t, a, b); }
+
+inline void libsimple_qsort_uint_least8p_nul(uint_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least8pp_nul); }
+
+inline int libsimple_cmp_rev_uint_least8p(const uint_least8_t *a, const uint_least8_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(uint_least8_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least8(uint_least8_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least8p); }
+
+inline int libsimple_cmp_rev_uint_least8pp(uint_least8_t *const *a, uint_least8_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(uint_least8_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least8p(uint_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least8pp); }
+
+inline int libsimple_cmp_nul_rev_uint_least8pp(uint_least8_t *const *a, uint_least8_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(uint_least8_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_uint_least8p(uint_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uint_least8pp); }
+
+inline int libsimple_cmp_rev_uint_least8pp_nul(uint_least8_t *const *a, uint_least8_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(uint_least8_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least8p_nul(uint_least8_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least8pp_nul); }
+
+inline int libsimple_cmp_int_least16p(const int_least16_t *a, const int_least16_t *b)
+{ LIBSIMPLE_CMP_NUMP__(int_least16_t, a, b); }
+
+inline void libsimple_qsort_int_least16(int_least16_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least16p); }
+
+inline int libsimple_cmp_int_least16pp(int_least16_t *const *a, int_least16_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(int_least16_t, a, b); }
+
+inline void libsimple_qsort_int_least16p(int_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least16pp); }
+
+inline int libsimple_cmp_nul_int_least16pp(int_least16_t *const *a, int_least16_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(int_least16_t, a, b); }
+
+inline void libsimple_qsort_nul_int_least16p(int_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_int_least16pp); }
+
+inline int libsimple_cmp_int_least16pp_nul(int_least16_t *const *a, int_least16_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(int_least16_t, a, b); }
+
+inline void libsimple_qsort_int_least16p_nul(int_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least16pp_nul); }
+
+inline int libsimple_cmp_rev_int_least16p(const int_least16_t *a, const int_least16_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(int_least16_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least16(int_least16_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least16p); }
+
+inline int libsimple_cmp_rev_int_least16pp(int_least16_t *const *a, int_least16_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(int_least16_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least16p(int_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least16pp); }
+
+inline int libsimple_cmp_nul_rev_int_least16pp(int_least16_t *const *a, int_least16_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(int_least16_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_int_least16p(int_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_int_least16pp); }
+
+inline int libsimple_cmp_rev_int_least16pp_nul(int_least16_t *const *a, int_least16_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(int_least16_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least16p_nul(int_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least16pp_nul); }
+
+inline int libsimple_cmp_uint_least16p(const uint_least16_t *a, const uint_least16_t *b)
+{ LIBSIMPLE_CMP_NUMP__(uint_least16_t, a, b); }
+
+inline void libsimple_qsort_uint_least16(uint_least16_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least16p); }
+
+inline int libsimple_cmp_uint_least16pp(uint_least16_t *const *a, uint_least16_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(uint_least16_t, a, b); }
+
+inline void libsimple_qsort_uint_least16p(uint_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least16pp); }
+
+inline int libsimple_cmp_nul_uint_least16pp(uint_least16_t *const *a, uint_least16_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(uint_least16_t, a, b); }
+
+inline void libsimple_qsort_nul_uint_least16p(uint_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uint_least16pp); }
+
+inline int libsimple_cmp_uint_least16pp_nul(uint_least16_t *const *a, uint_least16_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(uint_least16_t, a, b); }
+
+inline void libsimple_qsort_uint_least16p_nul(uint_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least16pp_nul); }
+
+inline int libsimple_cmp_rev_uint_least16p(const uint_least16_t *a, const uint_least16_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(uint_least16_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least16(uint_least16_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least16p); }
+
+inline int libsimple_cmp_rev_uint_least16pp(uint_least16_t *const *a, uint_least16_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(uint_least16_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least16p(uint_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least16pp); }
+
+inline int libsimple_cmp_nul_rev_uint_least16pp(uint_least16_t *const *a, uint_least16_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(uint_least16_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_uint_least16p(uint_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uint_least16pp); }
+
+inline int libsimple_cmp_rev_uint_least16pp_nul(uint_least16_t *const *a, uint_least16_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(uint_least16_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least16p_nul(uint_least16_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least16pp_nul); }
+
+inline int libsimple_cmp_int_least32p(const int_least32_t *a, const int_least32_t *b)
+{ LIBSIMPLE_CMP_NUMP__(int_least32_t, a, b); }
+
+inline void libsimple_qsort_int_least32(int_least32_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least32p); }
+
+inline int libsimple_cmp_int_least32pp(int_least32_t *const *a, int_least32_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(int_least32_t, a, b); }
+
+inline void libsimple_qsort_int_least32p(int_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least32pp); }
+
+inline int libsimple_cmp_nul_int_least32pp(int_least32_t *const *a, int_least32_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(int_least32_t, a, b); }
+
+inline void libsimple_qsort_nul_int_least32p(int_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_int_least32pp); }
+
+inline int libsimple_cmp_int_least32pp_nul(int_least32_t *const *a, int_least32_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(int_least32_t, a, b); }
+
+inline void libsimple_qsort_int_least32p_nul(int_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least32pp_nul); }
+
+inline int libsimple_cmp_rev_int_least32p(const int_least32_t *a, const int_least32_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(int_least32_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least32(int_least32_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least32p); }
+
+inline int libsimple_cmp_rev_int_least32pp(int_least32_t *const *a, int_least32_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(int_least32_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least32p(int_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least32pp); }
+
+inline int libsimple_cmp_nul_rev_int_least32pp(int_least32_t *const *a, int_least32_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(int_least32_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_int_least32p(int_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_int_least32pp); }
+
+inline int libsimple_cmp_rev_int_least32pp_nul(int_least32_t *const *a, int_least32_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(int_least32_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least32p_nul(int_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least32pp_nul); }
+
+inline int libsimple_cmp_uint_least32p(const uint_least32_t *a, const uint_least32_t *b)
+{ LIBSIMPLE_CMP_NUMP__(uint_least32_t, a, b); }
+
+inline void libsimple_qsort_uint_least32(uint_least32_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least32p); }
+
+inline int libsimple_cmp_uint_least32pp(uint_least32_t *const *a, uint_least32_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(uint_least32_t, a, b); }
+
+inline void libsimple_qsort_uint_least32p(uint_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least32pp); }
+
+inline int libsimple_cmp_nul_uint_least32pp(uint_least32_t *const *a, uint_least32_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(uint_least32_t, a, b); }
+
+inline void libsimple_qsort_nul_uint_least32p(uint_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uint_least32pp); }
+
+inline int libsimple_cmp_uint_least32pp_nul(uint_least32_t *const *a, uint_least32_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(uint_least32_t, a, b); }
+
+inline void libsimple_qsort_uint_least32p_nul(uint_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least32pp_nul); }
+
+inline int libsimple_cmp_rev_uint_least32p(const uint_least32_t *a, const uint_least32_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(uint_least32_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least32(uint_least32_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least32p); }
+
+inline int libsimple_cmp_rev_uint_least32pp(uint_least32_t *const *a, uint_least32_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(uint_least32_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least32p(uint_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least32pp); }
+
+inline int libsimple_cmp_nul_rev_uint_least32pp(uint_least32_t *const *a, uint_least32_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(uint_least32_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_uint_least32p(uint_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uint_least32pp); }
+
+inline int libsimple_cmp_rev_uint_least32pp_nul(uint_least32_t *const *a, uint_least32_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(uint_least32_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least32p_nul(uint_least32_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least32pp_nul); }
+
+inline int libsimple_cmp_int_least64p(const int_least64_t *a, const int_least64_t *b)
+{ LIBSIMPLE_CMP_NUMP__(int_least64_t, a, b); }
+
+inline void libsimple_qsort_int_least64(int_least64_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least64p); }
+
+inline int libsimple_cmp_int_least64pp(int_least64_t *const *a, int_least64_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(int_least64_t, a, b); }
+
+inline void libsimple_qsort_int_least64p(int_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least64pp); }
+
+inline int libsimple_cmp_nul_int_least64pp(int_least64_t *const *a, int_least64_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(int_least64_t, a, b); }
+
+inline void libsimple_qsort_nul_int_least64p(int_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_int_least64pp); }
+
+inline int libsimple_cmp_int_least64pp_nul(int_least64_t *const *a, int_least64_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(int_least64_t, a, b); }
+
+inline void libsimple_qsort_int_least64p_nul(int_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_int_least64pp_nul); }
+
+inline int libsimple_cmp_rev_int_least64p(const int_least64_t *a, const int_least64_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(int_least64_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least64(int_least64_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least64p); }
+
+inline int libsimple_cmp_rev_int_least64pp(int_least64_t *const *a, int_least64_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(int_least64_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least64p(int_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least64pp); }
+
+inline int libsimple_cmp_nul_rev_int_least64pp(int_least64_t *const *a, int_least64_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(int_least64_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_int_least64p(int_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_int_least64pp); }
+
+inline int libsimple_cmp_rev_int_least64pp_nul(int_least64_t *const *a, int_least64_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(int_least64_t, a, b); }
+
+inline void libsimple_qsort_rev_int_least64p_nul(int_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_int_least64pp_nul); }
+
+inline int libsimple_cmp_uint_least64p(const uint_least64_t *a, const uint_least64_t *b)
+{ LIBSIMPLE_CMP_NUMP__(uint_least64_t, a, b); }
+
+inline void libsimple_qsort_uint_least64(uint_least64_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least64p); }
+
+inline int libsimple_cmp_uint_least64pp(uint_least64_t *const *a, uint_least64_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(uint_least64_t, a, b); }
+
+inline void libsimple_qsort_uint_least64p(uint_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least64pp); }
+
+inline int libsimple_cmp_nul_uint_least64pp(uint_least64_t *const *a, uint_least64_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(uint_least64_t, a, b); }
+
+inline void libsimple_qsort_nul_uint_least64p(uint_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uint_least64pp); }
+
+inline int libsimple_cmp_uint_least64pp_nul(uint_least64_t *const *a, uint_least64_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(uint_least64_t, a, b); }
+
+inline void libsimple_qsort_uint_least64p_nul(uint_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uint_least64pp_nul); }
+
+inline int libsimple_cmp_rev_uint_least64p(const uint_least64_t *a, const uint_least64_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(uint_least64_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least64(uint_least64_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least64p); }
+
+inline int libsimple_cmp_rev_uint_least64pp(uint_least64_t *const *a, uint_least64_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(uint_least64_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least64p(uint_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least64pp); }
+
+inline int libsimple_cmp_nul_rev_uint_least64pp(uint_least64_t *const *a, uint_least64_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(uint_least64_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_uint_least64p(uint_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uint_least64pp); }
+
+inline int libsimple_cmp_rev_uint_least64pp_nul(uint_least64_t *const *a, uint_least64_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(uint_least64_t, a, b); }
+
+inline void libsimple_qsort_rev_uint_least64p_nul(uint_least64_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uint_least64pp_nul); }
+
+inline int libsimple_cmp_intmaxp(const intmax_t *a, const intmax_t *b)
+{ LIBSIMPLE_CMP_NUMP__(intmax_t, a, b); }
+
+inline void libsimple_qsort_intmax(intmax_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_intmaxp); }
+
+inline int libsimple_cmp_intmaxpp(intmax_t *const *a, intmax_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(intmax_t, a, b); }
+
+inline void libsimple_qsort_intmaxp(intmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_intmaxpp); }
+
+inline int libsimple_cmp_nul_intmaxpp(intmax_t *const *a, intmax_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(intmax_t, a, b); }
+
+inline void libsimple_qsort_nul_intmaxp(intmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_intmaxpp); }
+
+inline int libsimple_cmp_intmaxpp_nul(intmax_t *const *a, intmax_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(intmax_t, a, b); }
+
+inline void libsimple_qsort_intmaxp_nul(intmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_intmaxpp_nul); }
+
+inline int libsimple_cmp_rev_intmaxp(const intmax_t *a, const intmax_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(intmax_t, a, b); }
+
+inline void libsimple_qsort_rev_intmax(intmax_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_intmaxp); }
+
+inline int libsimple_cmp_rev_intmaxpp(intmax_t *const *a, intmax_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(intmax_t, a, b); }
+
+inline void libsimple_qsort_rev_intmaxp(intmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_intmaxpp); }
+
+inline int libsimple_cmp_nul_rev_intmaxpp(intmax_t *const *a, intmax_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(intmax_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_intmaxp(intmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_intmaxpp); }
+
+inline int libsimple_cmp_rev_intmaxpp_nul(intmax_t *const *a, intmax_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(intmax_t, a, b); }
+
+inline void libsimple_qsort_rev_intmaxp_nul(intmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_intmaxpp_nul); }
+
+inline int libsimple_cmp_uintmaxp(const uintmax_t *a, const uintmax_t *b)
+{ LIBSIMPLE_CMP_NUMP__(uintmax_t, a, b); }
+
+inline void libsimple_qsort_uintmax(uintmax_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uintmaxp); }
+
+inline int libsimple_cmp_uintmaxpp(uintmax_t *const *a, uintmax_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(uintmax_t, a, b); }
+
+inline void libsimple_qsort_uintmaxp(uintmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uintmaxpp); }
+
+inline int libsimple_cmp_nul_uintmaxpp(uintmax_t *const *a, uintmax_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(uintmax_t, a, b); }
+
+inline void libsimple_qsort_nul_uintmaxp(uintmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uintmaxpp); }
+
+inline int libsimple_cmp_uintmaxpp_nul(uintmax_t *const *a, uintmax_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(uintmax_t, a, b); }
+
+inline void libsimple_qsort_uintmaxp_nul(uintmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uintmaxpp_nul); }
+
+inline int libsimple_cmp_rev_uintmaxp(const uintmax_t *a, const uintmax_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(uintmax_t, a, b); }
+
+inline void libsimple_qsort_rev_uintmax(uintmax_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uintmaxp); }
+
+inline int libsimple_cmp_rev_uintmaxpp(uintmax_t *const *a, uintmax_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(uintmax_t, a, b); }
+
+inline void libsimple_qsort_rev_uintmaxp(uintmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uintmaxpp); }
+
+inline int libsimple_cmp_nul_rev_uintmaxpp(uintmax_t *const *a, uintmax_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(uintmax_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_uintmaxp(uintmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uintmaxpp); }
+
+inline int libsimple_cmp_rev_uintmaxpp_nul(uintmax_t *const *a, uintmax_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(uintmax_t, a, b); }
+
+inline void libsimple_qsort_rev_uintmaxp_nul(uintmax_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uintmaxpp_nul); }
+
+inline int libsimple_cmp_sizep(const size_t *a, const size_t *b)
+{ LIBSIMPLE_CMP_NUMP__(size_t, a, b); }
+
+inline void libsimple_qsort_size(size_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_sizep); }
+
+inline int libsimple_cmp_sizepp(size_t *const *a, size_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(size_t, a, b); }
+
+inline void libsimple_qsort_sizep(size_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_sizepp); }
+
+inline int libsimple_cmp_nul_sizepp(size_t *const *a, size_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(size_t, a, b); }
+
+inline void libsimple_qsort_nul_sizep(size_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_sizepp); }
+
+inline int libsimple_cmp_sizepp_nul(size_t *const *a, size_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(size_t, a, b); }
+
+inline void libsimple_qsort_sizep_nul(size_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_sizepp_nul); }
+
+inline int libsimple_cmp_rev_sizep(const size_t *a, const size_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(size_t, a, b); }
+
+inline void libsimple_qsort_rev_size(size_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_sizep); }
+
+inline int libsimple_cmp_rev_sizepp(size_t *const *a, size_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(size_t, a, b); }
+
+inline void libsimple_qsort_rev_sizep(size_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_sizepp); }
+
+inline int libsimple_cmp_nul_rev_sizepp(size_t *const *a, size_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(size_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_sizep(size_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_sizepp); }
+
+inline int libsimple_cmp_rev_sizepp_nul(size_t *const *a, size_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(size_t, a, b); }
+
+inline void libsimple_qsort_rev_sizep_nul(size_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_sizepp_nul); }
+
+inline int libsimple_cmp_ssizep(const ssize_t *a, const ssize_t *b)
+{ LIBSIMPLE_CMP_NUMP__(ssize_t, a, b); }
+
+inline void libsimple_qsort_ssize(ssize_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ssizep); }
+
+inline int libsimple_cmp_ssizepp(ssize_t *const *a, ssize_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(ssize_t, a, b); }
+
+inline void libsimple_qsort_ssizep(ssize_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ssizepp); }
+
+inline int libsimple_cmp_nul_ssizepp(ssize_t *const *a, ssize_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(ssize_t, a, b); }
+
+inline void libsimple_qsort_nul_ssizep(ssize_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_ssizepp); }
+
+inline int libsimple_cmp_ssizepp_nul(ssize_t *const *a, ssize_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(ssize_t, a, b); }
+
+inline void libsimple_qsort_ssizep_nul(ssize_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ssizepp_nul); }
+
+inline int libsimple_cmp_rev_ssizep(const ssize_t *a, const ssize_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(ssize_t, a, b); }
+
+inline void libsimple_qsort_rev_ssize(ssize_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ssizep); }
+
+inline int libsimple_cmp_rev_ssizepp(ssize_t *const *a, ssize_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(ssize_t, a, b); }
+
+inline void libsimple_qsort_rev_ssizep(ssize_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ssizepp); }
+
+inline int libsimple_cmp_nul_rev_ssizepp(ssize_t *const *a, ssize_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(ssize_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_ssizep(ssize_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_ssizepp); }
+
+inline int libsimple_cmp_rev_ssizepp_nul(ssize_t *const *a, ssize_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(ssize_t, a, b); }
+
+inline void libsimple_qsort_rev_ssizep_nul(ssize_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ssizepp_nul); }
+
+inline int libsimple_cmp_intptrp(const intptr_t *a, const intptr_t *b)
+{ LIBSIMPLE_CMP_NUMP__(intptr_t, a, b); }
+
+inline void libsimple_qsort_intptr(intptr_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_intptrp); }
+
+inline int libsimple_cmp_intptrpp(intptr_t *const *a, intptr_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(intptr_t, a, b); }
+
+inline void libsimple_qsort_intptrp(intptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_intptrpp); }
+
+inline int libsimple_cmp_nul_intptrpp(intptr_t *const *a, intptr_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(intptr_t, a, b); }
+
+inline void libsimple_qsort_nul_intptrp(intptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_intptrpp); }
+
+inline int libsimple_cmp_intptrpp_nul(intptr_t *const *a, intptr_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(intptr_t, a, b); }
+
+inline void libsimple_qsort_intptrp_nul(intptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_intptrpp_nul); }
+
+inline int libsimple_cmp_rev_intptrp(const intptr_t *a, const intptr_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(intptr_t, a, b); }
+
+inline void libsimple_qsort_rev_intptr(intptr_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_intptrp); }
+
+inline int libsimple_cmp_rev_intptrpp(intptr_t *const *a, intptr_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(intptr_t, a, b); }
+
+inline void libsimple_qsort_rev_intptrp(intptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_intptrpp); }
+
+inline int libsimple_cmp_nul_rev_intptrpp(intptr_t *const *a, intptr_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(intptr_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_intptrp(intptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_intptrpp); }
+
+inline int libsimple_cmp_rev_intptrpp_nul(intptr_t *const *a, intptr_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(intptr_t, a, b); }
+
+inline void libsimple_qsort_rev_intptrp_nul(intptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_intptrpp_nul); }
+
+inline int libsimple_cmp_uintptrp(const uintptr_t *a, const uintptr_t *b)
+{ LIBSIMPLE_CMP_NUMP__(uintptr_t, a, b); }
+
+inline void libsimple_qsort_uintptr(uintptr_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uintptrp); }
+
+inline int libsimple_cmp_uintptrpp(uintptr_t *const *a, uintptr_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(uintptr_t, a, b); }
+
+inline void libsimple_qsort_uintptrp(uintptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uintptrpp); }
+
+inline int libsimple_cmp_nul_uintptrpp(uintptr_t *const *a, uintptr_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(uintptr_t, a, b); }
+
+inline void libsimple_qsort_nul_uintptrp(uintptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_uintptrpp); }
+
+inline int libsimple_cmp_uintptrpp_nul(uintptr_t *const *a, uintptr_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(uintptr_t, a, b); }
+
+inline void libsimple_qsort_uintptrp_nul(uintptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_uintptrpp_nul); }
+
+inline int libsimple_cmp_rev_uintptrp(const uintptr_t *a, const uintptr_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(uintptr_t, a, b); }
+
+inline void libsimple_qsort_rev_uintptr(uintptr_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uintptrp); }
+
+inline int libsimple_cmp_rev_uintptrpp(uintptr_t *const *a, uintptr_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(uintptr_t, a, b); }
+
+inline void libsimple_qsort_rev_uintptrp(uintptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uintptrpp); }
+
+inline int libsimple_cmp_nul_rev_uintptrpp(uintptr_t *const *a, uintptr_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(uintptr_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_uintptrp(uintptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_uintptrpp); }
+
+inline int libsimple_cmp_rev_uintptrpp_nul(uintptr_t *const *a, uintptr_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(uintptr_t, a, b); }
+
+inline void libsimple_qsort_rev_uintptrp_nul(uintptr_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_uintptrpp_nul); }
+
+inline int libsimple_cmp_ptrdiffp(const ptrdiff_t *a, const ptrdiff_t *b)
+{ LIBSIMPLE_CMP_NUMP__(ptrdiff_t, a, b); }
+
+inline void libsimple_qsort_ptrdiff(ptrdiff_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ptrdiffp); }
+
+inline int libsimple_cmp_ptrdiffpp(ptrdiff_t *const *a, ptrdiff_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(ptrdiff_t, a, b); }
+
+inline void libsimple_qsort_ptrdiffp(ptrdiff_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ptrdiffpp); }
+
+inline int libsimple_cmp_nul_ptrdiffpp(ptrdiff_t *const *a, ptrdiff_t *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(ptrdiff_t, a, b); }
+
+inline void libsimple_qsort_nul_ptrdiffp(ptrdiff_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_ptrdiffpp); }
+
+inline int libsimple_cmp_ptrdiffpp_nul(ptrdiff_t *const *a, ptrdiff_t *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(ptrdiff_t, a, b); }
+
+inline void libsimple_qsort_ptrdiffp_nul(ptrdiff_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_ptrdiffpp_nul); }
+
+inline int libsimple_cmp_rev_ptrdiffp(const ptrdiff_t *a, const ptrdiff_t *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(ptrdiff_t, a, b); }
+
+inline void libsimple_qsort_rev_ptrdiff(ptrdiff_t base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ptrdiffp); }
+
+inline int libsimple_cmp_rev_ptrdiffpp(ptrdiff_t *const *a, ptrdiff_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(ptrdiff_t, a, b); }
+
+inline void libsimple_qsort_rev_ptrdiffp(ptrdiff_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ptrdiffpp); }
+
+inline int libsimple_cmp_nul_rev_ptrdiffpp(ptrdiff_t *const *a, ptrdiff_t *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(ptrdiff_t, a, b); }
+
+inline void libsimple_qsort_nul_rev_ptrdiffp(ptrdiff_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_ptrdiffpp); }
+
+inline int libsimple_cmp_rev_ptrdiffpp_nul(ptrdiff_t *const *a, ptrdiff_t *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(ptrdiff_t, a, b); }
+
+inline void libsimple_qsort_rev_ptrdiffp_nul(ptrdiff_t *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_ptrdiffpp_nul); }
+
+inline int libsimple_cmp_floatp(const float *a, const float *b)
+{ LIBSIMPLE_CMP_NUMP__(float, a, b); }
+
+inline void libsimple_qsort_float(float base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_floatp); }
+
+inline int libsimple_cmp_floatpp(float *const *a, float *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(float, a, b); }
+
+inline void libsimple_qsort_floatp(float *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_floatpp); }
+
+inline int libsimple_cmp_nul_floatpp(float *const *a, float *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(float, a, b); }
+
+inline void libsimple_qsort_nul_floatp(float *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_floatpp); }
+
+inline int libsimple_cmp_floatpp_nul(float *const *a, float *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(float, a, b); }
+
+inline void libsimple_qsort_floatp_nul(float *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_floatpp_nul); }
+
+inline int libsimple_cmp_rev_floatp(const float *a, const float *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(float, a, b); }
+
+inline void libsimple_qsort_rev_float(float base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_floatp); }
+
+inline int libsimple_cmp_rev_floatpp(float *const *a, float *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(float, a, b); }
+
+inline void libsimple_qsort_rev_floatp(float *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_floatpp); }
+
+inline int libsimple_cmp_nul_rev_floatpp(float *const *a, float *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(float, a, b); }
+
+inline void libsimple_qsort_nul_rev_floatp(float *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_floatpp); }
+
+inline int libsimple_cmp_rev_floatpp_nul(float *const *a, float *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(float, a, b); }
+
+inline void libsimple_qsort_rev_floatp_nul(float *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_floatpp_nul); }
+
+inline int libsimple_cmp_doublep(const double *a, const double *b)
+{ LIBSIMPLE_CMP_NUMP__(double, a, b); }
+
+inline void libsimple_qsort_double(double base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_doublep); }
+
+inline int libsimple_cmp_doublepp(double *const *a, double *const *b)
+{ LIBSIMPLE_CMP_NUMPP__(double, a, b); }
+
+inline void libsimple_qsort_doublep(double *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_doublepp); }
+
+inline int libsimple_cmp_nul_doublepp(double *const *a, double *const *b)
+{ LIBSIMPLE_CMP_NUL_NUMPP__(double, a, b); }
+
+inline void libsimple_qsort_nul_doublep(double *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_doublepp); }
+
+inline int libsimple_cmp_doublepp_nul(double *const *a, double *const *b)
+{ LIBSIMPLE_CMP_NUMPP_NUL__(double, a, b); }
+
+inline void libsimple_qsort_doublep_nul(double *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_doublepp_nul); }
+
+inline int libsimple_cmp_rev_doublep(const double *a, const double *b)
+{ LIBSIMPLE_CMP_REV_NUMP__(double, a, b); }
+
+inline void libsimple_qsort_rev_double(double base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_doublep); }
+
+inline int libsimple_cmp_rev_doublepp(double *const *a, double *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP__(double, a, b); }
+
+inline void libsimple_qsort_rev_doublep(double *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_doublepp); }
+
+inline int libsimple_cmp_nul_rev_doublepp(double *const *a, double *const *b)
+{ LIBSIMPLE_CMP_NUL_REV_NUMPP__(double, a, b); }
+
+inline void libsimple_qsort_nul_rev_doublep(double *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_doublepp); }
+
+inline int libsimple_cmp_rev_doublepp_nul(double *const *a, double *const *b)
+{ LIBSIMPLE_CMP_REV_NUMPP_NUL__(double, a, b); }
+
+inline void libsimple_qsort_rev_doublep_nul(double *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_doublepp_nul); }
+
+inline int libsimple_cmp_strp(const char *const *a, const char *const *b)
+{ LIBSIMPLE_CMP_FUNP__(const char *, strcmp, a, b); }
+
+inline void libsimple_qsort_str(const char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_strp); }
+
+inline int libsimple_cmp_strpp(const char **const *a, const char **const *b)
+{ LIBSIMPLE_CMP_FUNPP__(const char *, strcmp, a, b); }
+
+inline void libsimple_qsort_strp(const char **base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_strpp); }
+
+inline int libsimple_cmp_nul_strpp(const char **const *a, const char **const *b)
+{ LIBSIMPLE_CMP_NUL_FUNPP__(const char *, strcmp, a, b); }
+
+inline void libsimple_qsort_nul_strp(const char **base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_strpp); }
+
+inline int libsimple_cmp_strpp_nul(const char **const *a, const char **const *b)
+{ LIBSIMPLE_CMP_FUNPP_NUL__(const char *, strcmp, a, b); }
+
+inline void libsimple_qsort_strp_nul(const char **base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_strpp_nul); }
+
+inline int libsimple_cmp_rev_strp(const char *const *a, const char *const *b)
+{ LIBSIMPLE_CMP_REV_FUNP__(const char *, strcmp, a, b); }
+
+inline void libsimple_qsort_rev_str(const char *base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_strp); }
+
+inline int libsimple_cmp_rev_strpp(const char **const *a, const char **const *b)
+{ LIBSIMPLE_CMP_REV_FUNPP__(const char *, strcmp, a, b); }
+
+inline void libsimple_qsort_rev_strp(const char **base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_strpp); }
+
+inline int libsimple_cmp_nul_rev_strpp(const char **const *a, const char **const *b)
+{ LIBSIMPLE_CMP_NUL_REV_FUNPP__(const char *, strcmp, a, b); }
+
+inline void libsimple_qsort_nul_rev_strp(const char **base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_nul_rev_strpp); }
+
+inline int libsimple_cmp_rev_strpp_nul(const char **const *a, const char **const *b)
+{ LIBSIMPLE_CMP_REV_FUNPP_NUL__(const char *, strcmp, a, b); }
+
+inline void libsimple_qsort_rev_strp_nul(const char **base[], size_t n)
+{ qsort(base, n, sizeof(*base), (int (*)(const void *, const void *))&libsimple_cmp_rev_strpp_nul); }
+
+
+#undef LIBSIMPLE_CMP_NUMP__
+#undef LIBSIMPLE_CMP_NUMPP__
+#undef LIBSIMPLE_CMP_NUL_NUMPP__
+#undef LIBSIMPLE_CMP_NUMPP_NUL__
+#undef LIBSIMPLE_CMP_REV_NUMP__
+#undef LIBSIMPLE_CMP_REV_NUMPP__
+#undef LIBSIMPLE_CMP_NUL_REV_NUMPP__
+#undef LIBSIMPLE_CMP_REV_NUMPP_NUL__
+
+#undef LIBSIMPLE_CMP_FUNP__
+#undef LIBSIMPLE_CMP_FUNPP__
+#undef LIBSIMPLE_CMP_NUL_FUNPP__
+#undef LIBSIMPLE_CMP_FUNPP_NUL__
+#undef LIBSIMPLE_CMP_REV_FUNP__
+#undef LIBSIMPLE_CMP_REV_FUNPP__
+#undef LIBSIMPLE_CMP_NUL_REV_FUNPP__
+#undef LIBSIMPLE_CMP_REV_FUNPP_NUL__
diff --git a/qsort_double.c b/qsort_double.c
new file mode 100644
index 0000000..401e528
--- /dev/null
+++ b/qsort_double.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_double(double[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_doublep.c b/qsort_doublep.c
new file mode 100644
index 0000000..eff458c
--- /dev/null
+++ b/qsort_doublep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_doublep(double *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_doublep_nul.c b/qsort_doublep_nul.c
new file mode 100644
index 0000000..e497ea7
--- /dev/null
+++ b/qsort_doublep_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_doublep_nul(double *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_float.c b/qsort_float.c
new file mode 100644
index 0000000..d4798aa
--- /dev/null
+++ b/qsort_float.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_float(float[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_floatp.c b/qsort_floatp.c
new file mode 100644
index 0000000..910c2e6
--- /dev/null
+++ b/qsort_floatp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_floatp(float *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_floatp_nul.c b/qsort_floatp_nul.c
new file mode 100644
index 0000000..72bb34e
--- /dev/null
+++ b/qsort_floatp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_floatp_nul(float *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int.c b/qsort_int.c
new file mode 100644
index 0000000..8b59e62
--- /dev/null
+++ b/qsort_int.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int(int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int16.c b/qsort_int16.c
new file mode 100644
index 0000000..27d12bf
--- /dev/null
+++ b/qsort_int16.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int16(int16_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int16p.c b/qsort_int16p.c
new file mode 100644
index 0000000..6568631
--- /dev/null
+++ b/qsort_int16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int16p(int16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int16p_nul.c b/qsort_int16p_nul.c
new file mode 100644
index 0000000..407e594
--- /dev/null
+++ b/qsort_int16p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int16p_nul(int16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int32.c b/qsort_int32.c
new file mode 100644
index 0000000..d4c1e84
--- /dev/null
+++ b/qsort_int32.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int32(int32_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int32p.c b/qsort_int32p.c
new file mode 100644
index 0000000..fa1083b
--- /dev/null
+++ b/qsort_int32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int32p(int32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int32p_nul.c b/qsort_int32p_nul.c
new file mode 100644
index 0000000..49d3116
--- /dev/null
+++ b/qsort_int32p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int32p_nul(int32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int64.c b/qsort_int64.c
new file mode 100644
index 0000000..020dab0
--- /dev/null
+++ b/qsort_int64.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int64(int64_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int64p.c b/qsort_int64p.c
new file mode 100644
index 0000000..0cf2824
--- /dev/null
+++ b/qsort_int64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int64p(int64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int64p_nul.c b/qsort_int64p_nul.c
new file mode 100644
index 0000000..82f711b
--- /dev/null
+++ b/qsort_int64p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int64p_nul(int64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int8.c b/qsort_int8.c
new file mode 100644
index 0000000..40638ca
--- /dev/null
+++ b/qsort_int8.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int8(int8_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int8p.c b/qsort_int8p.c
new file mode 100644
index 0000000..b5a2ca5
--- /dev/null
+++ b/qsort_int8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int8p(int8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int8p_nul.c b/qsort_int8p_nul.c
new file mode 100644
index 0000000..96a54ea
--- /dev/null
+++ b/qsort_int8p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int8p_nul(int8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least16.c b/qsort_int_least16.c
new file mode 100644
index 0000000..83e7849
--- /dev/null
+++ b/qsort_int_least16.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least16(int_least16_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least16p.c b/qsort_int_least16p.c
new file mode 100644
index 0000000..a18577e
--- /dev/null
+++ b/qsort_int_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least16p(int_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least16p_nul.c b/qsort_int_least16p_nul.c
new file mode 100644
index 0000000..0e7f136
--- /dev/null
+++ b/qsort_int_least16p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least16p_nul(int_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least32.c b/qsort_int_least32.c
new file mode 100644
index 0000000..fae4c86
--- /dev/null
+++ b/qsort_int_least32.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least32(int_least32_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least32p.c b/qsort_int_least32p.c
new file mode 100644
index 0000000..0489fa4
--- /dev/null
+++ b/qsort_int_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least32p(int_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least32p_nul.c b/qsort_int_least32p_nul.c
new file mode 100644
index 0000000..ab88e23
--- /dev/null
+++ b/qsort_int_least32p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least32p_nul(int_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least64.c b/qsort_int_least64.c
new file mode 100644
index 0000000..76ad200
--- /dev/null
+++ b/qsort_int_least64.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least64(int_least64_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least64p.c b/qsort_int_least64p.c
new file mode 100644
index 0000000..a148140
--- /dev/null
+++ b/qsort_int_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least64p(int_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least64p_nul.c b/qsort_int_least64p_nul.c
new file mode 100644
index 0000000..ba2a57e
--- /dev/null
+++ b/qsort_int_least64p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least64p_nul(int_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least8.c b/qsort_int_least8.c
new file mode 100644
index 0000000..34b1097
--- /dev/null
+++ b/qsort_int_least8.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least8(int_least8_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least8p.c b/qsort_int_least8p.c
new file mode 100644
index 0000000..f596049
--- /dev/null
+++ b/qsort_int_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least8p(int_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_int_least8p_nul.c b/qsort_int_least8p_nul.c
new file mode 100644
index 0000000..db45d3c
--- /dev/null
+++ b/qsort_int_least8p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_int_least8p_nul(int_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_intmax.c b/qsort_intmax.c
new file mode 100644
index 0000000..5e81930
--- /dev/null
+++ b/qsort_intmax.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_intmax(intmax_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_intmaxp.c b/qsort_intmaxp.c
new file mode 100644
index 0000000..fc74910
--- /dev/null
+++ b/qsort_intmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_intmaxp(intmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_intmaxp_nul.c b/qsort_intmaxp_nul.c
new file mode 100644
index 0000000..3704633
--- /dev/null
+++ b/qsort_intmaxp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_intmaxp_nul(intmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_intp.c b/qsort_intp.c
new file mode 100644
index 0000000..70250d3
--- /dev/null
+++ b/qsort_intp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_intp(int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_intp_nul.c b/qsort_intp_nul.c
new file mode 100644
index 0000000..a6e87e1
--- /dev/null
+++ b/qsort_intp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_intp_nul(int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_intptr.c b/qsort_intptr.c
new file mode 100644
index 0000000..f65c116
--- /dev/null
+++ b/qsort_intptr.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_intptr(intptr_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_intptrp.c b/qsort_intptrp.c
new file mode 100644
index 0000000..569becb
--- /dev/null
+++ b/qsort_intptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_intptrp(intptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_intptrp_nul.c b/qsort_intptrp_nul.c
new file mode 100644
index 0000000..588259a
--- /dev/null
+++ b/qsort_intptrp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_intptrp_nul(intptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_llong.c b/qsort_llong.c
new file mode 100644
index 0000000..f8bff7d
--- /dev/null
+++ b/qsort_llong.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_llong(long long int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_llongp.c b/qsort_llongp.c
new file mode 100644
index 0000000..664e8b0
--- /dev/null
+++ b/qsort_llongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_llongp(long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_llongp_nul.c b/qsort_llongp_nul.c
new file mode 100644
index 0000000..c869a98
--- /dev/null
+++ b/qsort_llongp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_llongp_nul(long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_long.c b/qsort_long.c
new file mode 100644
index 0000000..cd0581e
--- /dev/null
+++ b/qsort_long.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_long(long int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_longp.c b/qsort_longp.c
new file mode 100644
index 0000000..0538a5c
--- /dev/null
+++ b/qsort_longp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_longp(long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_longp_nul.c b/qsort_longp_nul.c
new file mode 100644
index 0000000..3fea902
--- /dev/null
+++ b/qsort_longp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_longp_nul(long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_doublep.c b/qsort_nul_doublep.c
new file mode 100644
index 0000000..ca89bce
--- /dev/null
+++ b/qsort_nul_doublep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_doublep(double *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_floatp.c b/qsort_nul_floatp.c
new file mode 100644
index 0000000..8b13a47
--- /dev/null
+++ b/qsort_nul_floatp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_floatp(float *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_int16p.c b/qsort_nul_int16p.c
new file mode 100644
index 0000000..382c444
--- /dev/null
+++ b/qsort_nul_int16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_int16p(int16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_int32p.c b/qsort_nul_int32p.c
new file mode 100644
index 0000000..50579b0
--- /dev/null
+++ b/qsort_nul_int32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_int32p(int32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_int64p.c b/qsort_nul_int64p.c
new file mode 100644
index 0000000..3e2b89d
--- /dev/null
+++ b/qsort_nul_int64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_int64p(int64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_int8p.c b/qsort_nul_int8p.c
new file mode 100644
index 0000000..68bbb8f
--- /dev/null
+++ b/qsort_nul_int8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_int8p(int8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_int_least16p.c b/qsort_nul_int_least16p.c
new file mode 100644
index 0000000..fe80d4d
--- /dev/null
+++ b/qsort_nul_int_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_int_least16p(int_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_int_least32p.c b/qsort_nul_int_least32p.c
new file mode 100644
index 0000000..d4b3b70
--- /dev/null
+++ b/qsort_nul_int_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_int_least32p(int_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_int_least64p.c b/qsort_nul_int_least64p.c
new file mode 100644
index 0000000..be5d9dd
--- /dev/null
+++ b/qsort_nul_int_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_int_least64p(int_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_int_least8p.c b/qsort_nul_int_least8p.c
new file mode 100644
index 0000000..2961025
--- /dev/null
+++ b/qsort_nul_int_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_int_least8p(int_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_intmaxp.c b/qsort_nul_intmaxp.c
new file mode 100644
index 0000000..394d7d9
--- /dev/null
+++ b/qsort_nul_intmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_intmaxp(intmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_intp.c b/qsort_nul_intp.c
new file mode 100644
index 0000000..30971f4
--- /dev/null
+++ b/qsort_nul_intp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_intp(int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_intptrp.c b/qsort_nul_intptrp.c
new file mode 100644
index 0000000..e88e9a3
--- /dev/null
+++ b/qsort_nul_intptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_intptrp(intptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_llongp.c b/qsort_nul_llongp.c
new file mode 100644
index 0000000..c3d85cf
--- /dev/null
+++ b/qsort_nul_llongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_llongp(long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_longp.c b/qsort_nul_longp.c
new file mode 100644
index 0000000..61b8fe6
--- /dev/null
+++ b/qsort_nul_longp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_longp(long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_ptrdiffp.c b/qsort_nul_ptrdiffp.c
new file mode 100644
index 0000000..d2948e0
--- /dev/null
+++ b/qsort_nul_ptrdiffp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_ptrdiffp(ptrdiff_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_doublep.c b/qsort_nul_rev_doublep.c
new file mode 100644
index 0000000..bdb14dc
--- /dev/null
+++ b/qsort_nul_rev_doublep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_doublep(double *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_floatp.c b/qsort_nul_rev_floatp.c
new file mode 100644
index 0000000..8962213
--- /dev/null
+++ b/qsort_nul_rev_floatp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_floatp(float *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_int16p.c b/qsort_nul_rev_int16p.c
new file mode 100644
index 0000000..7d3d488
--- /dev/null
+++ b/qsort_nul_rev_int16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_int16p(int16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_int32p.c b/qsort_nul_rev_int32p.c
new file mode 100644
index 0000000..5035e66
--- /dev/null
+++ b/qsort_nul_rev_int32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_int32p(int32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_int64p.c b/qsort_nul_rev_int64p.c
new file mode 100644
index 0000000..63739cf
--- /dev/null
+++ b/qsort_nul_rev_int64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_int64p(int64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_int8p.c b/qsort_nul_rev_int8p.c
new file mode 100644
index 0000000..fb474e1
--- /dev/null
+++ b/qsort_nul_rev_int8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_int8p(int8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_int_least16p.c b/qsort_nul_rev_int_least16p.c
new file mode 100644
index 0000000..d302a46
--- /dev/null
+++ b/qsort_nul_rev_int_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_int_least16p(int_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_int_least32p.c b/qsort_nul_rev_int_least32p.c
new file mode 100644
index 0000000..f84fc32
--- /dev/null
+++ b/qsort_nul_rev_int_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_int_least32p(int_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_int_least64p.c b/qsort_nul_rev_int_least64p.c
new file mode 100644
index 0000000..19d880c
--- /dev/null
+++ b/qsort_nul_rev_int_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_int_least64p(int_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_int_least8p.c b/qsort_nul_rev_int_least8p.c
new file mode 100644
index 0000000..4da5625
--- /dev/null
+++ b/qsort_nul_rev_int_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_int_least8p(int_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_intmaxp.c b/qsort_nul_rev_intmaxp.c
new file mode 100644
index 0000000..e2558b7
--- /dev/null
+++ b/qsort_nul_rev_intmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_intmaxp(intmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_intp.c b/qsort_nul_rev_intp.c
new file mode 100644
index 0000000..e9cbf60
--- /dev/null
+++ b/qsort_nul_rev_intp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_intp(int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_intptrp.c b/qsort_nul_rev_intptrp.c
new file mode 100644
index 0000000..a26fc92
--- /dev/null
+++ b/qsort_nul_rev_intptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_intptrp(intptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_llongp.c b/qsort_nul_rev_llongp.c
new file mode 100644
index 0000000..ae796c7
--- /dev/null
+++ b/qsort_nul_rev_llongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_llongp(long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_longp.c b/qsort_nul_rev_longp.c
new file mode 100644
index 0000000..460e8df
--- /dev/null
+++ b/qsort_nul_rev_longp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_longp(long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_ptrdiffp.c b/qsort_nul_rev_ptrdiffp.c
new file mode 100644
index 0000000..4e087d2
--- /dev/null
+++ b/qsort_nul_rev_ptrdiffp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_ptrdiffp(ptrdiff_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_scharp.c b/qsort_nul_rev_scharp.c
new file mode 100644
index 0000000..c8dfdec
--- /dev/null
+++ b/qsort_nul_rev_scharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_scharp(signed char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_shortp.c b/qsort_nul_rev_shortp.c
new file mode 100644
index 0000000..3f856f1
--- /dev/null
+++ b/qsort_nul_rev_shortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_shortp(short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_sizep.c b/qsort_nul_rev_sizep.c
new file mode 100644
index 0000000..e979236
--- /dev/null
+++ b/qsort_nul_rev_sizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_sizep(size_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_ssizep.c b/qsort_nul_rev_ssizep.c
new file mode 100644
index 0000000..345681e
--- /dev/null
+++ b/qsort_nul_rev_ssizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_ssizep(ssize_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_strp.c b/qsort_nul_rev_strp.c
new file mode 100644
index 0000000..20c41d7
--- /dev/null
+++ b/qsort_nul_rev_strp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_strp(const char **[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_ucharp.c b/qsort_nul_rev_ucharp.c
new file mode 100644
index 0000000..6990982
--- /dev/null
+++ b/qsort_nul_rev_ucharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_ucharp(unsigned char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uint16p.c b/qsort_nul_rev_uint16p.c
new file mode 100644
index 0000000..4b3e297
--- /dev/null
+++ b/qsort_nul_rev_uint16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uint16p(uint16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uint32p.c b/qsort_nul_rev_uint32p.c
new file mode 100644
index 0000000..ecffb5d
--- /dev/null
+++ b/qsort_nul_rev_uint32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uint32p(uint32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uint64p.c b/qsort_nul_rev_uint64p.c
new file mode 100644
index 0000000..8b436f8
--- /dev/null
+++ b/qsort_nul_rev_uint64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uint64p(uint64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uint8p.c b/qsort_nul_rev_uint8p.c
new file mode 100644
index 0000000..520bbfe
--- /dev/null
+++ b/qsort_nul_rev_uint8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uint8p(uint8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uint_least16p.c b/qsort_nul_rev_uint_least16p.c
new file mode 100644
index 0000000..5fff034
--- /dev/null
+++ b/qsort_nul_rev_uint_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uint_least16p(uint_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uint_least32p.c b/qsort_nul_rev_uint_least32p.c
new file mode 100644
index 0000000..f886c6a
--- /dev/null
+++ b/qsort_nul_rev_uint_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uint_least32p(uint_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uint_least64p.c b/qsort_nul_rev_uint_least64p.c
new file mode 100644
index 0000000..a7929b6
--- /dev/null
+++ b/qsort_nul_rev_uint_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uint_least64p(uint_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uint_least8p.c b/qsort_nul_rev_uint_least8p.c
new file mode 100644
index 0000000..8208519
--- /dev/null
+++ b/qsort_nul_rev_uint_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uint_least8p(uint_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uintmaxp.c b/qsort_nul_rev_uintmaxp.c
new file mode 100644
index 0000000..0f00a05
--- /dev/null
+++ b/qsort_nul_rev_uintmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uintmaxp(uintmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uintp.c b/qsort_nul_rev_uintp.c
new file mode 100644
index 0000000..96485cc
--- /dev/null
+++ b/qsort_nul_rev_uintp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uintp(unsigned int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_uintptrp.c b/qsort_nul_rev_uintptrp.c
new file mode 100644
index 0000000..98495d1
--- /dev/null
+++ b/qsort_nul_rev_uintptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_uintptrp(uintptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_ullongp.c b/qsort_nul_rev_ullongp.c
new file mode 100644
index 0000000..60777c3
--- /dev/null
+++ b/qsort_nul_rev_ullongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_ullongp(unsigned long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_ulongp.c b/qsort_nul_rev_ulongp.c
new file mode 100644
index 0000000..407c405
--- /dev/null
+++ b/qsort_nul_rev_ulongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_ulongp(unsigned long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_rev_ushortp.c b/qsort_nul_rev_ushortp.c
new file mode 100644
index 0000000..ebcc34c
--- /dev/null
+++ b/qsort_nul_rev_ushortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_rev_ushortp(unsigned short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_scharp.c b/qsort_nul_scharp.c
new file mode 100644
index 0000000..1661018
--- /dev/null
+++ b/qsort_nul_scharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_scharp(signed char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_shortp.c b/qsort_nul_shortp.c
new file mode 100644
index 0000000..1d0e34c
--- /dev/null
+++ b/qsort_nul_shortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_shortp(short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_sizep.c b/qsort_nul_sizep.c
new file mode 100644
index 0000000..c10692f
--- /dev/null
+++ b/qsort_nul_sizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_sizep(size_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_ssizep.c b/qsort_nul_ssizep.c
new file mode 100644
index 0000000..881547e
--- /dev/null
+++ b/qsort_nul_ssizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_ssizep(ssize_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_strp.c b/qsort_nul_strp.c
new file mode 100644
index 0000000..eace016
--- /dev/null
+++ b/qsort_nul_strp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_strp(const char **[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_ucharp.c b/qsort_nul_ucharp.c
new file mode 100644
index 0000000..af1a37a
--- /dev/null
+++ b/qsort_nul_ucharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_ucharp(unsigned char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uint16p.c b/qsort_nul_uint16p.c
new file mode 100644
index 0000000..37cf274
--- /dev/null
+++ b/qsort_nul_uint16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uint16p(uint16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uint32p.c b/qsort_nul_uint32p.c
new file mode 100644
index 0000000..7db5d0e
--- /dev/null
+++ b/qsort_nul_uint32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uint32p(uint32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uint64p.c b/qsort_nul_uint64p.c
new file mode 100644
index 0000000..d37b585
--- /dev/null
+++ b/qsort_nul_uint64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uint64p(uint64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uint8p.c b/qsort_nul_uint8p.c
new file mode 100644
index 0000000..55195be
--- /dev/null
+++ b/qsort_nul_uint8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uint8p(uint8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uint_least16p.c b/qsort_nul_uint_least16p.c
new file mode 100644
index 0000000..4b04a19
--- /dev/null
+++ b/qsort_nul_uint_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uint_least16p(uint_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uint_least32p.c b/qsort_nul_uint_least32p.c
new file mode 100644
index 0000000..fcf5799
--- /dev/null
+++ b/qsort_nul_uint_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uint_least32p(uint_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uint_least64p.c b/qsort_nul_uint_least64p.c
new file mode 100644
index 0000000..f0492bb
--- /dev/null
+++ b/qsort_nul_uint_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uint_least64p(uint_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uint_least8p.c b/qsort_nul_uint_least8p.c
new file mode 100644
index 0000000..6b01670
--- /dev/null
+++ b/qsort_nul_uint_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uint_least8p(uint_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uintmaxp.c b/qsort_nul_uintmaxp.c
new file mode 100644
index 0000000..7054f44
--- /dev/null
+++ b/qsort_nul_uintmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uintmaxp(uintmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uintp.c b/qsort_nul_uintp.c
new file mode 100644
index 0000000..800d33b
--- /dev/null
+++ b/qsort_nul_uintp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uintp(unsigned int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_uintptrp.c b/qsort_nul_uintptrp.c
new file mode 100644
index 0000000..c775bf9
--- /dev/null
+++ b/qsort_nul_uintptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_uintptrp(uintptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_ullongp.c b/qsort_nul_ullongp.c
new file mode 100644
index 0000000..52cc851
--- /dev/null
+++ b/qsort_nul_ullongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_ullongp(unsigned long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_ulongp.c b/qsort_nul_ulongp.c
new file mode 100644
index 0000000..97ae0c3
--- /dev/null
+++ b/qsort_nul_ulongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_ulongp(unsigned long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_nul_ushortp.c b/qsort_nul_ushortp.c
new file mode 100644
index 0000000..b3ed238
--- /dev/null
+++ b/qsort_nul_ushortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_nul_ushortp(unsigned short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ptrdiff.c b/qsort_ptrdiff.c
new file mode 100644
index 0000000..e9665e0
--- /dev/null
+++ b/qsort_ptrdiff.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ptrdiff(ptrdiff_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ptrdiffp.c b/qsort_ptrdiffp.c
new file mode 100644
index 0000000..4d2625a
--- /dev/null
+++ b/qsort_ptrdiffp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ptrdiffp(ptrdiff_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ptrdiffp_nul.c b/qsort_ptrdiffp_nul.c
new file mode 100644
index 0000000..d301fb5
--- /dev/null
+++ b/qsort_ptrdiffp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ptrdiffp_nul(ptrdiff_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_double.c b/qsort_rev_double.c
new file mode 100644
index 0000000..a6a0375
--- /dev/null
+++ b/qsort_rev_double.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_double(double[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_doublep.c b/qsort_rev_doublep.c
new file mode 100644
index 0000000..69cd4dd
--- /dev/null
+++ b/qsort_rev_doublep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_doublep(double *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_doublep_nul.c b/qsort_rev_doublep_nul.c
new file mode 100644
index 0000000..b8b485f
--- /dev/null
+++ b/qsort_rev_doublep_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_doublep_nul(double *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_float.c b/qsort_rev_float.c
new file mode 100644
index 0000000..51c17af
--- /dev/null
+++ b/qsort_rev_float.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_float(float[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_floatp.c b/qsort_rev_floatp.c
new file mode 100644
index 0000000..5014ebe
--- /dev/null
+++ b/qsort_rev_floatp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_floatp(float *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_floatp_nul.c b/qsort_rev_floatp_nul.c
new file mode 100644
index 0000000..b65b531
--- /dev/null
+++ b/qsort_rev_floatp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_floatp_nul(float *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int.c b/qsort_rev_int.c
new file mode 100644
index 0000000..616cb6e
--- /dev/null
+++ b/qsort_rev_int.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int(int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int16.c b/qsort_rev_int16.c
new file mode 100644
index 0000000..99baeeb
--- /dev/null
+++ b/qsort_rev_int16.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int16(int16_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int16p.c b/qsort_rev_int16p.c
new file mode 100644
index 0000000..6018501
--- /dev/null
+++ b/qsort_rev_int16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int16p(int16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int16p_nul.c b/qsort_rev_int16p_nul.c
new file mode 100644
index 0000000..1c13a00
--- /dev/null
+++ b/qsort_rev_int16p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int16p_nul(int16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int32.c b/qsort_rev_int32.c
new file mode 100644
index 0000000..064e1fc
--- /dev/null
+++ b/qsort_rev_int32.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int32(int32_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int32p.c b/qsort_rev_int32p.c
new file mode 100644
index 0000000..a2e0bae
--- /dev/null
+++ b/qsort_rev_int32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int32p(int32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int32p_nul.c b/qsort_rev_int32p_nul.c
new file mode 100644
index 0000000..eb97627
--- /dev/null
+++ b/qsort_rev_int32p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int32p_nul(int32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int64.c b/qsort_rev_int64.c
new file mode 100644
index 0000000..4005d1c
--- /dev/null
+++ b/qsort_rev_int64.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int64(int64_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int64p.c b/qsort_rev_int64p.c
new file mode 100644
index 0000000..f71329d
--- /dev/null
+++ b/qsort_rev_int64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int64p(int64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int64p_nul.c b/qsort_rev_int64p_nul.c
new file mode 100644
index 0000000..20e19f8
--- /dev/null
+++ b/qsort_rev_int64p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int64p_nul(int64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int8.c b/qsort_rev_int8.c
new file mode 100644
index 0000000..1aa2476
--- /dev/null
+++ b/qsort_rev_int8.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int8(int8_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int8p.c b/qsort_rev_int8p.c
new file mode 100644
index 0000000..863f77c
--- /dev/null
+++ b/qsort_rev_int8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int8p(int8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int8p_nul.c b/qsort_rev_int8p_nul.c
new file mode 100644
index 0000000..5a508ce
--- /dev/null
+++ b/qsort_rev_int8p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int8p_nul(int8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least16.c b/qsort_rev_int_least16.c
new file mode 100644
index 0000000..ec11b00
--- /dev/null
+++ b/qsort_rev_int_least16.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least16(int_least16_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least16p.c b/qsort_rev_int_least16p.c
new file mode 100644
index 0000000..fc329ef
--- /dev/null
+++ b/qsort_rev_int_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least16p(int_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least16p_nul.c b/qsort_rev_int_least16p_nul.c
new file mode 100644
index 0000000..905cf7c
--- /dev/null
+++ b/qsort_rev_int_least16p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least16p_nul(int_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least32.c b/qsort_rev_int_least32.c
new file mode 100644
index 0000000..2d32ec1
--- /dev/null
+++ b/qsort_rev_int_least32.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least32(int_least32_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least32p.c b/qsort_rev_int_least32p.c
new file mode 100644
index 0000000..0c227a9
--- /dev/null
+++ b/qsort_rev_int_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least32p(int_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least32p_nul.c b/qsort_rev_int_least32p_nul.c
new file mode 100644
index 0000000..30f30e3
--- /dev/null
+++ b/qsort_rev_int_least32p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least32p_nul(int_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least64.c b/qsort_rev_int_least64.c
new file mode 100644
index 0000000..f7e663b
--- /dev/null
+++ b/qsort_rev_int_least64.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least64(int_least64_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least64p.c b/qsort_rev_int_least64p.c
new file mode 100644
index 0000000..996d8f2
--- /dev/null
+++ b/qsort_rev_int_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least64p(int_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least64p_nul.c b/qsort_rev_int_least64p_nul.c
new file mode 100644
index 0000000..aab34dc
--- /dev/null
+++ b/qsort_rev_int_least64p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least64p_nul(int_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least8.c b/qsort_rev_int_least8.c
new file mode 100644
index 0000000..50445ca
--- /dev/null
+++ b/qsort_rev_int_least8.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least8(int_least8_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least8p.c b/qsort_rev_int_least8p.c
new file mode 100644
index 0000000..5f755e7
--- /dev/null
+++ b/qsort_rev_int_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least8p(int_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_int_least8p_nul.c b/qsort_rev_int_least8p_nul.c
new file mode 100644
index 0000000..f204ae3
--- /dev/null
+++ b/qsort_rev_int_least8p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_int_least8p_nul(int_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_intmax.c b/qsort_rev_intmax.c
new file mode 100644
index 0000000..26593da
--- /dev/null
+++ b/qsort_rev_intmax.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_intmax(intmax_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_intmaxp.c b/qsort_rev_intmaxp.c
new file mode 100644
index 0000000..c3d97fd
--- /dev/null
+++ b/qsort_rev_intmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_intmaxp(intmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_intmaxp_nul.c b/qsort_rev_intmaxp_nul.c
new file mode 100644
index 0000000..2de6bcd
--- /dev/null
+++ b/qsort_rev_intmaxp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_intmaxp_nul(intmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_intp.c b/qsort_rev_intp.c
new file mode 100644
index 0000000..cd79a9e
--- /dev/null
+++ b/qsort_rev_intp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_intp(int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_intp_nul.c b/qsort_rev_intp_nul.c
new file mode 100644
index 0000000..7f4b29f
--- /dev/null
+++ b/qsort_rev_intp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_intp_nul(int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_intptr.c b/qsort_rev_intptr.c
new file mode 100644
index 0000000..421078c
--- /dev/null
+++ b/qsort_rev_intptr.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_intptr(intptr_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_intptrp.c b/qsort_rev_intptrp.c
new file mode 100644
index 0000000..14c50f6
--- /dev/null
+++ b/qsort_rev_intptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_intptrp(intptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_intptrp_nul.c b/qsort_rev_intptrp_nul.c
new file mode 100644
index 0000000..e83d39c
--- /dev/null
+++ b/qsort_rev_intptrp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_intptrp_nul(intptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_llong.c b/qsort_rev_llong.c
new file mode 100644
index 0000000..dfea11e
--- /dev/null
+++ b/qsort_rev_llong.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_llong(long long int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_llongp.c b/qsort_rev_llongp.c
new file mode 100644
index 0000000..2dba49c
--- /dev/null
+++ b/qsort_rev_llongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_llongp(long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_llongp_nul.c b/qsort_rev_llongp_nul.c
new file mode 100644
index 0000000..55fdd26
--- /dev/null
+++ b/qsort_rev_llongp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_llongp_nul(long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_long.c b/qsort_rev_long.c
new file mode 100644
index 0000000..bff6bfb
--- /dev/null
+++ b/qsort_rev_long.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_long(long int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_longp.c b/qsort_rev_longp.c
new file mode 100644
index 0000000..091d3b3
--- /dev/null
+++ b/qsort_rev_longp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_longp(long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_longp_nul.c b/qsort_rev_longp_nul.c
new file mode 100644
index 0000000..d2da55c
--- /dev/null
+++ b/qsort_rev_longp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_longp_nul(long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ptrdiff.c b/qsort_rev_ptrdiff.c
new file mode 100644
index 0000000..369098a
--- /dev/null
+++ b/qsort_rev_ptrdiff.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ptrdiff(ptrdiff_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ptrdiffp.c b/qsort_rev_ptrdiffp.c
new file mode 100644
index 0000000..617246e
--- /dev/null
+++ b/qsort_rev_ptrdiffp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ptrdiffp(ptrdiff_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ptrdiffp_nul.c b/qsort_rev_ptrdiffp_nul.c
new file mode 100644
index 0000000..a32e877
--- /dev/null
+++ b/qsort_rev_ptrdiffp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ptrdiffp_nul(ptrdiff_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_schar.c b/qsort_rev_schar.c
new file mode 100644
index 0000000..ec23672
--- /dev/null
+++ b/qsort_rev_schar.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_schar(signed char[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_scharp.c b/qsort_rev_scharp.c
new file mode 100644
index 0000000..3581019
--- /dev/null
+++ b/qsort_rev_scharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_scharp(signed char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_scharp_nul.c b/qsort_rev_scharp_nul.c
new file mode 100644
index 0000000..a7b6845
--- /dev/null
+++ b/qsort_rev_scharp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_scharp_nul(signed char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_short.c b/qsort_rev_short.c
new file mode 100644
index 0000000..9eefaf9
--- /dev/null
+++ b/qsort_rev_short.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_short(short int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_shortp.c b/qsort_rev_shortp.c
new file mode 100644
index 0000000..3a883a3
--- /dev/null
+++ b/qsort_rev_shortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_shortp(short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_shortp_nul.c b/qsort_rev_shortp_nul.c
new file mode 100644
index 0000000..f3c989a
--- /dev/null
+++ b/qsort_rev_shortp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_shortp_nul(short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_size.c b/qsort_rev_size.c
new file mode 100644
index 0000000..715c203
--- /dev/null
+++ b/qsort_rev_size.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_size(size_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_sizep.c b/qsort_rev_sizep.c
new file mode 100644
index 0000000..6acecba
--- /dev/null
+++ b/qsort_rev_sizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_sizep(size_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_sizep_nul.c b/qsort_rev_sizep_nul.c
new file mode 100644
index 0000000..cd08674
--- /dev/null
+++ b/qsort_rev_sizep_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_sizep_nul(size_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ssize.c b/qsort_rev_ssize.c
new file mode 100644
index 0000000..9ea1042
--- /dev/null
+++ b/qsort_rev_ssize.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ssize(ssize_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ssizep.c b/qsort_rev_ssizep.c
new file mode 100644
index 0000000..7660fb8
--- /dev/null
+++ b/qsort_rev_ssizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ssizep(ssize_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ssizep_nul.c b/qsort_rev_ssizep_nul.c
new file mode 100644
index 0000000..3eb1eb3
--- /dev/null
+++ b/qsort_rev_ssizep_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ssizep_nul(ssize_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_str.c b/qsort_rev_str.c
new file mode 100644
index 0000000..582895e
--- /dev/null
+++ b/qsort_rev_str.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_str(const char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_strp.c b/qsort_rev_strp.c
new file mode 100644
index 0000000..0017956
--- /dev/null
+++ b/qsort_rev_strp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_strp(const char **[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_strp_nul.c b/qsort_rev_strp_nul.c
new file mode 100644
index 0000000..b4d1b47
--- /dev/null
+++ b/qsort_rev_strp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_strp_nul(const char **[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uchar.c b/qsort_rev_uchar.c
new file mode 100644
index 0000000..37822b5
--- /dev/null
+++ b/qsort_rev_uchar.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uchar(unsigned char[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ucharp.c b/qsort_rev_ucharp.c
new file mode 100644
index 0000000..8a00662
--- /dev/null
+++ b/qsort_rev_ucharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ucharp(unsigned char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ucharp_nul.c b/qsort_rev_ucharp_nul.c
new file mode 100644
index 0000000..379817f
--- /dev/null
+++ b/qsort_rev_ucharp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ucharp_nul(unsigned char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint.c b/qsort_rev_uint.c
new file mode 100644
index 0000000..2ed8677
--- /dev/null
+++ b/qsort_rev_uint.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint(unsigned int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint16.c b/qsort_rev_uint16.c
new file mode 100644
index 0000000..ec439ab
--- /dev/null
+++ b/qsort_rev_uint16.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint16(uint16_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint16p.c b/qsort_rev_uint16p.c
new file mode 100644
index 0000000..37243c1
--- /dev/null
+++ b/qsort_rev_uint16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint16p(uint16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint16p_nul.c b/qsort_rev_uint16p_nul.c
new file mode 100644
index 0000000..51eb068
--- /dev/null
+++ b/qsort_rev_uint16p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint16p_nul(uint16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint32.c b/qsort_rev_uint32.c
new file mode 100644
index 0000000..8d5b7ca
--- /dev/null
+++ b/qsort_rev_uint32.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint32(uint32_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint32p.c b/qsort_rev_uint32p.c
new file mode 100644
index 0000000..9c4cab3
--- /dev/null
+++ b/qsort_rev_uint32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint32p(uint32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint32p_nul.c b/qsort_rev_uint32p_nul.c
new file mode 100644
index 0000000..81f15ce
--- /dev/null
+++ b/qsort_rev_uint32p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint32p_nul(uint32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint64.c b/qsort_rev_uint64.c
new file mode 100644
index 0000000..96fe65f
--- /dev/null
+++ b/qsort_rev_uint64.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint64(uint64_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint64p.c b/qsort_rev_uint64p.c
new file mode 100644
index 0000000..d3e0351
--- /dev/null
+++ b/qsort_rev_uint64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint64p(uint64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint64p_nul.c b/qsort_rev_uint64p_nul.c
new file mode 100644
index 0000000..c29c91c
--- /dev/null
+++ b/qsort_rev_uint64p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint64p_nul(uint64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint8.c b/qsort_rev_uint8.c
new file mode 100644
index 0000000..fd1ae21
--- /dev/null
+++ b/qsort_rev_uint8.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint8(uint8_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint8p.c b/qsort_rev_uint8p.c
new file mode 100644
index 0000000..58d7391
--- /dev/null
+++ b/qsort_rev_uint8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint8p(uint8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint8p_nul.c b/qsort_rev_uint8p_nul.c
new file mode 100644
index 0000000..e1131c9
--- /dev/null
+++ b/qsort_rev_uint8p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint8p_nul(uint8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least16.c b/qsort_rev_uint_least16.c
new file mode 100644
index 0000000..5e7ae4b
--- /dev/null
+++ b/qsort_rev_uint_least16.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least16(uint_least16_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least16p.c b/qsort_rev_uint_least16p.c
new file mode 100644
index 0000000..d7887e7
--- /dev/null
+++ b/qsort_rev_uint_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least16p(uint_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least16p_nul.c b/qsort_rev_uint_least16p_nul.c
new file mode 100644
index 0000000..089f80f
--- /dev/null
+++ b/qsort_rev_uint_least16p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least16p_nul(uint_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least32.c b/qsort_rev_uint_least32.c
new file mode 100644
index 0000000..adc6d59
--- /dev/null
+++ b/qsort_rev_uint_least32.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least32(uint_least32_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least32p.c b/qsort_rev_uint_least32p.c
new file mode 100644
index 0000000..bdaafdb
--- /dev/null
+++ b/qsort_rev_uint_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least32p(uint_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least32p_nul.c b/qsort_rev_uint_least32p_nul.c
new file mode 100644
index 0000000..3098822
--- /dev/null
+++ b/qsort_rev_uint_least32p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least32p_nul(uint_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least64.c b/qsort_rev_uint_least64.c
new file mode 100644
index 0000000..bb08c93
--- /dev/null
+++ b/qsort_rev_uint_least64.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least64(uint_least64_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least64p.c b/qsort_rev_uint_least64p.c
new file mode 100644
index 0000000..93e7beb
--- /dev/null
+++ b/qsort_rev_uint_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least64p(uint_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least64p_nul.c b/qsort_rev_uint_least64p_nul.c
new file mode 100644
index 0000000..42a4df8
--- /dev/null
+++ b/qsort_rev_uint_least64p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least64p_nul(uint_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least8.c b/qsort_rev_uint_least8.c
new file mode 100644
index 0000000..559a3c0
--- /dev/null
+++ b/qsort_rev_uint_least8.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least8(uint_least8_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least8p.c b/qsort_rev_uint_least8p.c
new file mode 100644
index 0000000..e188137
--- /dev/null
+++ b/qsort_rev_uint_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least8p(uint_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uint_least8p_nul.c b/qsort_rev_uint_least8p_nul.c
new file mode 100644
index 0000000..19f14be
--- /dev/null
+++ b/qsort_rev_uint_least8p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uint_least8p_nul(uint_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uintmax.c b/qsort_rev_uintmax.c
new file mode 100644
index 0000000..ef67dde
--- /dev/null
+++ b/qsort_rev_uintmax.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uintmax(uintmax_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uintmaxp.c b/qsort_rev_uintmaxp.c
new file mode 100644
index 0000000..69a8317
--- /dev/null
+++ b/qsort_rev_uintmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uintmaxp(uintmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uintmaxp_nul.c b/qsort_rev_uintmaxp_nul.c
new file mode 100644
index 0000000..4dd7bf3
--- /dev/null
+++ b/qsort_rev_uintmaxp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uintmaxp_nul(uintmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uintp.c b/qsort_rev_uintp.c
new file mode 100644
index 0000000..543e6cf
--- /dev/null
+++ b/qsort_rev_uintp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uintp(unsigned int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uintp_nul.c b/qsort_rev_uintp_nul.c
new file mode 100644
index 0000000..1398b26
--- /dev/null
+++ b/qsort_rev_uintp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uintp_nul(unsigned int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uintptr.c b/qsort_rev_uintptr.c
new file mode 100644
index 0000000..cd3a2ca
--- /dev/null
+++ b/qsort_rev_uintptr.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uintptr(uintptr_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uintptrp.c b/qsort_rev_uintptrp.c
new file mode 100644
index 0000000..0488a15
--- /dev/null
+++ b/qsort_rev_uintptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uintptrp(uintptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_uintptrp_nul.c b/qsort_rev_uintptrp_nul.c
new file mode 100644
index 0000000..f34f8b9
--- /dev/null
+++ b/qsort_rev_uintptrp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_uintptrp_nul(uintptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ullong.c b/qsort_rev_ullong.c
new file mode 100644
index 0000000..6791336
--- /dev/null
+++ b/qsort_rev_ullong.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ullong(unsigned long long int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ullongp.c b/qsort_rev_ullongp.c
new file mode 100644
index 0000000..58bac57
--- /dev/null
+++ b/qsort_rev_ullongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ullongp(unsigned long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ullongp_nul.c b/qsort_rev_ullongp_nul.c
new file mode 100644
index 0000000..8cf02b7
--- /dev/null
+++ b/qsort_rev_ullongp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ullongp_nul(unsigned long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ulong.c b/qsort_rev_ulong.c
new file mode 100644
index 0000000..1923947
--- /dev/null
+++ b/qsort_rev_ulong.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ulong(unsigned long int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ulongp.c b/qsort_rev_ulongp.c
new file mode 100644
index 0000000..eac1cf4
--- /dev/null
+++ b/qsort_rev_ulongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ulongp(unsigned long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ulongp_nul.c b/qsort_rev_ulongp_nul.c
new file mode 100644
index 0000000..f922fe3
--- /dev/null
+++ b/qsort_rev_ulongp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ulongp_nul(unsigned long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ushort.c b/qsort_rev_ushort.c
new file mode 100644
index 0000000..643988b
--- /dev/null
+++ b/qsort_rev_ushort.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ushort(unsigned short int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ushortp.c b/qsort_rev_ushortp.c
new file mode 100644
index 0000000..00671f0
--- /dev/null
+++ b/qsort_rev_ushortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ushortp(unsigned short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_rev_ushortp_nul.c b/qsort_rev_ushortp_nul.c
new file mode 100644
index 0000000..1ed439b
--- /dev/null
+++ b/qsort_rev_ushortp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_rev_ushortp_nul(unsigned short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_schar.c b/qsort_schar.c
new file mode 100644
index 0000000..ca278d6
--- /dev/null
+++ b/qsort_schar.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_schar(signed char[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_scharp.c b/qsort_scharp.c
new file mode 100644
index 0000000..8c787a9
--- /dev/null
+++ b/qsort_scharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_scharp(signed char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_scharp_nul.c b/qsort_scharp_nul.c
new file mode 100644
index 0000000..8d2b532
--- /dev/null
+++ b/qsort_scharp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_scharp_nul(signed char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_short.c b/qsort_short.c
new file mode 100644
index 0000000..da8c814
--- /dev/null
+++ b/qsort_short.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_short(short int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_shortp.c b/qsort_shortp.c
new file mode 100644
index 0000000..c3b6a52
--- /dev/null
+++ b/qsort_shortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_shortp(short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_shortp_nul.c b/qsort_shortp_nul.c
new file mode 100644
index 0000000..082de0a
--- /dev/null
+++ b/qsort_shortp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_shortp_nul(short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_size.c b/qsort_size.c
new file mode 100644
index 0000000..bea2d6b
--- /dev/null
+++ b/qsort_size.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_size(size_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_sizep.c b/qsort_sizep.c
new file mode 100644
index 0000000..8183193
--- /dev/null
+++ b/qsort_sizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_sizep(size_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_sizep_nul.c b/qsort_sizep_nul.c
new file mode 100644
index 0000000..28f0975
--- /dev/null
+++ b/qsort_sizep_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_sizep_nul(size_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ssize.c b/qsort_ssize.c
new file mode 100644
index 0000000..4d10a65
--- /dev/null
+++ b/qsort_ssize.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ssize(ssize_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ssizep.c b/qsort_ssizep.c
new file mode 100644
index 0000000..52ce19c
--- /dev/null
+++ b/qsort_ssizep.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ssizep(ssize_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ssizep_nul.c b/qsort_ssizep_nul.c
new file mode 100644
index 0000000..daa3096
--- /dev/null
+++ b/qsort_ssizep_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ssizep_nul(ssize_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_str.c b/qsort_str.c
new file mode 100644
index 0000000..00300f7
--- /dev/null
+++ b/qsort_str.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_str(const char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_strp.c b/qsort_strp.c
new file mode 100644
index 0000000..7c18666
--- /dev/null
+++ b/qsort_strp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_strp(const char **[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_strp_nul.c b/qsort_strp_nul.c
new file mode 100644
index 0000000..84a2e32
--- /dev/null
+++ b/qsort_strp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_strp_nul(const char **[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uchar.c b/qsort_uchar.c
new file mode 100644
index 0000000..cc852e4
--- /dev/null
+++ b/qsort_uchar.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uchar(unsigned char[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ucharp.c b/qsort_ucharp.c
new file mode 100644
index 0000000..d16c082
--- /dev/null
+++ b/qsort_ucharp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ucharp(unsigned char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ucharp_nul.c b/qsort_ucharp_nul.c
new file mode 100644
index 0000000..f2b9344
--- /dev/null
+++ b/qsort_ucharp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ucharp_nul(unsigned char *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint.c b/qsort_uint.c
new file mode 100644
index 0000000..138dbf0
--- /dev/null
+++ b/qsort_uint.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint(unsigned int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint16.c b/qsort_uint16.c
new file mode 100644
index 0000000..790c4db
--- /dev/null
+++ b/qsort_uint16.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint16(uint16_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint16p.c b/qsort_uint16p.c
new file mode 100644
index 0000000..0c54106
--- /dev/null
+++ b/qsort_uint16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint16p(uint16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint16p_nul.c b/qsort_uint16p_nul.c
new file mode 100644
index 0000000..f1e4782
--- /dev/null
+++ b/qsort_uint16p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint16p_nul(uint16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint32.c b/qsort_uint32.c
new file mode 100644
index 0000000..9d14c06
--- /dev/null
+++ b/qsort_uint32.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint32(uint32_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint32p.c b/qsort_uint32p.c
new file mode 100644
index 0000000..5aff426
--- /dev/null
+++ b/qsort_uint32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint32p(uint32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint32p_nul.c b/qsort_uint32p_nul.c
new file mode 100644
index 0000000..eb0c6f1
--- /dev/null
+++ b/qsort_uint32p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint32p_nul(uint32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint64.c b/qsort_uint64.c
new file mode 100644
index 0000000..7a8ffd6
--- /dev/null
+++ b/qsort_uint64.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint64(uint64_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint64p.c b/qsort_uint64p.c
new file mode 100644
index 0000000..bb1bac1
--- /dev/null
+++ b/qsort_uint64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint64p(uint64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint64p_nul.c b/qsort_uint64p_nul.c
new file mode 100644
index 0000000..7998606
--- /dev/null
+++ b/qsort_uint64p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint64p_nul(uint64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint8.c b/qsort_uint8.c
new file mode 100644
index 0000000..157ba79
--- /dev/null
+++ b/qsort_uint8.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint8(uint8_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint8p.c b/qsort_uint8p.c
new file mode 100644
index 0000000..ec6ab25
--- /dev/null
+++ b/qsort_uint8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint8p(uint8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint8p_nul.c b/qsort_uint8p_nul.c
new file mode 100644
index 0000000..fe1713d
--- /dev/null
+++ b/qsort_uint8p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint8p_nul(uint8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least16.c b/qsort_uint_least16.c
new file mode 100644
index 0000000..969c37b
--- /dev/null
+++ b/qsort_uint_least16.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least16(uint_least16_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least16p.c b/qsort_uint_least16p.c
new file mode 100644
index 0000000..85b91d7
--- /dev/null
+++ b/qsort_uint_least16p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least16p(uint_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least16p_nul.c b/qsort_uint_least16p_nul.c
new file mode 100644
index 0000000..02a3b9b
--- /dev/null
+++ b/qsort_uint_least16p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least16p_nul(uint_least16_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least32.c b/qsort_uint_least32.c
new file mode 100644
index 0000000..916acfd
--- /dev/null
+++ b/qsort_uint_least32.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least32(uint_least32_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least32p.c b/qsort_uint_least32p.c
new file mode 100644
index 0000000..8442668
--- /dev/null
+++ b/qsort_uint_least32p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least32p(uint_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least32p_nul.c b/qsort_uint_least32p_nul.c
new file mode 100644
index 0000000..fe1df12
--- /dev/null
+++ b/qsort_uint_least32p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least32p_nul(uint_least32_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least64.c b/qsort_uint_least64.c
new file mode 100644
index 0000000..46fede6
--- /dev/null
+++ b/qsort_uint_least64.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least64(uint_least64_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least64p.c b/qsort_uint_least64p.c
new file mode 100644
index 0000000..0244c00
--- /dev/null
+++ b/qsort_uint_least64p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least64p(uint_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least64p_nul.c b/qsort_uint_least64p_nul.c
new file mode 100644
index 0000000..3c672d1
--- /dev/null
+++ b/qsort_uint_least64p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least64p_nul(uint_least64_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least8.c b/qsort_uint_least8.c
new file mode 100644
index 0000000..d2e114f
--- /dev/null
+++ b/qsort_uint_least8.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least8(uint_least8_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least8p.c b/qsort_uint_least8p.c
new file mode 100644
index 0000000..8bbe92d
--- /dev/null
+++ b/qsort_uint_least8p.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least8p(uint_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uint_least8p_nul.c b/qsort_uint_least8p_nul.c
new file mode 100644
index 0000000..d63a17d
--- /dev/null
+++ b/qsort_uint_least8p_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uint_least8p_nul(uint_least8_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uintmax.c b/qsort_uintmax.c
new file mode 100644
index 0000000..d5e52b7
--- /dev/null
+++ b/qsort_uintmax.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uintmax(uintmax_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uintmaxp.c b/qsort_uintmaxp.c
new file mode 100644
index 0000000..644a05b
--- /dev/null
+++ b/qsort_uintmaxp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uintmaxp(uintmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uintmaxp_nul.c b/qsort_uintmaxp_nul.c
new file mode 100644
index 0000000..0f23f23
--- /dev/null
+++ b/qsort_uintmaxp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uintmaxp_nul(uintmax_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uintp.c b/qsort_uintp.c
new file mode 100644
index 0000000..2a85247
--- /dev/null
+++ b/qsort_uintp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uintp(unsigned int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uintp_nul.c b/qsort_uintp_nul.c
new file mode 100644
index 0000000..0c254d7
--- /dev/null
+++ b/qsort_uintp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uintp_nul(unsigned int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uintptr.c b/qsort_uintptr.c
new file mode 100644
index 0000000..74f4a2e
--- /dev/null
+++ b/qsort_uintptr.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uintptr(uintptr_t[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uintptrp.c b/qsort_uintptrp.c
new file mode 100644
index 0000000..ff265e6
--- /dev/null
+++ b/qsort_uintptrp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uintptrp(uintptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_uintptrp_nul.c b/qsort_uintptrp_nul.c
new file mode 100644
index 0000000..1110912
--- /dev/null
+++ b/qsort_uintptrp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_uintptrp_nul(uintptr_t *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ullong.c b/qsort_ullong.c
new file mode 100644
index 0000000..dd6d640
--- /dev/null
+++ b/qsort_ullong.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ullong(unsigned long long int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ullongp.c b/qsort_ullongp.c
new file mode 100644
index 0000000..e3b77a2
--- /dev/null
+++ b/qsort_ullongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ullongp(unsigned long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ullongp_nul.c b/qsort_ullongp_nul.c
new file mode 100644
index 0000000..7cf4498
--- /dev/null
+++ b/qsort_ullongp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ullongp_nul(unsigned long long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ulong.c b/qsort_ulong.c
new file mode 100644
index 0000000..061027e
--- /dev/null
+++ b/qsort_ulong.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ulong(unsigned long int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ulongp.c b/qsort_ulongp.c
new file mode 100644
index 0000000..365d122
--- /dev/null
+++ b/qsort_ulongp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ulongp(unsigned long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ulongp_nul.c b/qsort_ulongp_nul.c
new file mode 100644
index 0000000..7a80bed
--- /dev/null
+++ b/qsort_ulongp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ulongp_nul(unsigned long int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ushort.c b/qsort_ushort.c
new file mode 100644
index 0000000..52adac6
--- /dev/null
+++ b/qsort_ushort.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ushort(unsigned short int[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ushortp.c b/qsort_ushortp.c
new file mode 100644
index 0000000..74c8d1f
--- /dev/null
+++ b/qsort_ushortp.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ushortp(unsigned short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif
diff --git a/qsort_ushortp_nul.c b/qsort_ushortp_nul.c
new file mode 100644
index 0000000..4638147
--- /dev/null
+++ b/qsort_ushortp_nul.c
@@ -0,0 +1,18 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+extern inline void libsimple_qsort_ushortp_nul(unsigned short int *[], size_t);
+
+
+#else
+#include "test.h"
+
+int
+main(void)
+{
+ return 0;
+}
+
+#endif