dashu_float/third_party/
zeroize.rs

1//! Implement zeroize traits.
2
3use crate::{
4    fbig::FBig,
5    repr::{Context, Repr, Word},
6    round::Round,
7};
8use zeroize::Zeroize;
9
10impl<const B: Word> Zeroize for Repr<B> {
11    #[inline]
12    fn zeroize(&mut self) {
13        self.significand.zeroize();
14        self.exponent.zeroize();
15    }
16}
17
18impl<R: Round> Zeroize for Context<R> {
19    #[inline]
20    fn zeroize(&mut self) {
21        self.precision.zeroize();
22    }
23}
24
25impl<R: Round, const B: Word> Zeroize for FBig<R, B> {
26    #[inline]
27    fn zeroize(&mut self) {
28        self.repr.zeroize();
29        self.context.zeroize();
30    }
31}