diff options
author | Tom Smeding <tom@tomsmeding.com> | 2024-06-09 23:09:19 +0200 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2024-06-09 23:09:19 +0200 |
commit | 1f3d57e13441f86b97ee7ff213bb4a677e31f2db (patch) | |
tree | e72bfd568b032a9af611118038c2eeb6f347ea22 /src/Data/Array/Nested/Internal/Shaped.hs | |
parent | c8f99847359a92289cf0ded280069794f6abae6a (diff) |
argmin and argmax
Diffstat (limited to 'src/Data/Array/Nested/Internal/Shaped.hs')
-rw-r--r-- | src/Data/Array/Nested/Internal/Shaped.hs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Data/Array/Nested/Internal/Shaped.hs b/src/Data/Array/Nested/Internal/Shaped.hs index 544a2fa..fae486b 100644 --- a/src/Data/Array/Nested/Internal/Shaped.hs +++ b/src/Data/Array/Nested/Internal/Shaped.hs @@ -373,6 +373,14 @@ sreshape sh' (Shaped arr) = Shaped (mreshape (shCvtSX sh') arr) siota :: (Enum a, PrimElt a) => SNat n -> Shaped '[n] a siota sn = Shaped (miota sn) +-- | Throws if the array is empty. +sargMinPrim :: (PrimElt a, NumElt a) => Shaped sh a -> IIxS sh +sargMinPrim sarr@(Shaped arr) = ixCvtXS (sshape (stoPrimitive sarr)) (margMinPrim arr) + +-- | Throws if the array is empty. +sargMaxPrim :: (PrimElt a, NumElt a) => Shaped sh a -> IIxS sh +sargMaxPrim sarr@(Shaped arr) = ixCvtXS (sshape (stoPrimitive sarr)) (margMaxPrim arr) + stoXArrayPrimP :: Shaped sh (Primitive a) -> (ShS sh, XArray (MapJust sh) a) stoXArrayPrimP (Shaped arr) = first shCvtXS' (mtoXArrayPrimP arr) |