public FastFunc <int, int> CurriedStyle(int x) { Converter <int, int> d = delegate(int y) { return(x + y); }; return(FuncConvert.ToFastFunc(d)); }
public static Async <Unit> BuildVoidPrimitive( Func <AsyncCallback, object, IAsyncResult> begin, Action <IAsyncResult> end) { return(Async.BuildPrimitive( begin.ToTupledFastFunc(), FuncConvert.ToFastFunc(end))); }
public void foldl0() { string seed = "hi mom"; List <string> values = Helper <string> .mkList(); FastFunc <string, FastFunc <string, string> > fn = FuncConvert.ToFastFunc((Converter <string, string, string>) delegate(string a, string b) { throw new Exception("should never be invoked"); }); string result = Zumbro.foldl <string, string>(fn, seed, values); Assert.AreEqual(seed, result); }
public void foldl1() { int seed = 64; List <int> values = Helper <int> .mkList(4, 2, 4); FastFunc <int, FastFunc <int, int> > fn = FuncConvert.ToFastFunc((Converter <int, int, int>) delegate(int a, int b) { return(a / b); }); int result = Zumbro.foldl <int, int>(fn, seed, values); Assert.AreEqual(2, result); }
public void map() { FastFunc <int, int> fn = FuncConvert.ToFastFunc((Converter <int, int>) delegate(int a) { return(a * a); }); List <int> vals = Helper <int> .mkList(1, 2, 3); List <int> res = Zumbro.map <int, int>(fn, vals); Assert.AreEqual(res.Length, 3); Assert.AreEqual(1, res.Head); Assert.AreEqual(4, res.Tail.Head); Assert.AreEqual(9, res.Tail.Tail.Head); }
static void MapOne() { List <string> l = new List <string>( new string[] { "Stefany", "Oussama", "Sebastien", "Frederik" }); Converter <string, bool> pred = delegate(string s) { return(s.StartsWith("S")); }; FastFunc <string, bool> ff = FuncConvert.ToFastFunc <string, bool>(pred); IEnumerable <string> ie = DemoModule.filterStringList(ff, l); foreach (string s in ie) { Console.WriteLine(s); } }