22
33open Expecto
44open Expecto.Logging
5- open Brahma.FSharp
65open GraphBLAS.FSharp .Tests
76open GraphBLAS.FSharp .Tests .Context
87open GraphBLAS.FSharp .Tests .TestCases
@@ -22,7 +21,10 @@ let logger = Log.create "kronecker.Tests"
2221
2322let workGroupSize = Utils.defaultWorkGroupSize
2423
25- let makeTest context processor zero isEqual op kroneckerFun ( leftMatrix : 'a [,], rightMatrix : 'a [,]) =
24+ let makeTest testContext zero isEqual op kroneckerFun ( leftMatrix : 'a [,], rightMatrix : 'a [,]) =
25+ let context = testContext.ClContext
26+ let processor = testContext.Queue
27+
2628 let m1 =
2729 Utils.createMatrixFromArray2D CSR leftMatrix ( isEqual zero)
2830
@@ -49,7 +51,7 @@ let makeTest context processor zero isEqual op kroneckerFun (leftMatrix: 'a [,],
4951 kroneckerFun processor ClContext.HostInterop m1 m2
5052
5153 let actual =
52- Option.bind ( fun ( m : ClMatrix < 'a >) -> m.ToHost processor |> Some ) result
54+ Option.map ( fun ( m : ClMatrix < 'a >) -> m.ToHost processor) result
5355
5456 m1.Dispose processor
5557 m2.Dispose processor
@@ -62,34 +64,29 @@ let makeTest context processor zero isEqual op kroneckerFun (leftMatrix: 'a [,],
6264 " Matrices should be equal"
6365 |> Expect.equal actual expectedOption
6466
65- let createGeneralTest ( context : ClContext ) ( processor : MailboxProcessor < Msg >) ( zero : 'a ) isEqual op opQ testName =
66-
67- let kronecker =
68- Matrix.kronecker opQ context workGroupSize
69-
70- makeTest context processor zero isEqual op kronecker
67+ let createGeneralTest testContext ( zero : 'a ) isEqual op opQ testName =
68+ Matrix.kronecker opQ testContext.ClContext workGroupSize
69+ |> makeTest testContext zero isEqual op
7170 |> testPropertyWithConfig config $" test on %A {typeof<'a>} %s {testName}"
7271
7372let generalTests ( testContext : TestContext ) =
74- [ let context = testContext.ClContext
75- let queue = testContext.Queue
76- queue.Error.Add( fun e -> failwithf " %A " e)
73+ [ testContext.Queue.Error.Add( fun e -> failwithf " %A " e)
7774
78- createGeneralTest context queue false (=) (&&) ArithmeticOperations.boolMulOption " mul"
79- createGeneralTest context queue false (=) (||) ArithmeticOperations.boolSumOption " sum"
75+ createGeneralTest testContext false (=) (&&) ArithmeticOperations.boolMulOption " mul"
76+ createGeneralTest testContext false (=) (||) ArithmeticOperations.boolSumOption " sum"
8077
81- createGeneralTest context queue 0 (=) (*) ArithmeticOperations.intMulOption " mul"
82- createGeneralTest context queue 0 (=) (+) ArithmeticOperations.intSumOption " sum"
78+ createGeneralTest testContext 0 (=) (*) ArithmeticOperations.intMulOption " mul"
79+ createGeneralTest testContext 0 (=) (+) ArithmeticOperations.intSumOption " sum"
8380
84- createGeneralTest context queue 0 uy (=) (*) ArithmeticOperations.byteMulOption " mul"
85- createGeneralTest context queue 0 uy (=) (+) ArithmeticOperations.byteSumOption " sum"
81+ createGeneralTest testContext 0 uy (=) (*) ArithmeticOperations.byteMulOption " mul"
82+ createGeneralTest testContext 0 uy (=) (+) ArithmeticOperations.byteSumOption " sum"
8683
87- createGeneralTest context queue 0.0 f Utils.float32IsEqual (*) ArithmeticOperations.float32MulOption " mul"
88- createGeneralTest context queue 0.0 f Utils.float32IsEqual (+) ArithmeticOperations.float32SumOption " sum"
84+ createGeneralTest testContext 0.0 f Utils.float32IsEqual (*) ArithmeticOperations.float32MulOption " mul"
85+ createGeneralTest testContext 0.0 f Utils.float32IsEqual (+) ArithmeticOperations.float32SumOption " sum"
8986
90- if Utils.isFloat64Available context .ClDevice then
91- createGeneralTest context queue 0.0 Utils.floatIsEqual (*) ArithmeticOperations.floatMulOption " mul"
92- createGeneralTest context queue 0.0 Utils.floatIsEqual (+) ArithmeticOperations.floatSumOption " sum" ]
87+ if Utils.isFloat64Available testContext.ClContext .ClDevice then
88+ createGeneralTest testContext 0.0 Utils.floatIsEqual (*) ArithmeticOperations.floatMulOption " mul"
89+ createGeneralTest testContext 0.0 Utils.floatIsEqual (+) ArithmeticOperations.floatSumOption " sum" ]
9390
9491let tests =
9592 gpuTests " Backend.Matrix.kronecker tests" generalTests
0 commit comments