📄 libapprox-d59ea9b0f39f134b.rlib
/home/palash/git/iron_learn/target/debug/deps/libapprox-d59ea9b0f39f134b.rlib
Language: rlib • Lines: 4947
!<arch>
/               0           0     0     0       8         `
//                                              62        `
approx-d59ea9b0f39f134b.approx.73e4ed0255ac53fb-cgu.0.rcgu.o/
lib.rmeta/      0           0     0     644     110616    `
ELF>��@@GNU�rust
�#rustc 1.92.0 (ded5c06cf 2025-12-08)��١�	�T�6a��D�
-5080178c80bf7a93�
num_traits� 9�G���g9��~��-167c6724486dc27b���	ⷄ�ۆ��p��-225863f279df55c4��uӰ]����d��!�-06039bcfba61f665��**�٭T��HО�9�-3e2e950d4bac10b5��	�t�#3Ҵη��Ǣ-d25e598578fbf080�rustc_std_workspace_core������Nm��gmY���-327ea4f353b4eb8c���y.:i���gy"1�r-94fdfaf0af91a65d�miniz_oxide�M�^�yTLm�L�d=B-5312b588e5cfab93�adler2��;~�7�ɴ,P?���-1e0b0d62df36c85c�	hashbrown�L�ϫ	2݆y��q-2ed6a8f06fc51a9d�rustc_std_workspace_alloc�a���p��H����6Z�-05b02707a5b2a256�
std_detect�	c�LN����=1�ʶӐ-5978f0713dd5442d�rustc_demangle�X�Fq��UՃ�>7z
��-43b2ff22c18e1125�cfg_if�֦<����ɐ¬�-6a40188dd7d989d2�	addr2line���,2�!xb�"6�!�	-11d54e777384a9e5�gimli��2��I.�ġ�����-35018e994bad7042�object��T �f��Y�
hQec-2dc10b344e05b569�memchr��xZT9�C��I�Mg�-09f2ab7e0d97e07a��~ݤ	����h���-932f22f820d1e5ec�num_complex�\�-�<�-num-complex�l�-��-Complex�<A�<�l �+�<M�<"�l,�"O�<A�<�l ��_abs_diff_eq�	AbsDiffEq�Rhs�Epsilon�default_epsilon��	abs_diff_ne�impl_unsigned_abs_diff_eq�impl_signed_abs_diff_eq�'a���	�	�	�
��	�	�	��	�	�	��	�	�	$A�$B�$�	$�	$�	)	relative_eq�++++++
RelativeEq�1�	1default_max_relative�1�1relative_ne�+impl_relative_eq�+7�
7�7�7�+<�
<�<�<�+A�A�A�+E�E�E�+I�I�I�I�M	ulps_eq�OOOOUlpsEq�S�	Sdefault_max_ulps�S�Sulps_ne�Oimpl_ulps_eq�OY�
Y�Y�Y�O^�
^�^�^�Oc�c�c�Og�g�g�Ok�k�k�k�o	macros�q�	q�	q�q�q�q�q__assert_approx�qassert_abs_diff_eq�qassert_abs_diff_ne�qassert_relative_eq�qassert_relative_ne�qassert_ulps_eq�qassert_ulps_ne�AbsDiff������epsilon������>����������
Relative��������max_relative������>������������
Ulps��������max_ulps������>������������
��	��	��	��	��	��	��	��	��	��	��	��		��	��	��	
��	��	��	���	��	��	���	��	��	�
��	��	��	���	��	��	���	��	��	���	��	��	�+�����+�����O����O����
8
888888888#8#8)8)848485858;8;8@8@8D8D8H8H8M8M8V8V8W8W8]8]8b8b8f8f8j8j8o8o8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�81S�������������
���
���+�+p�+��*�@��n�*{���+�+��+borrow��*�+��*��0�ԃ����
�
�1��1��1��1��1��1��1� � S��S��S��S��S��S��S� � ������*@��&��� � ��������#冧�6� � ���������L�g�f�� � ������������

�+�+$	��7
<
A�+E�+I	��Y
^
c�+g�+k	�������1SS!�!��'��

�	$�,�<�;��(���{$��%,��%,��%�%<��/�0�+l�%��

�����
K��
 �(�`�
