summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-07-17 21:01:51 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-07-17 21:01:51 -0600
commiteb76093d28930db57e6605babf542ee88ca5ee09 (patch)
treedff975994b735f78ab454b093968839d7268f9f6 /lib
parent705941183fbbf8e53c7dc13b2aab38855e6cb210 (diff)
optimize?
Diffstat (limited to 'lib')
-rw-r--r--lib/diskio/kmp.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/diskio/kmp.go b/lib/diskio/kmp.go
index 15537de..5f6e295 100644
--- a/lib/diskio/kmp.go
+++ b/lib/diskio/kmp.go
@@ -15,7 +15,7 @@ func kmpEq2[K ~int64, V comparable](aS Sequence[K, V], aI K, bS Sequence[K, V],
aV, aErr := aS.Get(aI)
bV, bErr := bS.Get(bI)
if aErr != nil {
- if errors.Is(aErr, ErrWildcard) {
+ if aErr == ErrWildcard || errors.Is(aErr, ErrWildcard) {
aV = bV
aErr = nil
} else {
@@ -23,7 +23,7 @@ func kmpEq2[K ~int64, V comparable](aS Sequence[K, V], aI K, bS Sequence[K, V],
}
}
if bErr != nil {
- if errors.Is(bErr, ErrWildcard) {
+ if bErr == ErrWildcard || errors.Is(bErr, ErrWildcard) {
bV = aV
bErr = nil
} else {
@@ -39,7 +39,7 @@ func kmpEq2[K ~int64, V comparable](aS Sequence[K, V], aI K, bS Sequence[K, V],
func kmpEq1[K ~int64, V comparable](aV V, bS Sequence[K, V], bI K) bool {
bV, bErr := bS.Get(bI)
if bErr != nil {
- if errors.Is(bErr, ErrWildcard) {
+ if bErr == ErrWildcard || errors.Is(bErr, ErrWildcard) {
return true
}
panic(bErr)
@@ -53,7 +53,7 @@ func kmpEq1[K ~int64, V comparable](aV V, bS Sequence[K, V], bI K) bool {
func buildKMPTable[K ~int64, V comparable](substr Sequence[K, V]) ([]K, error) {
var substrLen K
for {
- if _, err := substr.Get(substrLen); err != nil && !errors.Is(err, ErrWildcard) {
+ if _, err := substr.Get(substrLen); err != nil && !(err == ErrWildcard || errors.Is(err, ErrWildcard)) {
if errors.Is(err, io.EOF) {
break
}