From 707d413761927f5ad95298e666e297b820ad0901 Mon Sep 17 00:00:00 2001 From: zelig Date: Sun, 29 Jun 2014 16:26:58 +0100 Subject: refactor ethutil/trie to ethtrie --- ethtrie/slice.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 ethtrie/slice.go (limited to 'ethtrie/slice.go') diff --git a/ethtrie/slice.go b/ethtrie/slice.go new file mode 100644 index 000000000..b9d5d1285 --- /dev/null +++ b/ethtrie/slice.go @@ -0,0 +1,26 @@ +package ethtrie + +import () + +// Helper function for comparing slices +func CompareIntSlice(a, b []int) bool { + if len(a) != len(b) { + return false + } + for i, v := range a { + if v != b[i] { + return false + } + } + return true +} + +// Returns the amount of nibbles that match each other from 0 ... +func MatchingNibbleLength(a, b []int) int { + i := 0 + for CompareIntSlice(a[:i+1], b[:i+1]) && i < len(b) { + i += 1 + } + + return i +} -- cgit