Copyright | (c) Sirui Lu 2024 |
---|---|
License | BSD-3-Clause (see the LICENSE file) |
Maintainer | siruilu@cs.washington.edu |
Stability | Experimental |
Portability | GHC only |
Safe Haskell | None |
Language | Haskell2010 |
Grisette.Internal.Unified.Class.UnifiedSafeFdiv
Description
Synopsis
- safeFdiv :: forall (mode :: EvalModeTag) e a m. (MonadError e m, UnifiedSafeFdiv mode e a m) => a -> a -> m a
- class UnifiedSafeFdiv (mode :: EvalModeTag) e a (m :: Type -> Type) where
- withBaseUnifiedSafeFdiv :: (SafeFdiv e a m => r) -> r
Documentation
safeFdiv :: forall (mode :: EvalModeTag) e a m. (MonadError e m, UnifiedSafeFdiv mode e a m) => a -> a -> m a Source #
Unified safeFdiv
operation.
This function isn't able to infer the mode, so you need to provide the mode explicitly. For example:
safeFdiv @mode a b
class UnifiedSafeFdiv (mode :: EvalModeTag) e a (m :: Type -> Type) where Source #
A class that provides unified floating division operations.
We use this type class to help resolve the constraints for SafeFdiv
.
Methods
withBaseUnifiedSafeFdiv :: (SafeFdiv e a m => r) -> r Source #
Instances
(MonadError ArithException m, UnifiedBranching 'S m) => UnifiedSafeFdiv 'S ArithException SymAlgReal m Source # | |
Defined in Grisette.Internal.Unified.Class.UnifiedSafeFdiv Methods withBaseUnifiedSafeFdiv :: (SafeFdiv ArithException SymAlgReal m => r) -> r Source # | |
(MonadError ArithException m, UnifiedBranching mode m) => UnifiedSafeFdiv mode ArithException AlgReal m Source # | |
Defined in Grisette.Internal.Unified.Class.UnifiedSafeFdiv Methods withBaseUnifiedSafeFdiv :: (SafeFdiv ArithException AlgReal m => r) -> r Source # | |
(UnifiedBranching mode m, SafeFdiv e a m) => UnifiedSafeFdiv mode e a m Source # | |
Defined in Grisette.Internal.Unified.Class.UnifiedSafeFdiv Methods withBaseUnifiedSafeFdiv :: (SafeFdiv e a m => r) -> r Source # |