mirror of
https://github.com/Smaug123/WoofWare.PawPrint
synced 2025-10-05 14:18:40 +00:00
23 lines
609 B
Forth
23 lines
609 B
Forth
namespace WoofWare.PawPrint
|
|
|
|
open System.Collections.Immutable
|
|
|
|
[<RequireQualifiedAccess>]
|
|
module internal ImmutableArray =
|
|
|
|
let inline map ([<InlineIfLambda>] f : 'a -> 'b) (arr : ImmutableArray<'a>) : ImmutableArray<'b> =
|
|
let b = ImmutableArray.CreateBuilder ()
|
|
|
|
for i in arr do
|
|
b.Add (f i)
|
|
|
|
b.ToImmutable ()
|
|
|
|
let inline mapi ([<InlineIfLambda>] f : int -> 'a -> 'b) (arr : ImmutableArray<'a>) : ImmutableArray<'b> =
|
|
let b = ImmutableArray.CreateBuilder ()
|
|
|
|
for i = 0 to arr.Length - 1 do
|
|
b.Add (f i arr.[i])
|
|
|
|
b.ToImmutable ()
|