{-# LANGUAGE FlexibleContexts #-}
module Data.Array.Accelerate.CUFFT.RealClass where

import qualified Data.Array.Accelerate as A

import qualified Prelude as P
import Prelude (Float, Double)


class (P.RealFloat e, A.RealFloat e, A.FromIntegral P.Int e) => Real e where
   switch :: f Float -> f Double -> f e

instance Real Float  where switch f _ = f
instance Real Double where switch _ f = f