From f900b94798dbbcac23d95c64dd332dd8a2800337 Mon Sep 17 00:00:00 2001 From: Eli Belash Date: Mon, 30 Sep 2019 01:00:04 +0300 Subject: [PATCH] Binding.Util: Minor perf-ops and bug fix --- src/TensorFlowNET.Core/Binding.Util.cs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/TensorFlowNET.Core/Binding.Util.cs b/src/TensorFlowNET.Core/Binding.Util.cs index c3079e77..f7d1a4e0 100644 --- a/src/TensorFlowNET.Core/Binding.Util.cs +++ b/src/TensorFlowNET.Core/Binding.Util.cs @@ -168,7 +168,7 @@ namespace Tensorflow { var a = t1.AsIterator(); var b = t2.AsIterator(); - while (a.HasNext()) + while (a.HasNext() && b.HasNext()) yield return (a.MoveNext(), b.MoveNext()); } @@ -184,19 +184,14 @@ namespace Tensorflow { var a = t1.AsIterator(); var b = t2.AsIterator(); - while(a.HasNext()) + while(a.HasNext() && b.HasNext()) yield return (a.MoveNext(), b.MoveNext()); } public static IEnumerable<(T1, T2)> zip(IEnumerable e1, IEnumerable e2) { - var iter2 = e2.GetEnumerator(); - foreach (var v1 in e1) - { - iter2.MoveNext(); - var v2 = iter2.Current; + foreach (var (v1, v2) in e1.Zip(e2, (t1, t2) => (t1, t2))) yield return (v1, v2); - } } public static IEnumerable<(TKey, TValue)> enumerate(Dictionary values)