From 51f4f6c8c7284da50d5334021b011343c4d35928 Mon Sep 17 00:00:00 2001 From: Katharine Hyatt Date: Fri, 7 Aug 2026 17:30:03 +0200 Subject: [PATCH] Add a FiniteDifferences extension --- Project.toml | 3 +++ ext/StridedViewsFiniteDifferencesExt.jl | 12 ++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 ext/StridedViewsFiniteDifferencesExt.jl diff --git a/Project.toml b/Project.toml index 68fd3cf..8d9c4a3 100644 --- a/Project.toml +++ b/Project.toml @@ -11,6 +11,7 @@ PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" CUDACore = "bd0ed864-bdfe-4181-a5ed-ce625a5fdea2" +FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000" JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb" Metal = "dde4c033-4e86-420c-a63e-0dd931031962" PtrArrays = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" @@ -18,6 +19,7 @@ PtrArrays = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" [extensions] StridedViewsAMDGPUExt = "AMDGPU" StridedViewsCUDACoreExt = "CUDACore" +StridedViewsFiniteDifferencesExt = "FiniteDifferences" StridedViewsJLArraysExt = "JLArrays" StridedViewsPtrArraysExt = "PtrArrays" StridedViewsAdaptExt = "Adapt" @@ -26,6 +28,7 @@ StridedViewsAdaptExt = "Adapt" AMDGPU = "2" Adapt = "4" CUDACore = "6" +FiniteDifferences = "0.12" JLArrays = "0.3.1" LinearAlgebra = "1" Metal = "1" diff --git a/ext/StridedViewsFiniteDifferencesExt.jl b/ext/StridedViewsFiniteDifferencesExt.jl new file mode 100644 index 0000000..e5a04ab --- /dev/null +++ b/ext/StridedViewsFiniteDifferencesExt.jl @@ -0,0 +1,12 @@ +module StridedViewsFiniteDifferencesExt + +using StridedViews: StridedView +using FiniteDifferences + +function FiniteDifferences.to_vec(x::StridedView) + x_vec, from_vec = FiniteDifferences.to_vec(Array(x)) + StridedView_from_vec(x_vec) = StridedView(from_vec(x_vec)) + return x_vec, StridedView_from_vec +end + +end