Add vector Replicate

This commit is contained in:
Smaug123
2020-05-08 17:56:31 +01:00
parent 2cce5b93e4
commit 53a9cd6fa5
3 changed files with 128 additions and 4 deletions

View File

@@ -67,3 +67,90 @@ module TestVector =
|> Vector.cast
|> Vector.cast
|> shouldEqual otherTwice
[<Test>]
let ``Vector replication`` () =
let v1 = 6 ** 5 ** 3 ** -()
let v2 = () ** () ** -()
let u = Vector.replicate v2 v1
let expected = 6 ** 5 ** 3 ** 6 ** 5 ** 3 ** -()
u
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> shouldEqual expected
let v1 = 6 ** 5 ** -()
let six = Vector.replicate (() ** () ** () ** -()) (() ** () ** -())
let u = Vector.replicate six v1
let expected =
6 ** 5
** 6 ** 5
** 6 ** 5
** 6 ** 5
** 6 ** 5
** 6 ** 5
** -()
u
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> Vector.cast
|> shouldEqual expected