ext/numo/narray/gen/tmpl/qsort.c in numo-narray-0.9.0.4 vs ext/numo/narray/gen/tmpl/qsort.c in numo-narray-0.9.0.5

- old
+ new

@@ -1,9 +1,9 @@ /* qsort.c Numerical Array Extension for Ruby - (C) Copyright 2007-2016 by Masahiro TANAKA + (C) Copyright 2007-2017 by Masahiro TANAKA */ /* * qsort.c: standard quicksort algorithm * @@ -66,13 +66,20 @@ #undef qsort_dtype #define qsort_dtype <%=dtype%> #undef qsort_cast #define qsort_cast <%=dcast%> +<% if "#{suffix}" != "" %> +#undef cmp +#undef cmpgt +#define cmp(a,b) cmp<%=suffix%>(a,b) +#define cmpgt(a,b) cmpgt<%=suffix%>(a,b) +<% end %> +<% c_func(:nodef)%> void -<%=tp%>_qsort(void *a, size_t n, ssize_t es) +<%=type_name%>_qsort<%=suffix%>(void *a, size_t n, ssize_t es) { char *pa, *pb, *pc, *pd, *pl, *pm, *pn; int d, r, presorted; loop: @@ -132,10 +139,10 @@ r = Min(pa - (char *) a, pb - pa); vecswap(qsort_dtype, a, pb - r, r); r = Min(pd - pc, pn - pd - es); vecswap(qsort_dtype, pb, pn - r, r); if ((r = pb - pa) > es) - <%=tp%>_qsort(a, r / es, es); + <%=type_name%>_qsort<%=suffix%>(a, r / es, es); if ((r = pd - pc) > es) { a = pn - r; n = r / es; goto loop; }