{-# OPTIONS_GHC -fno-warn-orphans #-}

module Futhark.IR.GPUTests () where

import Data.String
import Futhark.IR.GPU
import Futhark.IR.Parse
import Futhark.IR.SyntaxTests (parseString)

-- There isn't anything to test in this module, but we define some
-- convenience instances.

instance IsString (Stm GPU) where
  fromString :: String -> Stm GPU
fromString = String
-> (String -> Text -> Either Text (Stm GPU)) -> String -> Stm GPU
forall a.
String -> (String -> Text -> Either Text a) -> String -> a
parseString String
"Stm GPU" String -> Text -> Either Text (Stm GPU)
parseStmGPU

instance IsString (Body GPU) where
  fromString :: String -> Body GPU
fromString = String
-> (String -> Text -> Either Text (Body GPU)) -> String -> Body GPU
forall a.
String -> (String -> Text -> Either Text a) -> String -> a
parseString String
"Body GPU" String -> Text -> Either Text (Body GPU)
parseBodyGPU

instance IsString (Prog GPU) where
  fromString :: String -> Prog GPU
fromString = (VNameSource, Prog GPU) -> Prog GPU
forall a b. (a, b) -> b
snd ((VNameSource, Prog GPU) -> Prog GPU)
-> (String -> (VNameSource, Prog GPU)) -> String -> Prog GPU
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String
-> (String -> Text -> Either Text (VNameSource, Prog GPU))
-> String
-> (VNameSource, Prog GPU)
forall a.
String -> (String -> Text -> Either Text a) -> String -> a
parseString String
"Prog GPU" String -> Text -> Either Text (VNameSource, Prog GPU)
parseGPU