func-math.go: use of ExtIterator to perform clean operation

This commit is contained in:
Celestino Amoroso 2024-05-04 00:33:38 +02:00
parent a838361ea8
commit 5cf0bfbad4

View File

@ -28,8 +28,8 @@ func doAdd(ctx ExprContext, name string, it Iterator) (result any, err error) {
if v, err = doAdd(ctx, name, subIter); err != nil { if v, err = doAdd(ctx, name, subIter); err != nil {
break break
} }
if subIter.HasOperation(cleanName) { if extIter, ok := v.(ExtIterator); ok && extIter.HasOperation(cleanName) {
if _, err = subIter.CallOperation(cleanName, nil); err != nil { if _, err = extIter.CallOperation(cleanName, nil); err != nil {
return return
} }
} }
@ -103,8 +103,8 @@ func doMul(ctx ExprContext, name string, it Iterator) (result any, err error) {
if v, err = doMul(ctx, name, subIter); err != nil { if v, err = doMul(ctx, name, subIter); err != nil {
break break
} }
if subIter.HasOperation(cleanName) { if extIter, ok := v.(ExtIterator); ok && extIter.HasOperation(cleanName) {
if _, err = subIter.CallOperation(cleanName, nil); err != nil { if _, err = extIter.CallOperation(cleanName, nil); err != nil {
return return
} }
} }