conspire/math/assert/fd_eq/owned/
rank_2.rs1use super::super::{AssertFd, eq_within_fd_tol_impl};
2use crate::math::assert::{Assert, AssertionError};
3use crate::math::{
4 TensorRank2, TensorRank2SparseVec2D, TensorRank2SparseVec2DSymmetric, TensorRank2Vec,
5 TensorRank2Vec2D,
6};
7
8impl<const D: usize, const I: usize, const J: usize> AssertFd<TensorRank2<D, I, J>>
9 for TensorRank2<D, I, J>
10{
11 fn eq_within_fd_tol(
12 tols: &Assert,
13 a: Self,
14 b: TensorRank2<D, I, J>,
15 ) -> Result<(), AssertionError> {
16 eq_within_fd_tol_impl(tols, &a, &b)
17 }
18}
19
20impl<const D: usize, const I: usize, const J: usize> AssertFd<TensorRank2Vec<D, I, J>>
21 for TensorRank2Vec<D, I, J>
22{
23 fn eq_within_fd_tol(
24 tols: &Assert,
25 a: Self,
26 b: TensorRank2Vec<D, I, J>,
27 ) -> Result<(), AssertionError> {
28 eq_within_fd_tol_impl(tols, &a, &b)
29 }
30}
31
32impl<const D: usize, const I: usize, const J: usize> AssertFd<TensorRank2Vec2D<D, I, J>>
33 for TensorRank2Vec2D<D, I, J>
34{
35 fn eq_within_fd_tol(
36 tols: &Assert,
37 a: Self,
38 b: TensorRank2Vec2D<D, I, J>,
39 ) -> Result<(), AssertionError> {
40 eq_within_fd_tol_impl(tols, &a, &b)
41 }
42}
43
44impl<const D: usize, const I: usize, const J: usize> AssertFd<TensorRank2SparseVec2D<D, I, J>>
45 for TensorRank2SparseVec2D<D, I, J>
46{
47 fn eq_within_fd_tol(
48 tols: &Assert,
49 a: Self,
50 b: TensorRank2SparseVec2D<D, I, J>,
51 ) -> Result<(), AssertionError> {
52 eq_within_fd_tol_impl(tols, &a, &b)
53 }
54}
55
56impl<const D: usize, const I: usize, const J: usize>
57 AssertFd<TensorRank2SparseVec2DSymmetric<D, I, J>>
58 for TensorRank2SparseVec2DSymmetric<D, I, J>
59{
60 fn eq_within_fd_tol(
61 tols: &Assert,
62 a: Self,
63 b: TensorRank2SparseVec2DSymmetric<D, I, J>,
64 ) -> Result<(), AssertionError> {
65 eq_within_fd_tol_impl(tols, &a, &b)
66 }
67}