Browse Source

add quadsort and fluxsort (#1790)

* add quadsort and fluxsort

* disable some platforms

* fix quadsort

* Update xmake.lua
ruki 2 years ago
parent
commit
bd705be9db
2 changed files with 36 additions and 0 deletions
  1. 19 0
      packages/f/fluxsort/xmake.lua
  2. 17 0
      packages/q/quadsort/xmake.lua

+ 19 - 0
packages/f/fluxsort/xmake.lua

@@ -0,0 +1,19 @@
+package("fluxsort")
+    set_kind("library", {headeronly = true})
+    set_homepage("https://github.com/scandum/fluxsort")
+    set_description("A branchless stable quicksort / mergesort hybrid.")
+    set_license("MIT")
+
+    add_urls("https://github.com/scandum/fluxsort.git")
+    add_versions("2023.02.05", "de6041a9772eed62db5fd2c664b3294ea3037b4b")
+
+    on_install(function (package)
+        os.cp("src/fluxsort.c", package:installdir("include"))
+        os.cp("src/fluxsort.h", package:installdir("include"))
+        os.cp("src/quadsort.c", package:installdir("include"))
+        os.cp("src/quadsort.h", package:installdir("include"))
+    end)
+
+    on_test(function (package)
+        assert(package:has_cfuncs("fluxsort", {includes = "fluxsort.h"}))
+    end)

+ 17 - 0
packages/q/quadsort/xmake.lua

@@ -0,0 +1,17 @@
+package("quadsort")
+    set_kind("library", {headeronly = true})
+    set_homepage("https://github.com/scandum/quadsort")
+    set_description("Quadsort is a branchless stable adaptive mergesort faster than quicksort.")
+    set_license("MIT")
+
+    add_urls("https://github.com/scandum/quadsort.git")
+    add_versions("2023.02.03", "7b4e7b1489ab1c80eb97a90ae01deada7c740a46")
+
+    on_install(function (package)
+        os.cp("src/quadsort.c", package:installdir("include"))
+        os.cp("src/quadsort.h", package:installdir("include"))
+    end)
+
+    on_test(function (package)
+        assert(package:has_cfuncs("quadsort", {includes = "quadsort.h"}))
+    end)