diff options
author | zelig <viktor.tron@gmail.com> | 2014-06-29 23:26:58 +0800 |
---|---|---|
committer | zelig <viktor.tron@gmail.com> | 2014-06-29 23:26:58 +0800 |
commit | 707d413761927f5ad95298e666e297b820ad0901 (patch) | |
tree | 347ffb4f9e1c6694cf1d2b1d5892e297c98d2e94 /ethtrie/slice.go | |
parent | 4be3521727698141512eb6454121302bd3b9cc6d (diff) | |
download | go-tangerine-707d413761927f5ad95298e666e297b820ad0901.tar go-tangerine-707d413761927f5ad95298e666e297b820ad0901.tar.gz go-tangerine-707d413761927f5ad95298e666e297b820ad0901.tar.bz2 go-tangerine-707d413761927f5ad95298e666e297b820ad0901.tar.lz go-tangerine-707d413761927f5ad95298e666e297b820ad0901.tar.xz go-tangerine-707d413761927f5ad95298e666e297b820ad0901.tar.zst go-tangerine-707d413761927f5ad95298e666e297b820ad0901.zip |
refactor ethutil/trie to ethtrie
Diffstat (limited to 'ethtrie/slice.go')
-rw-r--r-- | ethtrie/slice.go | 26 |
1 files changed, 26 insertions, 0 deletions
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 +} |