From 8384f8f68be1b7bf08a6cc341ab8ebe2dae9426c Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Thu, 4 Aug 2022 15:19:03 -0400 Subject: [PATCH] Update Data.NumIdr.Scalar --- src/Data/NumIdr/Scalar.idr | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Data/NumIdr/Scalar.idr b/src/Data/NumIdr/Scalar.idr index 2e34740..d4f9d42 100644 --- a/src/Data/NumIdr/Scalar.idr +++ b/src/Data/NumIdr/Scalar.idr @@ -8,7 +8,7 @@ import public Data.NumIdr.Array %default total ||| Scalars are `Array []`, the unique 0-rank array type. They hold a single value. -||| Scalars are not particularly useful as container types, but they are +||| Scalars are not particularly useful as data structures, but they are ||| included here anyways. public export Scalar : Type -> Type @@ -29,3 +29,11 @@ unwrap = index 0 . getPrim export Num a => Mult (Scalar a) (Scalar a) (Scalar a) where (*.) = (*) + +export +Num a => MultMonoid (Scalar a) where + identity = scalar 1 + +export +Fractional a => MultGroup (Scalar a) where + inverse = recip