diff --git a/Makefile b/Makefile index c664ba0763..64b55cf2ba 100644 --- a/Makefile +++ b/Makefile @@ -527,8 +527,12 @@ ifeq ($(shell expr $(CHPL_MINOR) \= 2),1) ARKOUDA_COMPAT_MODULES += -M $(ARKOUDA_SOURCE_DIR)/compat/eq-22 endif -ifeq ($(shell expr $(CHPL_MINOR) \>= 3),1) - ARKOUDA_COMPAT_MODULES += -M $(ARKOUDA_SOURCE_DIR)/compat/ge-23 +ifeq ($(shell expr $(CHPL_MINOR) \= 3),1) + ARKOUDA_COMPAT_MODULES += -M $(ARKOUDA_SOURCE_DIR)/compat/eq-23 +endif + +ifeq ($(shell expr $(CHPL_MINOR) \>= 4),1) + ARKOUDA_COMPAT_MODULES += -M $(ARKOUDA_SOURCE_DIR)/compat/ge-24 endif ifeq ($(shell expr $(CHPL_MINOR) \>= 2),1) diff --git a/src/compat/eq-23/ArkoudaPythonCompat.chpl b/src/compat/eq-23/ArkoudaPythonCompat.chpl new file mode 100644 index 0000000000..df0e425244 --- /dev/null +++ b/src/compat/eq-23/ArkoudaPythonCompat.chpl @@ -0,0 +1,8 @@ +module ArkoudaPythonCompat { + proc pythonModuleSupported param do return false; + + class Interpreter {} + class Value {} + class Function: Value {} + class Module: Value {} +} diff --git a/src/compat/ge-23/ArkoudaSortCompat.chpl b/src/compat/eq-23/ArkoudaSortCompat.chpl similarity index 100% rename from src/compat/ge-23/ArkoudaSortCompat.chpl rename to src/compat/eq-23/ArkoudaSortCompat.chpl diff --git a/src/compat/ge-23/ArkoudaSparseMatrixCompat.chpl b/src/compat/eq-23/ArkoudaSparseMatrixCompat.chpl similarity index 100% rename from src/compat/ge-23/ArkoudaSparseMatrixCompat.chpl rename to src/compat/eq-23/ArkoudaSparseMatrixCompat.chpl diff --git a/src/compat/ge-23/ArkoudaPythonCompat.chpl b/src/compat/ge-24/ArkoudaPythonCompat.chpl similarity index 100% rename from src/compat/ge-23/ArkoudaPythonCompat.chpl rename to src/compat/ge-24/ArkoudaPythonCompat.chpl diff --git a/src/compat/ge-24/ArkoudaSortCompat.chpl b/src/compat/ge-24/ArkoudaSortCompat.chpl new file mode 100644 index 0000000000..7d9c338766 --- /dev/null +++ b/src/compat/ge-24/ArkoudaSortCompat.chpl @@ -0,0 +1,3 @@ +module ArkoudaSortCompat { + public use Sort; +} diff --git a/src/compat/ge-24/ArkoudaSparseMatrixCompat.chpl b/src/compat/ge-24/ArkoudaSparseMatrixCompat.chpl new file mode 100644 index 0000000000..e94f38f421 --- /dev/null +++ b/src/compat/ge-24/ArkoudaSparseMatrixCompat.chpl @@ -0,0 +1,25 @@ +module ArkoudaSparseMatrixCompat { + use CompressedSparseLayout; + import SparseMatrix.SpsMatUtil.Layout; + use BlockDist; + + proc getSparseDom(param layout: Layout) { + select layout { + when Layout.CSR do return new csrLayout(); + when Layout.CSC do return new cscLayout(); + } + } + + // see: https://github.com/chapel-lang/chapel/issues/26209 + proc getDenseDom(dom, localeGrid, param layout: Layout) { + if layout == Layout.CSR { + return dom dmapped new blockDist(boundingBox=dom, + targetLocales=localeGrid, + sparseLayoutType=csrLayout); + } else { + return dom dmapped new blockDist(boundingBox=dom, + targetLocales=localeGrid, + sparseLayoutType=cscLayout); + } + } +}