Saturating

Saturating (포화 연산 제공 구조체)

T에 대해 의도적으로 포화(saturating)되는 산술을 제공하는 구조체예요.

출처: Rust 공식 문서

본문

u32 값에 대한 + 같은 연산은 오버플로우해서는 안 되는 것으로 의도되며, 일부 디버그 구성에서는 오버플로우가 감지되어 패닉을 일으켜요. 대부분의 산술이 이 범주에 속하지만, 어떤 코드는 포화 산술을 명시적으로 기대하고 의존해요. 포화 산술은 saturating_add 같은 메서드를 통하거나, 기본 값에 대한 모든 표준 산술 연산이 포화 의미론을 갖도록 하는 Saturating 타입을 통해 달성할 수 있어요. 기본 값은 .0을 통해 얻을 수 있어요.

#[repr(transparent)]
pub struct Saturating<T>(pub T);

더 알아보기 (Learn more)

Rust 공식 문서