Googleμ μ¬μ©νμ¬ Rustμμ μ μ λλκΈ°κ° μ΄λ»κ² μλν΄μΌ νλμ§μ λν μ€λλ μΈμλ₯Ό λ§μ΄ μ°Ύμ μ μμ§λ§ μ°Έμ‘°, μ μ μ νμ λν API λ¬Έμ λλ Div
νΉμ±μ λν API λ¬Έμμμ λ€μκ³Ό κ°μ λ΄μ©μ μ°Ύμ μ μμ΅λλ€. μ€μ λ‘ κ²°μ λ κ². (κ·Έλ¦¬κ³ λ¬Έμλ /
, checked_div
λ° wrapping_div
κ° λͺ¨λ λμΌν μμ
μ μννμ§ μμ μ μμμ μμνλ κ² κ°μ΅λλ€.) μ΄κ²μ λΆλͺ
ν λλλ‘ λ€μμ μ¬μ©νλ μ μ μ ν λ¬Έμμ μν΄ λ νΌλμ€λ½μ΅λλ€. /
λ μ μ λλμ
μ λνλ΄κ³ λλ‘λ μν λλμ
μ λνλ
λλ€. ( wrapping_div
λ¬Έμμμ floor(self / other)
μ λν λ€λ₯Έ ν©λ¦¬μ μΈ ν΄μμ μκ°ν΄ λΌ μ μμ΅λλ€.) μ΄κ²μ΄ μΈμ΄λ§λ€ λ€λ₯΄κ³ νλμ΄κΈ° λλ¬Έμ μ΄κ²μ΄ μ΄λκ°μ λͺ
ννκ² λ¬Έμνλμ΄ μμΌλ©΄ μ’μ κ²μ
λλ€. μ μ μ°μ κ³Όμ μ£Όμ νΌλ.
http://doc.rust-lang.org/reference.html#behavior -not-considered-unsafe λ 'μ€λ²νλ‘'μ λν΄ μ΄μΌκΈ°νκ³ λνμ μΈκΈνμ§λ§, μ°λ¦¬κ° μ΄κ²μ λ μ λνλΌ μ μλ€λ κ²μ λ§μ΅λλ€.
@steveklabnik
μ΄κ²μ λνμ΄ μλλΌ λ°μ¬λ¦Όμ κ΄ν κ²μ
λλ€. LLVMμ sdiv
λ₯Ό μ¬μ©νμ¬ 0μΌλ‘ λ°μ¬λ¦Όν©λλ€( srem
λ νΌμ μμ λμΌν λΆνΈλ₯Ό κ°μ§). μ°λ¦¬λ μ΄κ²μ λ¬Έμνν΄μΌ ν©λλ€( wrapping_div
λν λ¬Έμλ νμ¬ _lies_μ΄λ©° μμ 무νλλ‘ λ°μ¬λ¦Όνλ€κ³ μ£Όμ₯ν¨).
μ μ / μ μκ° νμ μνλ κ²μ μλλ©° μ°μ°ν λ°μνκΈ° λλ¬Έμ κ²½κ³ λ₯Ό λ¨κ²¨μΌ ν©λλ€. λκ΅°κ° μ΄ κΈμ μ½κ³ μλ€λ©΄ ν λ² μκ°ν΄ 보μμμ€.