# Exercise: Integer Operations
#
# Integer operations use the `i.` prefix:
#   i.+       Add
#   i.-  Subtract
#   i.*  Multiply
#   i./    Divide (returns quotient and success Bool)
#   i.mod       Modulo (returns remainder and success Bool)
#
# Division and modulo return (value Bool) to handle division by zero.
# These operations require both operands to be integers.
#
# Your task: Perform integer arithmetic
# When done, delete the marker line below.

# I AM NOT DONE

: test-int-add ( -- )
    # Addition: 15 + 7 = 22
    # Your code here - add the values together.
    0
    # Do not edit below this line
    22 test.assert-eq
;

: test-int-multiply ( -- )
    # Multiplication: 6 * 7 = 42
    # Your code here - multiply the values.
    0
    # Do not edit below this line
    42 test.assert-eq
;

: test-int-divide ( -- )
    # Integer division: 17 / 5 = 3 (truncates)
    # Your code here - divide them. The operator returns a quotient
    # together with a success Bool.
    0 false
    # Do not edit below this line
    test.assert
    3 test.assert-eq
;

: test-int-mod ( -- )
    # Modulo: 17 mod 5 = 2 (remainder)
    # Your code here - take the modulo. As with division, it returns
    # a value and a success Bool.
    0 false
    # Do not edit below this line
    test.assert
    2 test.assert-eq
;
