*/
*/ (times-slash) — 곱하고 나누기
*/(star-slash)는 n1에 n2를 곱해 중간 더블 셀 결과를 만들고, 그것을 n3로 나누어 단일 셀 몫 n4를 구하는 코어 단어예요.
본문
스택 효과
( n1 n2 n3 -- n4 )
설명
n1에 n2를 곱해 중간 더블 셀 결과를 만들고, 그것을 n3로 나누어 단일 셀 몫 n4를 구해요. n3가 0이거나 중간 곱이 몫의 부호와 함께 정확히 표현될 수 없으면 애매한 조건이 존재해요. 중간 곱의 오버플로 때문에 몫이 단일 셀에 맞지 않으면 애매한 조건이 존재해요.
참조 (See)
- 3.2.2.1 Integer division(정수 나눗셈)
테스트 (Testing)
T{ 0 2 1 */ -> 0 }T
T{ 1 2 1 */ -> 2 }T
T{ 2 2 1 */ -> 4 }T
T{ -1 2 1 */ -> -2 }T
T{ -2 2 1 */ -> -4 }T
T{ 0 2 -1 */ -> 0 }T
T{ 1 2 -1 */ -> -2 }T
T{ 2 2 -1 */ -> -4 }T
T{ -1 2 -1 */ -> 2 }T
T{ -2 2 -1 */ -> 4 }T
T{ 2 2 2 */ -> 2 }T
T{ -1 -2 -1 */ -> -2 }T
T{ -2 -2 -1 */ -> -4 }T
T{ 7 3 2 */ -> 10 }T
T{ -7 3 2 */ -> -10 }T
T{ 7 -3 2 */ -> -10 }T
T{ -7 -3 2 */ -> 10 }T
T{ MAX-INT 2 MAX-INT */ -> 1 }T
T{ MAX-INT 1- 2 MAX-INT */ -> 1 }T