<commit_before>module Typed(
    typed,
    
    testPropertyI,
    testPropertyDZ,
    testPropertyZ,
    
    immutableVector,
    ) where


import Data.Complex( Complex )
import Test.Framework
import Test.Framework.Providers.QuickCheck2
import Test.QuickCheck

import BLAS.Vector( Vector )
        

typed :: e -> a e -> a e
typed _ = id

immutableVector :: Vector e -> Vector e
immutableVector = id


testPropertyI :: (Testable a)
              => TestName
              -> (Int -> a)
              -> Test
testPropertyI str prop =
    testProperty str $ prop undefined

testPropertyDZ :: (Testable a, Testable b)
               => TestName
               -> (Double -> a)
               -> (Complex Double -> b)
               -> Test
testPropertyDZ str propd propz =
    testGroup str
        [ testProperty "Double" $ propd undefined
        , testProperty "Complex Double" $ propz undefined
        ]

testPropertyZ :: (Testable a, Testable b)
              => TestName
              -> (Double -> a)
              -> (Complex Double -> b)
              -> Test
testPropertyZ str propd propz =
    testGroup str
        [ testProperty "Complex Double" $ propz undefined
        ]
    
        <commit_msg>Redefine testPropertyZ<commit_after>module Typed(
    typed,
    
    testPropertyI,
    testPropertyDZ,
    testPropertyZ,
    
    immutableVector,
    ) where


import Data.Complex( Complex )
import Test.Framework
import Test.Framework.Providers.QuickCheck2
import Test.QuickCheck

import BLAS.Vector( Vector )
        

typed :: e -> a e -> a e
typed _ = id

immutableVector :: Vector e -> Vector e
immutableVector = id


testPropertyI :: (Testable a)
              => TestName
              -> (Int -> a)
              -> Test
testPropertyI str prop =
    testProperty str $ prop undefined

testPropertyDZ :: (Testable a, Testable b)
               => TestName
               -> (Double -> a)
               -> (Complex Double -> b)
               -> Test
testPropertyDZ str propd propz =
    testGroup str
        [ testProperty "Double" $ propd undefined
        , testProperty "Complex Double" $ propz undefined
        ]

testPropertyZ :: (Testable a)
              => TestName
              -> (Complex Double -> a)
              -> Test
testPropertyZ str prop =
    testProperty str $ prop undefined
        
{'fraction_non_alphanumeric': 0.08704974271012007, 'fraction_numerical': 0.0008576329331046312, 'mean_word_length': 1.8074608904933815, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 39, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1302045', 'n_tokens_mistral': 646, 'n_tokens_neox': 649, 'n_words': 191}