// (c) Microsoft Corporation 2005-2009. namespace Microsoft.FSharp open System open System.Linq [] type FuncConvertExtensions = [] static member ToFastFunc( f : Action<_,_>) = (fun a1 a2 -> f.Invoke(a1,a2)) [] static member ToFastFunc( f : Func<_>) = (fun () -> f.Invoke()) [] static member ToFastFunc( f : Func<_,_>) = (fun a1 -> f.Invoke(a1)) [] static member ToFastFunc( f : Func<_,_,_>) = (fun a1 a2 -> f.Invoke(a1,a2)) [] static member ToFastFunc( f : Action<_,_,_>) = (fun a1 a2 a3 -> f.Invoke(a1,a2,a3)) [] static member ToFastFunc( f : Func<_,_,_,_>) = (fun a1 a2 a3 -> f.Invoke(a1,a2,a3)) [] static member ToFastFunc( f : Action<_,_,_,_>) = (fun a1 a2 a3 a4 -> f.Invoke(a1,a2,a3,a4)) [] static member ToFastFunc( f : Func<_,_,_,_,_>) = (fun a1 a2 a3 a4 -> f.Invoke(a1,a2,a3,a4)) [] static member ToTupledFastFunc( f : Func<_>) = (fun () -> f.Invoke()) [] static member ToTupledFastFunc( f : Func<_,_>) = (fun a1 -> f.Invoke(a1)) [] static member ToTupledFastFunc( f : Action<_,_>) = (fun (a1,a2) -> f.Invoke(a1,a2)) [] static member ToTupledFastFunc( f : Func<_,_,_>) = (fun (a1,a2) -> f.Invoke(a1,a2)) [] static member ToTupledFastFunc( f : Action<_,_,_>) = (fun (a1,a2,a3) -> f.Invoke(a1,a2,a3)) [] static member ToTupledFastFunc( f : Func<_,_,_,_>) = (fun (a1,a2,a3) -> f.Invoke(a1,a2,a3)) [] static member ToTupledFastFunc( f : Action<_,_,_,_>) = (fun (a1,a2,a3,a4) -> f.Invoke(a1,a2,a3,a4)) [] static member ToTupledFastFunc( f : Func<_,_,_,_,_>) = (fun (a1,a2,a3,a4) -> f.Invoke(a1,a2,a3,a4))