1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//! Implement zeroize traits.

use crate::{
    fbig::FBig,
    repr::{Context, Repr, Word},
    round::Round,
};
use zeroize::Zeroize;

impl<const B: Word> Zeroize for Repr<B> {
    #[inline]
    fn zeroize(&mut self) {
        self.significand.zeroize();
        self.exponent.zeroize();
    }
}

impl<R: Round> Zeroize for Context<R> {
    #[inline]
    fn zeroize(&mut self) {
        self.precision.zeroize();
    }
}

impl<R: Round, const B: Word> Zeroize for FBig<R, B> {
    #[inline]
    fn zeroize(&mut self) {
        self.repr.zeroize();
        self.context.zeroize();
    }
}