summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/rpn/operations_stack.go16
1 files changed, 2 insertions, 14 deletions
diff --git a/internal/rpn/operations_stack.go b/internal/rpn/operations_stack.go
index c028ab7..99eaa8b 100644
--- a/internal/rpn/operations_stack.go
+++ b/internal/rpn/operations_stack.go
@@ -4,7 +4,6 @@
package rpn
import (
- "fmt"
"strings"
)
@@ -26,20 +25,9 @@ func (o *Operations) Swap(stack *Stack) error {
return err
}
- // Get the values without popping
- vals := stack.Values()
- top := vals[len(vals)-1]
- second := vals[len(vals)-2]
-
- // Pop both values
- if _, err := stack.Pop(); err != nil {
- return buildError("swap", fmt.Errorf("failed to pop top value: %w", err))
- }
- if _, err := stack.Pop(); err != nil {
- return buildError("swap", fmt.Errorf("failed to pop second value: %w", err))
- }
+ top, _ := stack.Pop()
+ second, _ := stack.Pop()
- // Push in swapped order
stack.Push(top)
stack.Push(second)