���'J@,2`�
��'�' �(�/`��((� �&����
����	 ��'(��'(��8�����
�'@�)9�'AN�Q�T��'\�( �(��

�����
K��
 �(�`�
���+J@,2`�
��+�+ �(�/`��,(� �&����
����	 ��+(��+(��8�����
�+@�-9�+AN�Q�T��+\�, �,��
�����
K��
 �(�`�
���/J@,2`�
��/�/ �(�/`��/(� �&����
����	 ��/(��/(��8�����
�/@�19�/AN�Q�T��/\�/ �/��
�����
K��
 �(�`�
���3J@,2`�
��3�3 �(�/`��3(� �&����
����	 ��3(��3(��8�����
�3@�59�3AN�Q�T��3\�3 �3��
�����
K��
 �(�`�
���7J@,2`�
��7�7 �(�/`��7(� �&����
����	 ��7(��7(��8�����
�7@�99�7AN�Q�T��7\�7 �7��
�	���	�K�	�`	�
���: 	�(	�2�	�8	�
��R"�	� 	���	�� 	��:(	��:(	��8	�����.�1�4k�:��;��
�
���
�K�
�`
�
���= 
�(
�2�
�8
�
��R"�
� 
���
�� 
��=(
��=(
��8
�����.�1�4k�=��>��
�����K��`�
���@ �(�2��8�
��R"�� ����� ��@(��@(��8�����.�1�4k�@��@��
�����K��`�
���C �(�2��8�
̏R"�� ����� ��C(��C(��8�����.�1�4k�C��C��
�
���
�K�
�`
�
���E 
�(
�2�
�8
�
��R"�
� 
���
�� 
��E(
��E(
��8
�����.�1�4k�E��F���
������K��F��`�
���H �(�2��8�
�Q!�� ����� ��H(��H(��8�����.�1�4k�H��I���
������K��F��`�
���K �(�2��8�
�Q!�� ����� ��K(��K(��8�����.�1�4k�K��K�����
	�� ���G��T� �M^,�4���&t�

��<3<�2���x$��,��O,��M<��O�O+�/�3k�N������M���G�MT��MM,�4���&t��NN8<�*���|$��,��Q,��M<��O��O��Q)�Q'9�=�Ay�N�����
	�� ���G��T� �R^\�	
	T��
�+�$�,�S\���S,�,�d�<�	
��2t�

���RI1�����	3
$��,��U,��S<��]�=�V���S��L�P�T��S��S]�U�S������R�"��G�ST��RM
t� 
l� 4� 
�,�$� D� Saf
��,�,Ref��,��*�,��*R7�d�Ӛ<��	�t� 4� �X,� 		D� |� 	�X )<�!

�� 8t� �UMj
B*�!		�!,		<���X
h
#1$� �,� �[,� �S<� �V�X �X�VG�\O�X|�S2�^�b�f�
�X]�X��X��X��Uf�X<�XB�XH�XN�ST��"��"
	� �  �"(��"G� � T�" �]^
T�#\�#��#\�#$�#
�o� $�#	4�#��#~��#!l�#
�J�g�gIter��h��g�h
end_or_len��g�h_marker��gFPR<?��� � 	�,�$����$.

*� � �� � �]��#U�$
�K����Zip���a��C��b��C����C���	�C��ڸ(j�_�g�g�^�h��g�h�^�g�h�^�gFPR<?��� *� � ��`�a�
#	��$3�$�$��"�%)$�#� ,�#�`,�#�]<�#������ae�am�_��b��a�_�c�g�
�n� L
�n� J�^�_��a��]�]�$�`�$�`<�$�a|�$,�$
��].<�$��$%t�$

� � �$�$V4�$*O�$�b �`4�$�`��`��]��aF���ax�
y�z�e��f�
_ref__epsilon���5��
4�%�%$�,�<�d�=��6�5���$��%,��%,��&<��&d��,�0�4�8t�h�X�������K��G�� �(�h�
��H�H<2)/ �(�	��x�
�	*!'0���x��k'
$
(��`��H �(�
	&��8��I
B
�� �6(�p�8��I'
0�x�8��I'��H���@�8�����"����������������� �
�H(�
�H(�
�8�
�`�
�H2�p+������@��G�@����H����8���4�J�������abs_diff��abs_self��	abs_other��largest����j'�k��k��H6�I�I��IuX�������K��G�� �(�h�
��K�K<2)/ ��(�	��x�
�	*!'0���x��u'
$
(�|`��K �(�
	&��8��K
B
�� �
(�p�8��K'
0�x�8��K'��H���@�8�����"����������������� �
�K(�
�K(�
�8�
�`�

�K5�z.�������@��G�@����H����8���4�J��������q��q��q�qxb�t
�u��uc�K�K��K��KỤ��
3�� �:��Q�MT��|U,�4���4t�
4��<3<�d�9�;���$��O,��O,��M<��Md��O$�O"4�8�<�@|�}������|�?��Q�MT��|M,�4���4t��}N8<�d�1�@���	$��Q,��Q,��M<��Md��O��O��Q2�Q0B�F�J�N��}�����
3�� �C��Q�ST�˂V	\�
&.8@T���S$�,�q\���S,�,�d�<�
	d�

��@t�
4��r	i
O7� � ���.>DA
$��U,��U,��S<��Sd��V���V/�\�S1�S��b�f�j�n��S��S���V�S�S̏!��!˂�!G�� Q�ST� ˂Ot�"

&.8
@l�"4�"�X$�"
D�"q��X�	�t�"4�#�X,�"
	D�#|�"	
�X	 )<�#
d�#

��"Ft�"��G�bH0�#
	
�#,
	<
L��!�h
x

�HA$�"�[,�!�[,�!�S<�"�Sd�"�V:�\B�X��V��\��X��Sz�Sct�x�|����Xx�X��X2�X����X}�X��X��X��S��S���$��$
3� �  �$L��$Q�]T�$��VT�%\�%��%\�&$�&�^$�&
4�&��%���&!l�&�_
[,�&	%)	��&D

N� � ��`�a�a
��&|�&
�K�aN� � ��`���x��&I�'	�'+	;
��$��M$�%�c,�%�`,�%�]<�%�]d�%������ds�a{�_�ߑV�a^�afn�r�v�z�	�de�d]�^2�_�֑��]?�]E�]K�]Q�&	
�`�&�`<�&�a|�&	
,�&�e:<�&d�&�a��&,�&�e(<�&��&;	t�&
4� � �&�&�hN�'	
�')9	N:�
�&ߑX�`4�&�`��`g�]L�]
�a��a�����a���a�f��f���e��et–X�]�f_ref__max_relative���-l�
V�%�%$�,�<�D�=��.�W���$��%,��%,��&<��D��,�0�4�8t���������>����
%x�


�� �
(�
8�
;A �
�h�0�
�� �@�p�0��(�@���(�9 �
p�8�
�
*	H�(�x�8���(	H���
	

��			+���&�����			
+���&[����������� ��H(��H(��8��@����V�.�@����H���~�d�o��%�������int_self��		int_other������!�������Q������>����
%x�


�� �
(�
8�
;A �
�h�0�
�� �@�p�0��(�@���(�A �
p�8�
�
*	H�(�x�8���(	H���
	

��			+�p����&�����			
+�p����&l����������� ��K(��K(��8��@���x�P�@����H���������_�5��>�����������	�����D������t����
U�� �\��B��ЫV,�4���,T�
V��<3<�D�9�]���$��O,��O,��M<��D��O$�O"4�8�<�@|Ь�����Ы�a��B��ЫO,�4���,T�ЬO9<�D�2�b���	$��Q,��Q,��M<��D��O��O��Q2�Q0B�F�J�N�Ь�����
U�� �e��B����V\�


T���S$�,�M\���S,�,�d�<�

	��8T�
V���R	ID�8�����
f3$��U,��U,��S<��D��Va�A�V���S��R�V�Z�^��S��St��'�S��������i��B����O
t�
l�4��X$�D�M[`�Xk	tt�4��X,�
	D�|�	
�X	 )<�
��>T���kCD�2�
	�,
	<���X
h
j1
$��[,��[,��S<��D��V��\��X��VR�\Z�X��S=�d�h�l�p�
�X+�XY�X��X����XM�XS�XY�X_�Se����
U� �  � n��B���V
T� \�!�� \�!$�!�^$�!
4�!�� ���!!l�!�_
[,�!	%)	��!4

p� � ��`�a�/
��!l�!
�K�ap� � ��`���x	��!9�"�"�� �~o$� �c,� �`,� �]<� �D� ������dS�a[�_�ξ6�a>�/Fn�r�v�z��dE�d=�^�_�ž`�]�]%�!�`�!�`<�!�a|�!,�!�e(<�!D�"�/��!+T�!
V� � �!�!nQ9�"p�T	�!�`4�!�`��`��]����a��/����a���/�fH�fC�e1����f_ref__max_ulps���5��5�]��5>
�� � �5���5l�"l�5�]b�]r��7
�� � �7�7���7^�"l�7�"$�7�]<�7�B�"ld�9�]��8&t�8�f�8�97,�9���8`$�8�"$�8�`�8�`�8�]�$�	(rhs�/a�f�d�:�]��:&t�:
� � �:�:?4�:���9`$�:�"$�9�`�9�`�:�]�$�	(��-_�����C��C�]��C��C����Ct
�� � �D�C��B���"t�B�]��]�4�]�����]Z��E
�� � �]�F�]�F���Eh�"t�E�"$�E�]<�E�B�]p��GA
�� � �]�G�]�G���F��"t�G�"$�F�]d�F�C�]qd�I�]��I�]��H9t�H–�I�II=2�I���Hs$�H�"$�H�`�H�`�H�]��]�+�	/��4f–�d�J�]��J�]��J9t�J
5� � �J�JPD9�J���Js$�J�"$�J�`�J�`�J�]��]�+�	/��4f�����R��R�]��S��S���Rh
�� � �S�S��R���"T�R�]���4�]����]ZĦU
�� � ��U�U���T`�"T�U�"$�T�]<�T�B�"l��V
�� � �]�V���V\�"T�V�"$�V�D�V�Bd�X�]l�X���W1T�W���W�WI=2�X���Wk$�W�"$�W�`�W�`�W�]���+�	/��4f���d�Y�]l�Y���Y1T�Y
W� � �Y�YPD9�Y���Xk$�Y�"$�X�`�Y�`�Y�]���+�	/��4f���+Oq����,5_T�.�	\�r�	\�s�\�t�\�u�<�v�<�w�|�x��� y���#z���'{���+|�t�.}�t�2~�	L�.�T�/1��4�/S����U��[X A crate that provides facilities for testing the approximate equality of floating-point���TQ based types, using either relative difference, or units in the last place (ULPs)���
 comparisons.�����c` You can also use the `*_{eq, ne}!` and `assert_*_{eq, ne}!` macros to test for equality using a��� more positional style:���\� ```rust���
 #[macro_use]�Ļ extern crate approx;����� use std::f64;����� # fn main() {�܀ abs_diff_eq!(1.0, 1.0);���30 abs_diff_eq!(1.0, 1.0, epsilon = f64::EPSILON);����� relative_eq!(1.0, 1.0);���30 relative_eq!(1.0, 1.0, epsilon = f64::EPSILON);���	/, relative_eq!(1.0, 1.0, max_relative = 1.0);���	GD relative_eq!(1.0, 1.0, epsilon = f64::EPSILON, max_relative = 1.0);���
GD relative_eq!(1.0, 1.0, max_relative = 1.0, epsilon = f64::EPSILON);��
���
 ulps_eq!(1.0, 1.0);���/, ulps_eq!(1.0, 1.0, epsilon = f64::EPSILON);���%" ulps_eq!(1.0, 1.0, max_ulps = 4);���=: ulps_eq!(1.0, 1.0, epsilon = f64::EPSILON, max_ulps = 4);���=: ulps_eq!(1.0, 1.0, max_ulps = 4, epsilon = f64::EPSILON);�<� # }�<� ```�����85 # Implementing approximate equality for custom types��
���
ZW The `*Eq` traits allow approximate equalities to be implemented on types, based on the���
/, fundamental floating point implementations.�����`] For example, we might want to be able to do approximate assertions on a complex number type:���\�������Ĵ����2/ # use approx::{AbsDiffEq, RelativeEq, UlpsEq};����� #[derive(Debug, PartialEq)]��� struct Complex<T> {�l�
     x: T,�l�
     i: T,�,� }���JG # impl<T: AbsDiffEq> AbsDiffEq for Complex<T> where T::Epsilon: Copy {���$! #     type Epsilon = T::Epsilon;���EB #     fn default_epsilon() -> T::Epsilon { T::default_epsilon() }���LI #     fn abs_diff_eq(&self, other: &Self, epsilon: T::Epsilon) -> bool {���;8 #         T::abs_diff_eq(&self.x, &other.x, epsilon) &&���85 #         T::abs_diff_eq(&self.i, &other.i, epsilon)�\� #     }�<�����LI # impl<T: RelativeEq> RelativeEq for Complex<T> where T::Epsilon: Copy {���OL #     fn default_max_relative() -> T::Epsilon { T::default_max_relative() }���\Y #     fn relative_eq(&self, other: &Self, epsilon: T::Epsilon, max_relative: T::Epsilon)���! #                   -> bool {���IF #         T::relative_eq(&self.x, &other.x, epsilon, max_relative) &&���FC #         T::relative_eq(&self.i, &other.i, epsilon, max_relative)�\���<�����DA # impl<T: UlpsEq> UlpsEq for Complex<T> where T::Epsilon: Copy {���@= #     fn default_max_ulps() -> u32 { T::default_max_ulps() }���WT #     fn ulps_eq(&self, other: &Self, epsilon: T::Epsilon, max_ulps: u32) -> bool {���A> #         T::ulps_eq(&self.x, &other.x, epsilon, max_ulps) &&���>; #         T::ulps_eq(&self.i, &other.i, epsilon, max_ulps)�\���<�����������'$ let x = Complex { x: 1.2, i: 2.3 };����� assert_relative_eq!(x, x);���(% assert_ulps_eq!(x, x, max_ulps = 4);�<���<�������a^ To do this we can implement [`AbsDiffEq`], [`RelativeEq`] and [`UlpsEq`] generically in terms���a^ of a type parameter that also implements `AbsDiffEq`, `RelativeEq` and `UlpsEq` respectively.���XU This means that we can make comparisons for either `Complex<f32>` or `Complex<f64>`:���\�����2����! # #[derive(Debug, PartialEq)]���'$ # struct Complex<T> { x: T, i: T, }�,� #���52 impl<T: AbsDiffEq> AbsDiffEq for Complex<T> where�̢     T::Epsilon: Copy,�,� {���"     type Epsilon = T::Epsilon;�����,)     fn default_epsilon() -> T::Epsilon {���           T::default_epsilon()�L�      }�� ��� JG     fn abs_diff_eq(&self, other: &Self, epsilon: T::Epsilon) -> bool {���!96         T::abs_diff_eq(&self.x, &other.x, epsilon) &&���!63         T::abs_diff_eq(&self.i, &other.i, epsilon)�L�"��,�"���"���"74 impl<T: RelativeEq> RelativeEq for Complex<T> where���"��,�"����"1.     fn default_max_relative() -> T::Epsilon {���#%"         T::default_max_relative()�L�#���#���#da     fn relative_eq(&self, other: &Self, epsilon: T::Epsilon, max_relative: T::Epsilon) -> bool {���$GD         T::relative_eq(&self.x, &other.x, epsilon, max_relative) &&���%DA         T::relative_eq(&self.i, &other.i, epsilon, max_relative)�L�%��,�%���%���%/, impl<T: UlpsEq> UlpsEq for Complex<T> where�̉&��,�&����&&#     fn default_max_ulps() -> u32 {���&!         T::default_max_ulps()�L�&���&���'UR     fn ulps_eq(&self, other: &Self, epsilon: T::Epsilon, max_ulps: u32) -> bool {���'?<         T::ulps_eq(&self.x, &other.x, epsilon, max_ulps) &&���(<9         T::ulps_eq(&self.i, &other.i, epsilon, max_ulps)�L�(��,�(��<�(���(���(
 # References��)���)\Y Floating point is hard! Thanks goes to these links for helping to make things a _little_���) easier to understand:��)���)74 - [Comparing Floating Point Numbers, 2012 Edition](���*b_   https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/)���+^[ - [The Floating Point Guide - Comparison](http://floating-point-gui.de/errors/comparison/)���+RO - [What Every Computer Scientist Should Know About Floating-Point Arithmetic](���,FC   https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html)�+Oq����,5_��	�r�	�s��t��u��v��w��x��y��z��{��|��}��~�	���1���S���.�|�.\�.cell�$
�*T��/�KJG Equality that is defined using the absolute difference of two numbers.�L��	���%�����%�%t����%T���;��-��G��9	
	
���&l��	
W��%d���-* Used for specifying relative comparisons.�<���&��MJ The default tolerance to use when testing values that are close together.�����_\ This is used when no `epsilon` value is supplied to the [`abs_diff_eq!`], [`relative_eq!`],��� or [`ulps_eq!`] macros.�|��&
	�%�%��C��TQ A test for equality that uses the absolute difference to compute the approximate�� equality of two numbers.�\�����%��%�&��%$��,��<���B��.+ The inverse of [`AbsDiffEq::abs_diff_eq`].�\�����%��%�&�
�%�%$��z����	&̕	�	�
�	�		,�	8��	&�	8�,�	$�	,�	8�	|�	&�	8�$�	*�	�	�
8$�	8�	L�	8
�	,�	8��	�	�
8!$�
8�	<�
�
,�
8��
%�
+�
�
�
8�4�
8�
8�	|�
�
�
(�
,�
8��
�
�,�
8�	|�
+���8�4�8�8�	\���
�8$�$�8�,�&��,�8��$�8�<�&�,�8��(�8�$���
��8�8$��8�,���8$��8�,�8$���8�,��8$��8�<�%�
��$������	,�8��&�8�,�$�,�8�	|�&�8�$�*���8$�8�	L�8
�,�8����8!$�8�	<��,�8��%�+���8�4�8�8�	|���(�,�8����,�8�	|�+���8�4�+���8�,���8�t�8�8�	\���
�8$�$�8�,�&��,�8��$�8�<�&�,�8��(�8�$���8#�8_T�'�8�,�'�8	FloatCore�L�%�,�8��'�8abs����8$��8�,��8�<�%���3�
�������L��	
�35d�<��M��"|��M
�
���A\��������M�
�
�$�� '�)'��7�
�����L��	
�*,d�<��M��"|��M
�
���E\��������M�
�
�$��p(�y(��5�������L���$��	
<>d�<��S��"|��S
���I\��������S�
�$���*��*��:�  ����ߦL��!"#	
"#$&d�<��S��"|��S
"���L\��������S� 
#�$� �u-�~-��!S�%�&&%��� �!��� �!� � d�!��],�!� '()	
()LNIKd�!<�!$$�]��""|�"�]$$
(� � ��"?\�"���� �� �]$�#$
)� � $�#�g1�p1D�$)<closure_kind>�*<closure_signature>�*<upvars>�**)�b|�.\�.1��$�*+-��+.��+/�	LZ+0�JL<>.0 "��0�fSP Equality comparisons between two numbers using both the absolute difference and��� relative based comparisons.�T�1�	221������%�%t���T�1��2�%��>�1345345534>��%��+��IF The default relative tolerance for testing values that are far-apart.�����WT This is used when no `max_relative` value is supplied to the [`relative_eq`] macro.����&11
3�%�%��h��TQ A test for equality that uses a relative comparison if the values are far apart.�\�����%��%�&�&1�1�h$��,��<��d������/, The inverse of [`RelativeEq::relative_eq`].�\�����%��%�&�&1�1
5�%�%$���3��3�4��
��
����	,�8��&�8�,�$�,�8U��&�8�,�*���8$�8�T�8
�,�8����+���8�4�8�8�����(�,�8����,�8��'�8EPSILON�<�+���8�4�+���8�,���8�t�8�8�\��
�
�
8$�
$�
8�,�
&�
�
,�
8��
$�
8�<�
&�
,�
8��
$�
8�d�
&�
,�
8��
(�
8�$�
�
�I8#�
8_T�
'�
8�,�
'�
8ŸL�
%�
8�8$��8�,���84�8 $�%�8�,�8��'�8is_infinite�\���
�8$��,�8��'�8��\���
�8�,���84�8,�%�8�8�qD��,�8��'�8�����8$��8�,�%�8�8�qD��8�<���84�8 $�%�8�8�qD��,�8��'�8�����
�8$�%�8�8�qL��,�8��'�8�����
�8�,�%�8�8�q<��8�8�qL��8�qD���8�qL�8$���8�qD�%�8�qD��8�q<�
�8�d�%���5�
8�989��1��T��:;34:;�.0��'���M77
:�
���[\��������M�M7�7
;�
�$���>��>��>��9�
=�>>=����T��?@34?@�%'��'���M<<
?�
����\��������M�M<�<
@�
�$��<@�E@�N@��7�BBϦ�1��T��$��CD34DC02��'���SAA
C����\��������S�SA�A
D�$���B��B��B�� <�FF��� ��T� �GH34HG!�� '�� �SEE
G���!�\�!�������S�SE�!E
H�$�!��E�F�
F��#U�J�KJK���#���#1� � l�#ի,�#� LM34ML8:=?��$'��$�]II
L� � ��$Y\�$���� �� �]�]I�%I
M� � $�%�I�I�!ID�&M��N��N��NNMߑ\�.<�.S��$
�*OPSigned�4Z�OQ�	LgORT>�N+��,�sXU Equality comparisons between two numbers using both the absolute difference and ULPs���,) (Units in Last Place) based comparisons.�4�S�	TTS������t���T�S��)�%��5�1UVWUVWWVU>��%����HE The default ULPs to tolerate when testing values that are far-apart.�����OL This is used when no `max_ulps` value is supplied to the [`ulps_eq`] macro.����SS
U�%�%��N��\Y A test for equality that uses units in the last place (ULP) if the values are far apart.�<�����%��%�&�S�S��$��,��<��D���M��'$ The inverse of [`UlpsEq::ulps_eq`].�<�����%��%�&�S�S
W�%�%$���L��L��L̏
d�
�
��
�
	,�
8��
&�
8�,�
$�
,�
8���
&�
8�,�
*�
�
�8$�
8�4�
8
�
,�
8��
�
�+�
�
�
8�4�
8�8�����(�8����7��+���8�4�8�8�<����8$�$�8�,�&��,�8��$�8�<�&�,�8��$�8�D�&�8��(�8�$���/8�
,�
8��
'�
8�	\�
�
�
8$�
$�
8�,�
$�
8�<�
�
�
84�
8 $�
%�
8�8$� �8signum�4����8�,� �8��4�����84�8,�%�8�8��D�&�,�8����8$� �8to_bits�<���%�8�8ΡL�&�,�8����8�,� �8��<���%�8�8��D��8ΡL���8ΡL��8��D��8�D�8�,�8���8$���8��D��8ΡL��8�D�8�,�8���%���-�
Z�[[Z��S��4��\]UV\]�.0�����YY
\�
���L<��������M�Y�Y
]�
�$��.V�7V�@V��1�
_�``_����4��abUVab�%'�����^^
a�
���P<��������M�^�^
b�
�$���W��W��W��/�ddϦ�S��4��$��efUVef02����cc
e���T<��������S�c�c
f�$��MY�KY�IY��4�hh�����4��ijUVij!�����gg
i���W<��������S�g�g
j�$���W��W��W��M�l�mml������S� � L�ի,�� noUVno8:=?�����kk
n� � �� J<� ���� �� �]�k� k
o� � $� ��U��U��UD�!o��p��p��ppoξT�.4�.Ġ��:7 Approximate equality of using the absolute difference.�'|��I����,�8�	�&�8�$�$�,�8���&�8�$�,���
$�,�8opt��&�8�,��,�8��&�8�$�
�*���
,�8,�'�8�<�'�8><���,��� �,�8�����,�8��
� �8�����,�8�	�$��,�8���%���
,�8�	�&�8�$�$�,�8���&�8�$�,���
$�,�8���&�8�,��,�8��&�8�$�
�$�*���
,�8,�'�8�<�'�8><���,��� �,�8�����,�8��
� �8�����,�8�	�$��,�8���%���<9 Approximate inequality of using the absolute difference.�'|��M��
��,�8�	�&�8�$�$�,�8���&�8�$�,���
$�,�8���&�8�,��,�8��&�8�$�
�*���	
,�8,�'�	8�<�	'�	8><�	�	�	,�	�	�	 �	,�	8���	�	�	,�	8��	
�	 �	8�
�	�	�	�	,�	8�	�	$�	�	,�	8���	%�	�	�	
,�	8�	�	&�	8�$�	$�	,�	8���	&�	8�$�	,�	�	�	
$�	,�	8���	&�	8�,�	�	,�	8��	&�	8�$�	
�	$�	*�	�	�

,�
8,�
'�
8�<�
'�
8><�
�
�
,�
�
�
 �
,�
8���
�
�
,�
8��

�
 �
8�
�
�
�
�
,�
8�	�
$�
�
,�
8���
%�
ij��
[X Approximate equality using both the absolute difference and relative based comparisons.�'|��Q��
��,�8�	�&�8�$�$�,�8���&�8�$�,���
$�,�8���&�8�,��,�8��&�8�$�
�*���
,�8,�'�8�D�'�8><���,��� �,�8�����,�8��
� �8�����,�8�	�$��,�8���%���

,�8�	�&�8�$�$�,�8���&�8�$�,���

$�,�8���&�8�,��,�
8��
&�
8�$�

�
$�
*�
�
�

,�
8,�
'�
8�D�
'�
8><�
�
�
,�
�
�
 �
,�
8���
�
�
,�
8��

�
 �
8��
�
�
�
,�
8�	�
$�
�
,�
8���
%�
����
]Z Approximate inequality using both the absolute difference and relative based comparisons.�'|�V����,�8�	�&�8�$�$�,�8���&�8�$�,���
$�,�8���&�8�,��,�8��&�8�$�
�*���
,�8,�'�8�D�'�8><���,��� �,�8�����,�8��
� �8�
����,�8�	�$��,�8���%���
,�8�	�&�8�$�$�,�8���&�8�$�,���
$�,�8���&�8�,��,�8��&�8�$�
�$�*���
,�8,�'�8�D�'�8><���,��� �,�8�����,�8��
� �8�
����,�8�	�$��,�8���%�����[X Approximate equality using both the absolute difference and ULPs (Units in Last Place).�'|�+Z����,�8�	�&�8�$�$�,�8���&�8�$�,���
$�,�8���&�8�,��,�8��&�8�$�
�*���
,�8,�'�8�$�'�8><���,��� �,�8�����,�8��
� �8�����,�8�	�$��,�8���%���
,�8�	�&�8�$�$�,�8���&�8�$�,���
$�,�8���&�8�,��,�8��&�8�$�
�$�*���
,�8,�'�8�$�'�8><���,��� �,�8�����,�8��
� �8�����,�8�	�$��,�8���%�����]Z Approximate inequality using both the absolute difference and ULPs (Units in Last Place).�'|�R^����,�8�	�&�8�$�$�,�8���&�8�$�,���
$�,�8���&�8�,��,�8��&�8�$�
�*���
,�8,�'�8�$�'�8><���,��� �,�8�����,�8��
� �8�
����,�8�	�$��,�8���%���
,�8�	�&�8�$�$�,�8���&�8�$�,���
$�,�8���&�8�,��,�8��&�8�$�
�$�*���
,�8,�'�8�$�'�8><���,��� �,�8�����,�8��
� �8�
����,�8�	�$��,�8���%������8�4�t�'|�9b����,�8��&�8�,�$�,�8given�,�&�8�$�$�,�8�D�&�8�$�*�����8,������,�8��,�$����,�8�D�����8��,�$�8�D�*�8�4�	���,�8��	���
�8��,�$�
�8�D�$�77assert_{}!({}, {})

    left  = {:?}
    right = {:?}

���9$�8�L�	���,�8��$�8�L�	���,�8��,�$�8�L�	���,�8�D�$�8��,�$�8�D�$�$�%���,�8��&�8�,�$�,�8��,�&�8�$�$�,�8�D�&�8�$�$�,���	,�8���&�8�,��,�8��&�8�$�$��*�����8,������,�8��,�$����,�8�D�����8��,�$�8�D�*�8�4�	���,�8��	���

�8��,�$�
�8�D�$�,���,�8����,�8��$��$�7;assert_{}!({}, {}, {})

    left  = {:?}
    right = {:?}

���=$�8�L�	���,�8��$�8�L�	���,�8��,�$�8�L�	���,�8�D�$�8�L�	���,���,�8����,�8��$��$�8��,�$�8�D�$�$�%�����`] An assertion that delegates to [`abs_diff_eq!`], and panics with a helpful error on failure.�'��#�i� �"� � ,� 8��,� &� 8�$� $� ,� 8�D� &� 8�$� ,� � � 
$� ,� 8��� &� 8�,� � ,� 8�� &� 8�$� 
� *� � �!8�|� 	� � �!
8�	\� $�!,�!8��,�!$�!,�!8�D�!,�!�!�!$�!,�!8���!�!,�!8��!
�!%�!�!�!
,�!8��,�!&�!8�$�!$�!,�!8�D�!&�!8�$�!,�!�!�!
$�!,�!8���!&�!8�,�!�!,�!8��!&�!8�$�!
�!$�!*�!�!�"8�|�!	�"�"�"
8�	\�"$�",�"8��,�"$�",�"8�D�",�"�"�"$�",�"8���"�",�"8��"
�"%�"��#��"`] An assertion that delegates to [`abs_diff_ne!`], and panics with a helpful error on failure.�'��##�l�#�&�#�$,�#8��,�#&�#8�$�#$�$,�$8�D�$&�$8�$�$,�$�$�$
$�$,�$8���$&�$8�,�$�$,�$8��$&�$8�$�$
�$*�$�$�%8�|�$	�$�$�$
8�	\�$$�$,�$8��,�$$�$,�$8�D�$,�$�$�$$�$,�$8���$�$,�$8��$
�$%�%�%�%
,�%8��,�%&�%8�$�%$�%,�%8�D�%&�%8�$�%,�%�%�%
$�%,�%8���%&�%8�,�%�%,�%8��%&�%8�$�%
�%$�%*�%�%�&8�|�%	�%�%�&
8�	\�%$�%,�%8��,�%$�%,�%8�D�%,�&�&�&$�&,�&8���&�&,�&8��&
�&%�&��'��&`] An assertion that delegates to [`relative_eq!`], and panics with a helpful error on failure.�'��'#�l�'�)�'�(,�'8��,�'&�'8�$�'$�',�'8�D�'&�'8�$�',�'�'�(
$�',�'8���'&�'8�,�'�',�'8��'&�'8�$�'
�(*�(�(�(8�|�(	�(�(�(
8�\�($�(,�(8��,�($�(,�(8�D�(,�(�(�($�(,�(8���(�(,�(8��(
�(%�(�(�)
,�(8��,�(&�(8�$�($�(,�(8�D�(&�(8�$�(,�(�)�)
$�),�)8���)&�)8�,�)�),�)8��)&�)8�$�)
�)$�)*�)�)�)8�|�)	�)�)�)
8�\�)$�),�)8��,�)$�),�)8�D�),�)�)�)$�),�)8���)�),�)8��)
�)%�)��*��)`] An assertion that delegates to [`relative_ne!`], and panics with a helpful error on failure.�'��*#�l�+�-�+�+,�+8��,�+&�+8�$�+$�+,�+8�D�+&�+8�$�+,�+�+�+
$�+,�+8���+&�+8�,�+�+,�+8��+&�+8�$�+
�+*�+�+�,8�|�+	�+�+�,
8�\�+$�,,�,8��,�,$�,,�,8�D�,,�,�,�,$�,,�,8���,�,,�,8��,
�,%�,�,�,
,�,8��,�,&�,8�$�,$�,,�,8�D�,&�,8�$�,,�,�,�,
$�,,�,8���,&�,8�,�,�,,�,8��,&�,8�$�,
�,$�,*�,�,�-8�|�-	�-�-�-
8�\�-$�-,�-8��,�-$�-,�-8�D�-,�-�-�-$�-,�-8���-�-,�-8��-
�-%�-��.��-\Y An assertion that delegates to [`ulps_eq!`], and panics with a helpful error on failure.�'��.#�l�.�1�.�/,�.8��,�.&�.8�$�.$�.,�/8�D�/&�/8�$�/,�/�/�/
$�/,�/8���/&�/8�,�/�/,�/8��/&�/8�$�/
�/*�/�/�/8�|�/	�/�/�/
8�<�/$�/,�/8��,�/$�/,�/8�D�/,�/�/�/$�/,�/8���/�/,�/8��/
�/%�/�0�0
,�08��,�0&�08�$�0$�0,�08�D�0&�08�$�0,�0�0�0
$�0,�08���0&�08�,�0�0,�08��0&�08�$�0
�0$�0*�0�0�18�|�0	�0�0�1
8�<�0$�0,�08��,�0$�0,�08�D�0,�0�0�1$�0,�08���0�1,�18��1
�1%�1ܗ2��1\Y An assertion that delegates to [`ulps_ne!`], and panics with a helpful error on failure.�'��1#�l�2�4�2�2,�28��,�2&�28�$�2$�2,�28�D�2&�28�$�2,�2�2�2
$�2,�28���2&�28�,�2�2,�28��2&�28�$�2
�2*�2�2�38�|�3	�3�3�3
8�<�3$�3,�38��,�3$�3,�38�D�3,�3�3�3$�3,�38���3�3,�38��3
�3%�3�3�4
,�38��,�3&�38�$�3$�3,�38�D�3&�38�$�3,�3�3�4
$�3,�38���3&�38�,�3�3,�38��3&�38�$�3
�4$�4*�4�4�48�|�4	�4�4�4
8�<�4$�4,�48��,�4$�4,�48�D�4,�4�4�4$�4,�48���4�4,�48��4
�4%�4��.m��/m|�/'m��2��/IF The requisite parameters for testing for approximate equality using a���0)& absolute difference based comparison.��0���063 This is not normally used directly, rather via the���0>; `assert_abs_diff_{eq|ne}!` and `abs_diff_{eq|ne}!` macros.��1�l�1
 # Example��1�\�1����1����1 use approx::AbsDiff;��1���1&# AbsDiff::default().eq(&1.0, &1.0);���2<9 AbsDiff::default().epsilon(f64::EPSILON).eq(&1.0, &1.0);�<�2��<�2��������� �2��� ,�2īd�3�"*@��&���461�2� ��4��3EB The tolerance to use when testing values that are close together.�<�4���]��4W���������4���4īd�4�"���"$')�5<�5�"��
�� � ��5K���������5���6īd�6�"��� "%'��7:��652 Replace the epsilon value with the one specified.�<�7�"�]�"��
�� � �b��b��8)��7" Peform the equality comparison�-\�8�8���"�� �� ��8�
�� � :c�	Cc��Lc��9)��9$! Peform the inequality comparison�-\�9�9���"�� �� ��9�
�� � d�	d��d��?��:I����; relative based comparison.��;���;6����;>; `assert_relative_{eq|ne}!` and `relative_{eq|ne}!` macros.��<�l�<���<�\�<����<����< use approx::Relative;��<���='$ Relative::default().eq(&1.0, &1.0);���==: Relative::default().epsilon(f64::EPSILON).eq(&1.0, &1.0);���=96 Relative::default().max_relative(1.0).eq(&1.0, &1.0);���>OL Relative::default().epsilon(f64::EPSILON).max_relative(1.0).eq(&1.0, &1.0);���>OL Relative::default().max_relative(1.0).epsilon(f64::EPSILON).eq(&1.0, &1.0);�<�?��D�?���������?��,�?��l�?�"#冧�6��.03�?� ��@��@E��<�@���]��A��AA> The relative tolerance for testing values that are far-apart.�d�A���]��AY���������A���A��l�B�"���"$')��B<�B�"��
�� � ��DM���������D���D��l�D�"����#%(*��E;��D5��<�E�"�]�"��
�� � �e��e��FE��F>; Replace the maximum relative value with the one specified.�d�F�"�]�"��
�� � <f�Ef��H)��G"��-\�H�H���"�� �� ��H�
�� � �f�	g��g��J)��I$��-\�I�J���"�� �� ��J�
�� � �g�	�g���g��O��JOL The requisite parameters for testing for approximate equality using an ULPs���K based comparison.��K���KMJ This is not normally used directly, rather via the `assert_ulps_{eq|ne}!`���L and `ulps_{eq|ne}!` macros.��L�l�L���L�\�L����L����M use approx::Ulps;��M���M#  Ulps::default().eq(&1.0, &1.0);���M96 Ulps::default().epsilon(f64::EPSILON).eq(&1.0, &1.0);���M/, Ulps::default().max_ulps(4).eq(&1.0, &1.0);���NEB Ulps::default().epsilon(f64::EPSILON).max_ulps(4).eq(&1.0, &1.0);���NEB Ulps::default().max_ulps(4).epsilon(f64::EPSILON).eq(&1.0, &1.0);�<�O��$�O���������O��,�O��L�O�"�L�g�f���.03�O� ��P��PE��<�P���]��Q��P@= The ULPs to tolerate when testing values that are far-apart.�D�Q�����QQ���������Q���Q��L�R�"���"$')ԹR<�R�"��
�� � ��SE���������S���S��L�S�"����#%(*��T7��T5��<�T�"�]�"��
�� � |i��i��V2��U63 Replace the max ulps value with the one specified.�D�V�"��"��
�� � j�j��W)��V"��-\�W�W���"�� �� ��W�
�� � �j�	�j���j��X)��X$��-\�X�X���"�� �� ��Y�
�� � �k�	�k���k��	����	
��`�
8�
�����
x�
���
���6X�����������
� ��;�E��	����	
��`�
8�
�����
x�
���
���6X�����������
� ��*�4��	����	
��`�
8�
�����
x�
���
���6X�����������
� ���%��	����	
��`�
8�
�����
x�
���
���6X�����������
� �����	����	
��`�
8�
�����
x�
���
���6X�����������
� ����	�����	
��`	�8	�����	�x	����
��	�6X	���������	��
� 	������	�H	��
�����	
��`
�8
�����
�x
����
��
�6X
���������
��
� 
������
�H
���	����	
��`�8������x����
���6X�����������
� ��> �H ��H���
����	
��`�8������x����
���6X�����������
� ���!��!��H��
�����	
��`
�8
�����
�x
����
��
�6X
���������
��
� 
��#�
#�
�H
�������	
��`�8������x����
���6X�����������
� ��e$�o$��H���
����	
��`�8������x����
���6X�����������
� ���%��%��H������34���������
���HX�����������
�
� �
��7��7��7��
H�
�����34���������
���HX�����������
�
� �
��<��<��<��
H�
��
���UV���������
���A8������������
� ���O�P�P��
���UV���������
���A8������������
� ��&T�0T�:Tn�,5�,5Ԅ,5�,5�},5�,5t|,5�,5K{,5�,5@z,5� ,5�x,5�#,59u,5�,5�t,5�,5Zm,5�,5Jl,5�,5Bk,5�,5Qj,5�!,5)i,5�%,5�e,5�,5�d,5�,5�^,5�,5�],5�,5�\,5�,5�[,5�,5�Z,5� ,5n,5�8,5�,5�:,5�,5�H,5O,5�J,5,5�W,5�,5�Y,5�,5�,5�,5�,5�
,5�,5
,5�,5,5�,5:,5	�,5L
,5
�,5^	,5�,5p,5�,5�,5
�,5�,5�,5�,5�,5�,5�
,5�,5�
,5),5�,5],5�,5���?https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html��	��S[https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/�%The Floating Point Guide - Comparison�/http://floating-point-gui.de/errors/comparison/�IWhat Every Computer Scientist Should Know About Floating-Point Arithmetic�.Comparing Floating Point Numbers, 2012 Edition��	�����ӣ���������	�1�ӣ�������abs_diff_eq!��	��	relative_eq!�ulps_eq!��AbsDiffEq::abs_diff_eq��	������	�Ҧ�
�	�	�����Ҧ��	��RelativeEq::relative_eq��1�4����	�UlpsEq::ulps_eq��S��V������$���	relative_ne!�ulps_ne!���Ҧ�u�	r���wabs_diff_ne!����	s��Ҧ������	��v�ө���	������Ҧ��	�t��ө��������������������I�I�I�H�J������1��������������������I�I�I�H�J�������S��������������������I�I�I�H�J�������S�U��s%PՈWZLX�j�����
\4Y�XXr�13�.�vc}�����J���_[��jln�������*�hE\xo�Oe��)G�iQ^�$�AP� "�w�XQ��["�A��I�'���E���l0� ����\�>�/�O��!<�h���c��-g�Y�j�[��+�"x��Lڰ?��v�����z�~�؟+5;�?n�%��6|6�|$��Yj�+%�q�:��=��m�K7�k^�����%3u�A��ෞ)�uA�uj,J� ��0�F���E�~�Y��~Szү�(d��	mנ1"~t$��q_�����C[�����e�8ܤ=M������ӕ�M���L�y�t֛�e�5"�O5{��������q��*�$��>�;_}ߦjq�1a�(�xrפ$9�U�R�6J���GJ�,��}��F�bq,U��  ��L�'���j���х�s.6���QZ������H��D���ӥu���D�*�kD����ȁ�p���������{V�H*{j��P3��j#ԣ3�%��Z�0)��N��������>$6%
1��4��?�n�9V/���bY��5�n��La�^���=���ݼ|�q���'y�V��\#=�~�p����O콈{-�d�j/3[�c��i#n��3�
�K3H��!W��:aύ�<趆��k��&��b��E7c=�N�3T@�~=���u��8��A���ѯ���s��i��n�Ϛ<]�P��zo�1<bo��X�Ë$�Y���q�\��mDj\�t�oB�_$5�~��%<Ʀ��q�ŏ}�����_��WύxՉr:�u����e�w�M|iA����H��%��Q��z�kǀ�}i[���L�O>S~66�,=���a^�wS�����~Nf;�1��-�09Q#��`/~e������̃BM��ۼ�TCҌ�L�]�c�1�g[I�tjb ���Ʀ�	�7��P�J��FV�.�YXt�A��+���c��]��OYG������;�;"H�,g��9D~�^DS�-�r��^gN���#LI���[��̀�_,��G��f@����h{c-�;$��n]6;��JTV�W�&WuMZ�x�Lp
%��5�J�3Y$
�>qSGx�2遦	eڻ]�9&�Ճ뀿��D��g�a�4:!��>�Z7�t�@q��+���1�$csܙ։`9��z��"7+G�G��[>�����!���@�
|`���)/���W��(b�>4�� �+j��P�f��X�Gp6�7]�,5S��3F[�VU�R�BĈ ��	�C�o!ĵ�v���zK�|+t��l�WoX���|O���O��E��_�qz�Fs�Û{��ӧ��x>R1[��m{�$x�Up@Ğ�q�����g����L����c��A�R'�`��I�–>Tx?=���9��X��R\�Bt������$I�[w�>��_ӻ%���)�~���ٚ�5kܜʎ���
��&�͸���"2��n�*P<;w���su"���F�_T��A��-���8�1eŽ����fG�r�"���S������8�&�Φ�o��Ru^2B�����I����_IP�o`$�}x�%�#o��)��_`+,gY�m�i�D�4��̨[�QN!ےU09L����K�8o����ܭ�+����S?�Nm��(6=�@8�䫺�� �n���O���D�ѥxՙGQ�J��ۿ�R����A�Q�� �UG��EK������\sv�8�s/Y��`�� ����(�}�e.���}���U��n���r�
�j�@)�V
K�=����Y�'��;���"��� �y��������Z/��>SC�CvЀK��R�м!Ay�e�T�q?�����aU�(5�і����DaQ
+|�4��V�P<��0�MYG����[O����c�qI����J�<~C#�Sۚ��7�|�#p�XCYVFed}sm��)a~���S�K�Ϯ3���p��<;W/���z��7��.
;�xz��_�.�H;�?8�*�qF@O=�C���]�{p�8;�\99i�o�k�',��ph�@��c�V`J3�<u��|\
Ÿ�[���b^��������A��`�ʇp#f�
.1�%�b`sl�t�0����a�I�?���!�[d�s��r�{�k�	%�j�$�oBjv9��	�O^�)�@�������ͤ5}.�o�_q�2�۩|�Լ��������l�P�C]NFe��d������q�0lO�D�uɩB�G�{JaN������q6� �%�FĎ��{P�F���hp���lf��Oggy�l�(�6>�Nq�Vf����2�
-NdzRV;�dU�<-�^ �MP����oI��Z4�Y"ݬO��߬Br�T�$��h��e��,c�ьճQ0�{��;�y\ڣ<24-�Y��A�
s>a���:��J3��;uӍ1:\
�<�f�d�W���`h��j:�$�`�ۆ��;�W$b[j�5�V)�ؔ��|�o�b�`G���rYbv��)�c��-�ip2�U�b�#z.Y� �!\��n�3���n!	g{?*`�2����tՏT.y@\��A�hI���B	G�1��S<�mN�+M�������������"����������;�m���*�v�����:�!�H�����������>���'�?�u���?�W�����������`���9�W�N�&����g���&�����C�����R�����P���	�����*�P�>������>�{���Y����t���%�p���!�����W���������	�?�s��������6�����_���[����o�����R�A�g���7�t���=���_����B����N������1�����<���.��� ������x���t���p���l���h���d	�	�	�	`
�
�
�
\��Ah�&
L
�
&]��������.���(�����������e�1�>�Z�}�{���+��1�R�N�p�����F��
�����������������|xtp	l
hM2

))




)))))))))))))))











