@@ -1160,6 +1160,64 @@ module Generators =
11601160 pairOfVectorsOfEqualSize <| Arb.generate< bool>
11611161 |> Arb.fromGen
11621162
1163+ type UpperBound () =
1164+ static let arrayAndChunkPosition ( valuesGenerator : Gen < 'a >) =
1165+ gen {
1166+ let! size = Gen.sized <| fun size -> Gen.choose ( 1 , size + 1 )
1167+
1168+ let! array = Gen.arrayOfLength size valuesGenerator
1169+
1170+ let! valueIndex = Gen.choose ( 0 , array.Length - 1 )
1171+
1172+ let value = array.[ valueIndex]
1173+
1174+ return ( array, value)
1175+ }
1176+
1177+ static member IntType () =
1178+ arrayAndChunkPosition <| Arb.generate< int>
1179+ |> Arb.fromGen
1180+
1181+ static member FloatType () =
1182+ arrayAndChunkPosition
1183+ <| ( Arb.Default.NormalFloat()
1184+ |> Arb.toGen
1185+ |> Gen.map float)
1186+ |> Arb.fromGen
1187+
1188+ static member Float32Type () =
1189+ arrayAndChunkPosition
1190+ <| ( normalFloat32Generator <| System.Random())
1191+ |> Arb.fromGen
1192+
1193+ static member SByteType () =
1194+ arrayAndChunkPosition <| Arb.generate< sbyte>
1195+ |> Arb.fromGen
1196+
1197+ static member ByteType () =
1198+ arrayAndChunkPosition <| Arb.generate< byte>
1199+ |> Arb.fromGen
1200+
1201+ static member Int16Type () =
1202+ arrayAndChunkPosition <| Arb.generate< int16>
1203+ |> Arb.fromGen
1204+
1205+ static member UInt16Type () =
1206+ arrayAndChunkPosition <| Arb.generate< uint16>
1207+ |> Arb.fromGen
1208+
1209+ static member Int32Type () =
1210+ arrayAndChunkPosition <| Arb.generate< int32>
1211+ |> Arb.fromGen
1212+
1213+ static member UInt32Type () =
1214+ arrayAndChunkPosition <| Arb.generate< uint32>
1215+ |> Arb.fromGen
1216+
1217+ static member BoolType () =
1218+ arrayAndChunkPosition <| Arb.generate< bool>
1219+ |> Arb.fromGen
1220+
11631221 module Matrix =
11641222 type Sub () =
11651223 static let arrayAndChunkPosition ( valuesGenerator : Gen < 'a >) =
0 commit comments