Ʉ�l�d�w�2�ى>�%����$���S�+�T���C�l�����ƕ�Ӗ—)���s���|�����֢��������զŧ���c�ЪS���n�������������������C�y���������@�����Z�
�h�E�����B�����R���L����������-���&���k���Z���R�
D��6��(��������������	�	�	�
�
�
��~�b
�
<s5mڅޅ���
���&�q�����5��C�������͐
���ґؑ���9����#�:�p��.�;�R�����{��������\�ɖ!�$�(�,�0�4�A�R�I� �ؚ��O�U�b���!�k�q�~���>�����ѣM�����ϤK�����ʥ���˦��!�%�;�L�9��Ȫԯ'�-�:�v���B�H�U����c�p��� �_�l����������ԴS�������ѽ�;�o������|�1�����F�M�T�[�������V���������P�]�j�����N��,�=�c����&�3�o�������8���Z�������>������
�I����������,�����6���(����������s���eo���ak���]g���Yc���U	_	�	�	�	Q
[
�
�
�
MW}�2<b�
!
G
}
�
!W�������	#)06=CJPW]djqw~�������������������
 '-4:BHPV^dlrz�������������������܅��
�h��`�b��ĉ:�!�������Ґ�֑ڑ��>��'�?�u�0�?�W���}��������ϖ&�*�.�2���C����^�ܚS�W�g���o�s���������ף����դ����ϥ	�Ѧ��#���=����N�̪+�/�>�{�F�J�Y���e�t���a�p���������ٴ�����@�v���������=�����W��J�Q�X�d�����A�������R�_���-�����!�.�N����(�7�����������s�����	�)�������������V���E���<��.�� �������j���f���b���^���Z	�	�	�	V
�
�
�
R��7h�
L
�
&]������� &-3:@GMTZagnt{��������������������
$*17?EMS[aiow}������������������	��!�m���k��h���ǐ��]������(���̒ �4�e�“��8�L�}�ڔ!�������ؕ9�Ö�M�;�����!�_�����F�{����X���ƣ&�g���Ĥ$�r���ǥ��Y�Ħ�G�+������7�e�˰�R����-�m�����:�i�����C�����ƴ)���������O���������*�Z�g���|�)���)�8�\�����#�0�_����������5�������7�������
�9�t����������������,���}��o��a���S���E|��Ax��=t��9p��5	l	�	�	1
h
�
�
-d�I��.
s
�
M�m��e���_��J������Q���ܑ� ������,�]����2�D�u�Δ������Е-�q�×G�3�����Y����(�u����E������T������R������M���ƧA�#����ۯ1�]�����L�x�ڱ�g�����'�c����#��������h�k�����F�]��������T�a���o����#�2�S������*�V�v��������(�������
�.��������0�P�������y���������#}��o��a���S���Ez��7v��3r��/n��+j��'	f	�	�	#
b
�
�
^��C��(
j
�
D�#���o����ː��a�����,�����8�i�Ɠ�P���ޔc���ܕ=�ǖO�?�����<�����X����{�ʣ*�y�Ȥ(�����]�ȦI�/������i�ϰ/����P�����L�����n�ʴ-�������T�����D�����.��:�a����d��� ���:������<�����>��������������1���#���t��f���X���J~��Fz��Bv��>r��:	n	�	�	6
j
�
�
2f�K��0
x
�

R�x�3�����%��T�U���m������*���t�}���������������������d�T���o���������������i�����C�����M����������'���l���[�SE7�)��
�	�����	�	�
�
���c
�
=tz�5�܉�'��V�V���n���ɕ�,�Ùv������٢�������!����f�V���q������������������E���O��������)���n���]�SE7�)��
�	�����	�	�
�
���c
�
=tf�!�ȉ֐��B�C�y�[������`����b�k�����Ţ��ۣ��٤ӥ
������R�B��]���x���t�����ݴW�����1���;�������w����Z���I�
A�3�%��	�����������	�	�
�
��m�Q
�
+b*=x���CO[gs���������������+7%����"�:�����Q�a�}�������ɥK�9�T�o�k�������������\�i�+�<�%�2���������������)&�&x'�'�(A)+p+7.�.$2n3�=F>B?�?�@A{C�C�FGG�IL=U�U�V�VXzXaZ�ZS]�],`�a8b�b�chd7e�eyf`gNhi�i?j&k�#���������6@�� � �!U"_#�#�$ %Y4�4-9�9
M^MQfQ��&v'�'�(?)+n+5.�."2\3W4D>@?�?�@AyC�C�FEG�ILM�U�V�VXxX_Z�ZQ]�]*`�a6b�b�cfd5e�ewf^gLhi�i=j$kl!���������4>�� � �!S"]#�#�$%'&�4+9�9�=\MQdQ;U��&w'�'�(@)+o+6.�.#2m3X4E>A?�?�@AzC�C�FFG�IL	M�U�V�VXyX`Z�ZR]�]+`�a7b�b�cgd6e�exf_gMhi�i>j%kl"���������5?�� � �!T"^#�#�$%(&�4,9�9�=]MQeQ<U��q� �
�n�9���p���������G�I���������"���1���/��g�9�����v���������������7�������9�o�+���E���I�������6�(�yk�]�O�K�G�C�?	�	;
�
7���}
�
W�†��DŽ�f�H��������͖���&�C�R�P�Ϧ��ٯ���%�!���b�[������t�����N�������xtplhd	`
\A&
��������������������� >BKRY`gkry��������������������
!29T[m��������������������(,04AH_ft��������������������*18?FMTj�������				"	1	5	=	E	L	P	X	`	h	p	x	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	



%
5
9
A
I
P
T
\
d
l
t
|
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
$,15=EMRV^fnsw�������������������$)-5=AIQW]ciou{����������������������




#
)
/
5
;
A
G
M
T
[
b
i
p
w
~
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

&-4;BIPW^elsz�������	�
���������ÑǑ�����#�h�l�p�4�5�6�@�D�\�`����}�������.�/�0���3�7�T�X�P�T�r�v���L�M�N�����������������������������������������������~��z~�v	z	~	r
v
z
lpQU6
:
@�'��Ҫ���D�z®����Ό�A��ݫ�[���-tv�$���ˑ�'�t�7�H�d�������1� �;�\�X�z���O��������������������	~
tY>
	

,5,5�
��"���
�S�U��sV��(=��
��
"��	��S�U��s�:�ȖM�܈��
�
6+�S�U��s+uoo�!�Y�
��$]�S�U��s7�6ĥ�h�����
�XO�S�U��s	�پ��
�� �
�S�U��s���z��^�
��1
�S�U��sp
��n��,5,5��S�U��s��m�i��
��
"4�S�U��s�b�
D�ܥ16+�S�U��s��$�Itro�
���
�S�U��s��	x�J��
�� �
�S�U��s��-�2�.�
��
!��S�U��s�T�jr�
��1>
�S�U��s��E�*��
��";�S�U��s%�oKij�����XO�S�U��sk�`!�I�
�� �
�S�U��s?�=�Y�V{�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w_y5zRx�y�z�x�y�zy	z#x3yaz�x�y�z�xxvyQzqx�y�z�x�y{#y%zBxOy}z�x�y�z�x�4ODHT K��/���W�נ1"~t'<�f�d�W7�|\
Ÿ�	G����[���n�3�C���
��Ʀ��q�eO����c�,5S��3F�
\4Y�F�bq,U�7/���bJ�j�$���E�~�Y$G�{Ja �mDj\�b��>$6%G6� �%"������9D~�^D��`�� ����z.Y� �!\BQ��["�A���"��|6�|$��Yʇp#f�
�]�9&��q���'y�N�Z�0)�E�_`+,gY�A��-����� ��0�F�#P<��0�MY��q�0lO��
�K3H��T*`�2���EH;�?8�*�p�8;�\9y\ڣ<24-2�(6=�@��Y��A�
3��)G�iQ��B	G�1�H�GQ�J����&WuMZ���^gN�������O��E�P�C]NFe6���QZ�;�O>S~66o�tՏT.y@F�JTV�W�%PՈWZLX��C[���)Ӎ1:\
�6��n]6;���La�^���L�F�_T���A��`�:�$�`�9��(b�>4�[���b^�
8�1e����`h��j8[��jln�K7�k^�����l0� uA�uj,J"���lf��%�1<bo��_$x�Up@ĮK�8o���W$b[j�5;�S<�mN�+Isl�t�0��su"���� "�w�X
ӧ��x>R1��� �y������~Szү�%����{V�HA/���z��7�o`$�}x�%��(�}�e.�9i�o�k[�VU�R�B�
-NdzRV;)M����J1a�(�xr�3���х�s.:�R\�Btж9��X��#LI����@��c�V`ŏ}����fQ0�{��;�1=M������+�n�Ϛ<]]R�6J���G5�3T@�~=Y`��I�–>�p2�U�b�#AA�Q�� ���V)�ؔ�<�:��;_}ߦjq�2�wS���qkD����ȁ?�p�����@�����Z/��,=���a^pf����2�(A��ෞ)�!09L�����"x��Lڰ'���j9Ճ뀿��D���&��b��WN������q! ���Ʀ�	zz�kǀ�}m?n�%��6��z��"������$I�e�T�q?�=����Y�[��̀�_�8�&�Φ�o��$��>�1��������q�\�a�-g�Y�D�4��̨[���e�8ܤ*�p����OP�TCҌ�Lwc��A�R'��ӻ%��ܹvЀK��R����FV�.�Y|�QN!ےU���5kܜʎ�=���ݼ|�M�I�'���E�4��V��S�K�Ϯ3��z��_�.��',��ph�J3�<u�	�O^�)���e�w�iS�-�r���S?�Nm���@�������g[I�tjby^�$�AP۩|�Լ����J���_�P3��jCOggy�l�(& �MP����+����D�Y��5�n�K$��h��e�/�oI��Z4�,�P��zo�^~e������u=��m�|+t��l�W����U��n�ۆ��;�:��q��ۯ��s��i�\)�~���ٺӕ�M���L,��p��<;W������\sv��,c�ьճ0�S�U��s#ԣ3�%�D��J3��;u52遦	eڐ��n!	g{?D콈{-�dQ\��A�hI�Gx�Lp
%��aQ
+|��?��v�|�o�=>���*{j�B�]�c�1xoX���|O��h���c��ͤ5}.���}������/���Hk,��G����>SC�C����a�I�м!Ay��rYbv��)?V��\#=�~OX�Ë$�Y�`���%3u� 
.1�%�b`~�؟+5;�j�+%�q�1��-�s;"H�,g��XXr�13�.�j/3[�cR
1��4�HaU�(5�і�ۚ��7�|��!W��:aύUxՉr:�u�h*P<;w�ÿ�'��;��:!��>�Z��[w�>��_�7�t�@q��Xt�A��}��.
;�x�J�<~C#�S����D�*�>#p�XCYV��dU�<-�^*7+G�G��[�b�`G���>��~Nf;rxo�Oe
�5"�O5{�.�7��P�J{��Ru^2�
�>qSGxُqF@O=�C�6>�Nq�V'�@)�V
K����OYG�����\�>����]�{$��q_���(����_IP��+���c��]~��*�hE\	�{�k�	%[��m{���?�n�9VI��i#n��3S�o�_q�2�߬Br�T�.�8�s/Y��Fed}sm��[d�s��roBjv9��v���zK٦M|iA�jE7c=�NX��q��*0������l��<趆��kV�P�f��X���c��-�i@�
|`���)��"2��nھs>a���:4Fs�Û{����r�"���S�09Q#��`/t���������_�qz����d�����UG��EK��̃BM��ۼv�m�i��t�oB�_$5c���������ܭ�+���Y"ݬO��-�vc}�����g������r�
�j�+���1�$���L������&�͸���8�䫺�� �ۿ�R�����/�O��!<�� �+j��Tx?=�����A���ѯ�[�o!ĵ����g�a�4�Ž����fG�D�uɩB��FĎ��{P#��%��Q��l�N������F�)a~�����~��%<d�D�ѥx��Ĉ ��	�C��n���O���(d��	m&�y�t֛�e-�$9�U�4h{c-�;$�csܙ։`9�J�,��}��6�f@�����j�[��+�Gp6�7]���!���@������H�<�?���!�i[���Ln�_��Wύg�����z��j������D���ӥu=�5�J�3Y$��qI������F���hp$���u��8�Z��  ��L�8�����;��#o��)��B�����I�+:�+O�-l��L`1��#sx����1,0g�v"V.e,	c��,�s��J,Jgp���q�� ��������(P�m��X"`� �v,���bUYGDbS���5�xyQ^boz�,AT$5!|�k������h�H0^O�������l#M�F��I
����@�����l/j�Vs�X5���"^8����>$,/7`Q\n-R&Lnx,
GX"BWBcRju^{1(@/	s"Oft~X+7Gmil&+;�Y9w����:m2H	t�	�u�'e�XY!$m?Vq0����S8Jw���1K�w��F_a/y_<)i+/-v�����G%l!+W��\��N=�rg��.����.���+�j~DZ9L���l�u�����^�5������Q4���m������R)��~Z�jT����^	d^C�����
5E|�v����@N�#L(�Y^�j!��o2	Np?y��	����]�����{�&FDl:n8��w���osd$+:�+O�-l��L`1��#Y/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/approx-0.5.1/src/lib.rs� ����k�O�OA?ޡ��Y�&CD+2GELG"\Ud440HH0&>>9[0a3 K%FM<9MP]"JGEAXB?()bbY3"(6#-!
K:7
82&
eHE
0'"
V@=
]8c_SG* 
 !J*7?'=J%$+
:A'0/)0/J7?(>:PPJF"&%+5
:B%CL
'0B)0BPN $:0FFJE"!+-
:>!;9"'0:)0:|���dF/�qyծ��&)l������	�
���
������������������� �	!�	"�
#�
$�
%�&�'�(�)�*�+�,�-�
.�
/�
0�1�2�3�4�5�6�7�8�9�:�;�<�=�>�?�@�A�B�C�D�E�F�G�H�I�J�K�L�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Z�[�\�]�^�_�`�a�b�c�d�e�f�g�h�i�j�k�l� m� n� o� p�!q�!r�"s�"t�"u�"v�"w�"x�"y�#z�#{�#|�#}�$~�%�%��%��%��%��&��&��&��&��&��&��'��'��(��(��(��(��(��(��)��)��)��)��)��*��+��+��,��-��-��-��-��-��-��.��.��.��.��.��.��.��.��.��.��/��/��/��0��0��0��0��1��1��1��1��1��1��1��1��2��2��2��2��3��3��3��3��3��4��4��4��4��4��4��4��4��5��5��5��5��5��5��5��5��6��6��6��6��6��7��7��7��7��7��7��8��8��8��8��9��9��9��9��9��9��:��:��:��:��:��;��;��;��;��<��<��<��<��<��<��<��=��=��=��>��>��?��?��?��?��@��@��@��@��A��A��A��A��A��B��B��B��B��B��B��B��C��C��C��C��D��D��D��D��D��D��D��D��E��E��E��F��F��F��F��F��G��G��G��G��G��G��G��H��H��H��H��I��I��I��I��I��I��J��J��J��J��J��K��K��K��L��L��L��L��L��L��M��M��M��M��M��N��N��O��O��O��O��O��P��P��P��P��Q��Q��Q��Q��Q��Q��R��R��R��R��R��R��S��S��S��S��S��S��S��S��T��T��T��T��T��U��U��U��U��V��V��V��V��V��V��W��W��W��W��X��X��X��X��X��X��Y��Y��Y��Y�a/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/approx-0.5.1/src/abs_diff_eq.rs� ����ND�P���L��(� K02Rd +Y!H3I1dd)+ )!E#!!
#$$$&'+ )!%E21
!"""$33dd6)H/:)L/8)P;=)SA")F"e ,)M=<~*�ٮ���e����ȹ0JK�����	�
���
������������������	�	 �	!�	"�	#�
$�
%�
&�
'�
(�)�*�+�,�-�.�/�0�
1�
2�
3�
4�
5�
6�
7�
8�9�:�;�<�=�>�?�@�A�B�C�D�E�F�G�H�I�J�K�L�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Z�[�\�]�^�_�`�a�b�c�d�e�f�g�h�i�j�k�l�m�n�o�p�q�r�s�t�u�v�w�x�y�z�{�|�}�~���������������������������������� ��!��!��!��!��!��!��!��!��!��"��"��"��"��"��"��"��"��#��#��$��$��$��$��$��%��%��%��%��%��%��%��&��&��&��&��&��'��'��(��(��(�a/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/approx-0.5.1/src/relative_eq.rs� M�B�A=�2�ٝ��+� T 1N\0Y\4 %?ddMa !.%W2*#!/G"6B)!/1883
dd8."b=<.""=:.""I?."""O#."`"1[ ..""SJ�>ȹ��h�8��3��<Vef����	�
���
������������������� �!�	"�	#�
$�
%�&�'�(�)�*�+�,�-�.�/�
0�
1�2�3�4�5�6�7�8�9�:�;�<�=�>�?�@�A�B�C�D�E�F�G�H�I�J�K�L�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Z�[�\�]�^�_�`�a�b�c�d�e�f�g�h�i�j�k�l�m�n�o�p�q�r�s�t�u�v�w�x�y�z�{�|�}�~���������� �� �� �� �� �� ��!��!��!��!��!��!��!��"��"��"��"��#��#��#��#��#��#��#��$��$��$��$��$��$��$��$��%��%��&��'��'��'��'��'��'��'��'��'��(��(��(��(��(��(��)��)��)��)��)��)��*��+��+��+�]/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/approx-0.5.1/src/ulps_eq.rs� ԧH�ZJ�	4��%� Y--MT"aS,T7ddMa+PB;!/5".355I+;;
dd0#S54#W52#[A7#^G#Q"1K &#XCB/;y�$
7��f�	�{��0Jbcrs��	�
���
�������������������	 �
!�
"�
#�
$�
%�&�'�(�)�*�+�,�
-�
.�
/�
0�1�2�3�4�5�6�7�8�9�:�;�<�=�>�?�@�A�B�C�D�E�F�G�H�I�J�K�L�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Z�[�\�]�^�_�`�a�b�c�d�e�f�g�h�i�j�k�l�m�n�o�p�q�r�s�t�u�v�w�x�y�z�{�|�}�~���������� �� �� �� �� ��!��!��"��"��"��"��"��"��"��"��"��#��#��#��#��#��#��$��$��%��%��%�\/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/approx-0.5.1/src/macros.rs� f�d�X���w߰�K��4�&CD+2GELG";=C>C==C>C\=D>D^=D>D\=@>@^=@>@3**)!$'!
P**;!$'.!
a$"DKEKa$"DKEKa$"DKEKa$"DKEK]$DGEG]$DGEG;1���n8I�ީK��&)l������	�
���
�����������������	�	�	 �
!�
"�
#�
$�%�&�'�(�)�*�
+�
,�
-�
.�
/�0�1�2�3�4�5�6�7�8�9�:�;�<�=�>�?�@�A�B�C�D�E�F�G�H�I�J�K�L�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Z�[�\�]�^�_�`�a�b�c�d�e�f�g�h�i�j�k�l�m�n�o�p�q�r�s�t�u�v�w�x�y�z� {� |�!}�!~�!�"��"��"��"��#��#��#��$��%��%��%��&��&��&��&��'��'��'��(��(��(��)��)��)��)��)��*��*��+��+��,��,��,��-��-��-��-��.��.��.��/��/��0��0��1��1��1��1��1��2��2��2��3��3��4��4��4��4����R�)�U�x86_64-unknown-linux-gnu�����F�C�.r�ۑapprox�-d59ea9b0f39f134b��S�U��s�������y�y	�	TT����P����r�	����	������������������	���������������������	T��������������rP����<66�`rust-end-file.note.gnu.property.shstrtab.strtab.symtab.rmeta@ .�`�&H�`�a�5/0              0           0     0     644     624       `
ELF>�@@rustc version 1.92.0 (ded5c06cf 2025-12-08)0��.text.comment.note.GNU-stack.strtab.symtabapprox.73e4ed0255ac53fb-cgu.0 �N@0@-m(p0