From 3abb0b4c04f230f9f515d0dd2507c1991a3ffd7e Mon Sep 17 00:00:00 2001 From: Vipin Karthic Date: Wed, 4 Oct 2023 20:47:39 +0530 Subject: [PATCH 1/9] Python mirror_formulae.py is added to the repository --- physics/mirror_formulae.py | 87 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 physics/mirror_formulae.py diff --git a/physics/mirror_formulae.py b/physics/mirror_formulae.py new file mode 100644 index 000000000000..25556928126f --- /dev/null +++ b/physics/mirror_formulae.py @@ -0,0 +1,87 @@ +""" +This module contains the functions to calculate the focal length, object distance and image distance of a mirror. + +The mirror formula is an equation that relates the object distance (u), image distance (v), and focal length (f) of a spherical mirror. +It is commonly used in optics to determine the position and characteristics of an image formed by a mirror. It is expressed using the formulae : + +------------------- +| 1/f = 1/v + 1/u | +------------------- + +Where, +f = Focal length of the spherical mirror (metre) +v = Image distance from the mirror (metre) +u = Object distance from the mirror (metre) + + +The signs of the distances are taken with respect to the sign convention. The sign convention is as follows: + 1) Object is always placed to the left of mirror + 2) Distances measured in the direction of the incident ray are positive and the distances measured in the direction opposite to that of the incident rays are negative. + 3) All distances are measured from the pole of the mirror. + + +There are a few assumptions that are made while using the mirror formulae. They are as follows: + 1) Thin Mirror: The mirror is assumed to be thin, meaning its thickness is negligible compared to its radius of curvature. This assumption allows us to treat the mirror as a two-dimensional surface. + 2) Spherical Mirror: The mirror is assumed to have a spherical shape. While this assumption may not hold exactly for all mirrors, it is a reasonable approximation for most practical purposes. + 3) Small Angles: The angles involved in the derivation are assumed to be small. This assumption allows us to use the small-angle approximation, where the tangent of a small angle is approximately equal to the angle itself. It simplifies the calculations and makes the derivation more manageable. + 4) Paraxial Rays: The mirror formula is derived using paraxial rays, which are rays that are close to the principal axis and make small angles with it. This assumption ensures that the rays are close enough to the principal axis, making the calculations more accurate. + 5) Reflection and Refraction Laws: The derivation assumes that the laws of reflection and refraction hold. These laws state that the angle of incidence is equal to the angle of reflection for reflection, and the incident and refracted rays lie in the same plane and obey Snell's law for refraction. + +(Description and Assumptions adapted from https://www.collegesearch.in/articles/mirror-formula-derivation) +(Sign Convention adapted from https://www.toppr.com/ask/content/concept/sign-convention-for-mirrors-210189/) + + +""" +def focal_length(distance_of_object : float , distance_of_image : float ) -> float: + """ + >>> focal_length(10, 20) + 6.666666666666667 + >>> focal_length(9.5, 6.7) + 3.929012346 + >>> focal_length(0, 20) + Traceback (most recent call last): + ... + ValueError: Invalid inputs. Enter non zero values with respect to the sign convention. + """ + + if distance_of_object == 0 or distance_of_image == 0 or focal_length == 0: + raise ValueError("Invalid inputs. Enter non zero values with respect to the sign convention.") + focal_length = 1/((1/distance_of_object) + (1/distance_of_image)) + return focal_length + +def object_distance(focal_length : float , distance_of_image : float ) -> float: + """ + >>> object_distance(30, 20) + -60 + >>> object_distance(10.5, 11.7) + 102.375 + >>> object_distance(90, 0) + Traceback (most recent call last): + ... + ValueError: Invalid inputs. Enter non zero values with respect to the sign convention. + """ + + if distance_of_object == 0 or distance_of_image == 0 or focal_length == 0: + raise ValueError("Invalid inputs. Enter non zero values with respect to the sign convention.") + object_distance = 1/((1/focal_length) - (1/distance_of_image)) + return object_distance + +def image_distance(distance_of_object : float , focal_length : float ) -> float: + """ + >>> image_distance(10, 40) + 13.33333333 + >>> image_distance(1.5, 6.7) + 1.932692308 + >>> image_distance(0, 0) + Traceback (most recent call last): + ... + ValueError: Invalid inputs. Enter non zero values with respect to the sign convention. + """ + + if distance_of_object == 0 or distance_of_image == 0 or focal_length == 0: + raise ValueError("Invalid inputs. Enter non zero values with respect to the sign convention.") + image_distance = 1/((1/focal_length) + (1/distance_of_object)) + return image_distance + + + \ No newline at end of file From bc1942a29dc40a8f612981e09dec9583767d9f69 Mon Sep 17 00:00:00 2001 From: Vipin Karthic Date: Wed, 4 Oct 2023 21:31:55 +0530 Subject: [PATCH 2/9] Changes done after reading readme.md --- physics/mirror_formulae.py | 110 ++++++++++++++++++++++++------------- 1 file changed, 72 insertions(+), 38 deletions(-) diff --git a/physics/mirror_formulae.py b/physics/mirror_formulae.py index 25556928126f..68e9b5cb90bf 100644 --- a/physics/mirror_formulae.py +++ b/physics/mirror_formulae.py @@ -1,11 +1,14 @@ """ -This module contains the functions to calculate the focal length, object distance and image distance of a mirror. +This module contains the functions to calculate the focal length, object distance +and image distance of a mirror. -The mirror formula is an equation that relates the object distance (u), image distance (v), and focal length (f) of a spherical mirror. -It is commonly used in optics to determine the position and characteristics of an image formed by a mirror. It is expressed using the formulae : +The mirror formula is an equation that relates the object distance (u), +image distance (v), and focal length (f) of a spherical mirror. +It is commonly used in optics to determine the position and characteristics +of an image formed by a mirror. It is expressed using the formulae : ------------------- -| 1/f = 1/v + 1/u | +| 1/f = 1/v + 1/u | ------------------- Where, @@ -14,25 +17,48 @@ u = Object distance from the mirror (metre) -The signs of the distances are taken with respect to the sign convention. The sign convention is as follows: +The signs of the distances are taken with respect to the sign convention. +The sign convention is as follows: 1) Object is always placed to the left of mirror - 2) Distances measured in the direction of the incident ray are positive and the distances measured in the direction opposite to that of the incident rays are negative. + 2) Distances measured in the direction of the incident ray are positive + and the distances measured in the direction opposite to that of the incident + rays are negative. 3) All distances are measured from the pole of the mirror. -There are a few assumptions that are made while using the mirror formulae. They are as follows: - 1) Thin Mirror: The mirror is assumed to be thin, meaning its thickness is negligible compared to its radius of curvature. This assumption allows us to treat the mirror as a two-dimensional surface. - 2) Spherical Mirror: The mirror is assumed to have a spherical shape. While this assumption may not hold exactly for all mirrors, it is a reasonable approximation for most practical purposes. - 3) Small Angles: The angles involved in the derivation are assumed to be small. This assumption allows us to use the small-angle approximation, where the tangent of a small angle is approximately equal to the angle itself. It simplifies the calculations and makes the derivation more manageable. - 4) Paraxial Rays: The mirror formula is derived using paraxial rays, which are rays that are close to the principal axis and make small angles with it. This assumption ensures that the rays are close enough to the principal axis, making the calculations more accurate. - 5) Reflection and Refraction Laws: The derivation assumes that the laws of reflection and refraction hold. These laws state that the angle of incidence is equal to the angle of reflection for reflection, and the incident and refracted rays lie in the same plane and obey Snell's law for refraction. +There are a few assumptions that are made while using the mirror formulae. +They are as follows: + 1) Thin Mirror: The mirror is assumed to be thin, meaning its thickness is + negligible compared to its radius of curvature. This assumption allows + us to treat the mirror as a two-dimensional surface. + 2) Spherical Mirror: The mirror is assumed to have a spherical shape. While this + assumption may not hold exactly for all mirrors, it is a reasonable approximation + for most practical purposes. + 3) Small Angles: The angles involved in the derivation are assumed to be small. + This assumption allows us to use the small-angle approximation, where the tangent + of a small angle is approximately equal to the angle itself. It simplifies the + calculations and makes the derivation more manageable. + 4) Paraxial Rays: The mirror formula is derived using paraxial rays, which are + rays that are close to the principal axis and make small angles with it. This + assumption ensures that the rays are close enough to the principal axis, making the + calculations more accurate. + 5) Reflection and Refraction Laws: The derivation assumes that the laws of + reflection and refraction hold. + These laws state that the angle of incidence is equal to the angle of reflection + for reflection, and the incident and refracted rays lie in the same plane and + obey Snell's law for refraction. -(Description and Assumptions adapted from https://www.collegesearch.in/articles/mirror-formula-derivation) -(Sign Convention adapted from https://www.toppr.com/ask/content/concept/sign-convention-for-mirrors-210189/) +(Description and Assumptions adapted from +https://www.collegesearch.in/articles/mirror-formula-derivation) + +(Sign Convention adapted from +https://www.toppr.com/ask/content/concept/sign-convention-for-mirrors-210189/) """ -def focal_length(distance_of_object : float , distance_of_image : float ) -> float: + + +def focal_length(distance_of_object: float, distance_of_image: float) -> float: """ >>> focal_length(10, 20) 6.666666666666667 @@ -41,15 +67,19 @@ def focal_length(distance_of_object : float , distance_of_image : float ) -> flo >>> focal_length(0, 20) Traceback (most recent call last): ... - ValueError: Invalid inputs. Enter non zero values with respect to the sign convention. - """ - - if distance_of_object == 0 or distance_of_image == 0 or focal_length == 0: - raise ValueError("Invalid inputs. Enter non zero values with respect to the sign convention.") - focal_length = 1/((1/distance_of_object) + (1/distance_of_image)) + ValueError: Invalid inputs. Enter non zero values with respect + to the sign convention. + """ + + if distance_of_object == 0 or distance_of_image == 0: + raise ValueError( + "Invalid inputs. Enter non zero values with respect to the sign convention." + ) + focal_length = 1 / ((1 / distance_of_object) + (1 / distance_of_image)) return focal_length -def object_distance(focal_length : float , distance_of_image : float ) -> float: + +def object_distance(focal_length: float, distance_of_image: float) -> float: """ >>> object_distance(30, 20) -60 @@ -58,15 +88,19 @@ def object_distance(focal_length : float , distance_of_image : float ) -> float: >>> object_distance(90, 0) Traceback (most recent call last): ... - ValueError: Invalid inputs. Enter non zero values with respect to the sign convention. - """ - - if distance_of_object == 0 or distance_of_image == 0 or focal_length == 0: - raise ValueError("Invalid inputs. Enter non zero values with respect to the sign convention.") - object_distance = 1/((1/focal_length) - (1/distance_of_image)) + ValueError: Invalid inputs. Enter non zero values with respect + to the sign convention. + """ + + if distance_of_image == 0 or focal_length == 0: + raise ValueError( + "Invalid inputs. Enter non zero values with respect to the sign convention." + ) + object_distance = 1 / ((1 / focal_length) - (1 / distance_of_image)) return object_distance -def image_distance(distance_of_object : float , focal_length : float ) -> float: + +def image_distance(distance_of_object: float, focal_length: float) -> float: """ >>> image_distance(10, 40) 13.33333333 @@ -75,13 +109,13 @@ def image_distance(distance_of_object : float , focal_length : float ) -> float: >>> image_distance(0, 0) Traceback (most recent call last): ... - ValueError: Invalid inputs. Enter non zero values with respect to the sign convention. - """ - - if distance_of_object == 0 or distance_of_image == 0 or focal_length == 0: - raise ValueError("Invalid inputs. Enter non zero values with respect to the sign convention.") - image_distance = 1/((1/focal_length) + (1/distance_of_object)) + ValueError: Invalid inputs. Enter non zero values with respect + to the sign convention. + """ + + if distance_of_object == 0 or focal_length == 0: + raise ValueError( + "Invalid inputs. Enter non zero values with respect to the sign convention." + ) + image_distance = 1 / ((1 / focal_length) + (1 / distance_of_object)) return image_distance - - - \ No newline at end of file From d0979d36bc656ce3671fbc1522cba5ef7a4cf26d Mon Sep 17 00:00:00 2001 From: Vipin Karthic Date: Thu, 5 Oct 2023 08:00:36 +0530 Subject: [PATCH 3/9] Changes for running doctest on all platforms --- physics/mirror_formulae.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/physics/mirror_formulae.py b/physics/mirror_formulae.py index 68e9b5cb90bf..e9b82fe3e84f 100644 --- a/physics/mirror_formulae.py +++ b/physics/mirror_formulae.py @@ -57,13 +57,13 @@ """ - +from math import isclose def focal_length(distance_of_object: float, distance_of_image: float) -> float: """ - >>> focal_length(10, 20) - 6.666666666666667 - >>> focal_length(9.5, 6.7) - 3.929012346 + >>> isclose(focal_length(10, 20), 6.666666666666667) + True + >>> isclose(focal_length(9.5, 6.7), 3.929012346) + True >>> focal_length(0, 20) Traceback (most recent call last): ... @@ -81,10 +81,10 @@ def focal_length(distance_of_object: float, distance_of_image: float) -> float: def object_distance(focal_length: float, distance_of_image: float) -> float: """ - >>> object_distance(30, 20) - -60 - >>> object_distance(10.5, 11.7) - 102.375 + >>> isclose(object_distance(30, 20), -60.0) + True + >>> isclose(object_distance(10.5, 11.7), 102.375) + True >>> object_distance(90, 0) Traceback (most recent call last): ... @@ -100,12 +100,12 @@ def object_distance(focal_length: float, distance_of_image: float) -> float: return object_distance -def image_distance(distance_of_object: float, focal_length: float) -> float: +def image_distance(focal_length: float, distance_of_object: float) -> float: """ - >>> image_distance(10, 40) - 13.33333333 - >>> image_distance(1.5, 6.7) - 1.932692308 + >>> isclose(image_distance(10, 40), 13.33333333) + True + >>> isclose(image_distance(1.5, 6.7), 1.932692308) + True >>> image_distance(0, 0) Traceback (most recent call last): ... @@ -117,5 +117,5 @@ def image_distance(distance_of_object: float, focal_length: float) -> float: raise ValueError( "Invalid inputs. Enter non zero values with respect to the sign convention." ) - image_distance = 1 / ((1 / focal_length) + (1 / distance_of_object)) + image_distance = 1 / ((1 / focal_length) - (1 / distance_of_object)) return image_distance From e5f2d76ef48721e71993e4b491c4bb4ce23f74c0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 02:31:19 +0000 Subject: [PATCH 4/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- physics/mirror_formulae.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/physics/mirror_formulae.py b/physics/mirror_formulae.py index e9b82fe3e84f..27d25220b781 100644 --- a/physics/mirror_formulae.py +++ b/physics/mirror_formulae.py @@ -58,6 +58,8 @@ """ from math import isclose + + def focal_length(distance_of_object: float, distance_of_image: float) -> float: """ >>> isclose(focal_length(10, 20), 6.666666666666667) From 0ed896b61b9b7d5d8a79d9062d0b92d65774625e Mon Sep 17 00:00:00 2001 From: Vipin Karthic Date: Thu, 5 Oct 2023 09:12:18 +0530 Subject: [PATCH 5/9] Change 2 for Doctests --- physics/mirror_formulae.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/physics/mirror_formulae.py b/physics/mirror_formulae.py index e9b82fe3e84f..f1b4ac2c7baf 100644 --- a/physics/mirror_formulae.py +++ b/physics/mirror_formulae.py @@ -57,11 +57,13 @@ """ -from math import isclose + def focal_length(distance_of_object: float, distance_of_image: float) -> float: """ - >>> isclose(focal_length(10, 20), 6.666666666666667) + >>> from math import isclose + >>> isclose(focal_length(10, 20), 6.66666666666666) True + >>> from math import isclose >>> isclose(focal_length(9.5, 6.7), 3.929012346) True >>> focal_length(0, 20) @@ -81,8 +83,10 @@ def focal_length(distance_of_object: float, distance_of_image: float) -> float: def object_distance(focal_length: float, distance_of_image: float) -> float: """ + >>> from math import isclose >>> isclose(object_distance(30, 20), -60.0) True + >>> from math import isclose >>> isclose(object_distance(10.5, 11.7), 102.375) True >>> object_distance(90, 0) @@ -102,8 +106,10 @@ def object_distance(focal_length: float, distance_of_image: float) -> float: def image_distance(focal_length: float, distance_of_object: float) -> float: """ + >>> from math import isclose >>> isclose(image_distance(10, 40), 13.33333333) True + >>> from math import isclose >>> isclose(image_distance(1.5, 6.7), 1.932692308) True >>> image_distance(0, 0) From 8affc05a9c19ea774dcad69c8a0f18c6d33ba250 Mon Sep 17 00:00:00 2001 From: Vipin Karthic Date: Thu, 5 Oct 2023 09:19:51 +0530 Subject: [PATCH 6/9] Changes for doctest 2 --- physics/mirror_formulae.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/physics/mirror_formulae.py b/physics/mirror_formulae.py index 07715172712d..f1b4ac2c7baf 100644 --- a/physics/mirror_formulae.py +++ b/physics/mirror_formulae.py @@ -57,11 +57,6 @@ """ -<<<<<<< HEAD -======= -from math import isclose - ->>>>>>> e5f2d76ef48721e71993e4b491c4bb4ce23f74c0 def focal_length(distance_of_object: float, distance_of_image: float) -> float: """ From e250edebc922d81a10f97ac25743fce53f2a7eca Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Thu, 5 Oct 2023 03:50:31 +0000 Subject: [PATCH 7/9] updating DIRECTORY.md --- DIRECTORY.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index 696a059bb4c8..5f23cbd6c922 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -170,6 +170,7 @@ ## Data Structures * Arrays + * [Median Two Array](data_structures/arrays/median_two_array.py) * [Permutations](data_structures/arrays/permutations.py) * [Prefix Sum](data_structures/arrays/prefix_sum.py) * [Product Sum](data_structures/arrays/product_sum.py) @@ -185,6 +186,7 @@ * [Diff Views Of Binary Tree](data_structures/binary_tree/diff_views_of_binary_tree.py) * [Distribute Coins](data_structures/binary_tree/distribute_coins.py) * [Fenwick Tree](data_structures/binary_tree/fenwick_tree.py) + * [Flatten Binarytree To Linkedlist](data_structures/binary_tree/flatten_binarytree_to_linkedlist.py) * [Inorder Tree Traversal 2022](data_structures/binary_tree/inorder_tree_traversal_2022.py) * [Is Bst](data_structures/binary_tree/is_bst.py) * [Lazy Segment Tree](data_structures/binary_tree/lazy_segment_tree.py) @@ -324,6 +326,7 @@ * [Longest Common Substring](dynamic_programming/longest_common_substring.py) * [Longest Increasing Subsequence](dynamic_programming/longest_increasing_subsequence.py) * [Longest Increasing Subsequence O(Nlogn)](dynamic_programming/longest_increasing_subsequence_o(nlogn).py) + * [Longest Palindromic Subsequence](dynamic_programming/longest_palindromic_subsequence.py) * [Longest Sub Array](dynamic_programming/longest_sub_array.py) * [Matrix Chain Order](dynamic_programming/matrix_chain_order.py) * [Max Non Adjacent Sum](dynamic_programming/max_non_adjacent_sum.py) @@ -539,6 +542,7 @@ * [Average Mode](maths/average_mode.py) * [Bailey Borwein Plouffe](maths/bailey_borwein_plouffe.py) * [Basic Maths](maths/basic_maths.py) + * [Bell Numbers](maths/bell_numbers.py) * [Binary Exp Mod](maths/binary_exp_mod.py) * [Binary Exponentiation](maths/binary_exponentiation.py) * [Binary Exponentiation 3](maths/binary_exponentiation_3.py) @@ -690,6 +694,7 @@ * [Matrix Class](matrix/matrix_class.py) * [Matrix Operation](matrix/matrix_operation.py) * [Max Area Of Island](matrix/max_area_of_island.py) + * [Median Matrix](matrix/median_matrix.py) * [Nth Fibonacci Using Matrix Exponentiation](matrix/nth_fibonacci_using_matrix_exponentiation.py) * [Pascal Triangle](matrix/pascal_triangle.py) * [Rotate Matrix](matrix/rotate_matrix.py) @@ -708,8 +713,8 @@ * Activation Functions * [Exponential Linear Unit](neural_network/activation_functions/exponential_linear_unit.py) * [Leaky Rectified Linear Unit](neural_network/activation_functions/leaky_rectified_linear_unit.py) - * [Scaled Exponential Linear Unit](neural_network/activation_functions/scaled_exponential_linear_unit.py) * [Rectified Linear Unit](neural_network/activation_functions/rectified_linear_unit.py) + * [Scaled Exponential Linear Unit](neural_network/activation_functions/scaled_exponential_linear_unit.py) * [Back Propagation Neural Network](neural_network/back_propagation_neural_network.py) * [Convolution Neural Network](neural_network/convolution_neural_network.py) * [Perceptron](neural_network/perceptron.py) @@ -756,9 +761,11 @@ * [Kinetic Energy](physics/kinetic_energy.py) * [Lorentz Transformation Four Vector](physics/lorentz_transformation_four_vector.py) * [Malus Law](physics/malus_law.py) + * [Mirror Formulae](physics/mirror_formulae.py) * [N Body Simulation](physics/n_body_simulation.py) * [Newtons Law Of Gravitation](physics/newtons_law_of_gravitation.py) * [Newtons Second Law Of Motion](physics/newtons_second_law_of_motion.py) + * [Photoelectric Effect](physics/photoelectric_effect.py) * [Potential Energy](physics/potential_energy.py) * [Rms Speed Of Molecule](physics/rms_speed_of_molecule.py) * [Shear Stress](physics/shear_stress.py) From c79e13270ac53dd99fadf7c943912a38ddeb7398 Mon Sep 17 00:00:00 2001 From: Vipin Karthic Date: Thu, 5 Oct 2023 12:49:45 +0530 Subject: [PATCH 8/9] Doctest whitespace error rectification to mirror_formulae.py --- physics/mirror_formulae.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/physics/mirror_formulae.py b/physics/mirror_formulae.py index f1b4ac2c7baf..7efc52438140 100644 --- a/physics/mirror_formulae.py +++ b/physics/mirror_formulae.py @@ -66,7 +66,7 @@ def focal_length(distance_of_object: float, distance_of_image: float) -> float: >>> from math import isclose >>> isclose(focal_length(9.5, 6.7), 3.929012346) True - >>> focal_length(0, 20) + >>> focal_length(0, 20) # doctest: +NORMALIZE_WHITESPACE Traceback (most recent call last): ... ValueError: Invalid inputs. Enter non zero values with respect @@ -89,7 +89,7 @@ def object_distance(focal_length: float, distance_of_image: float) -> float: >>> from math import isclose >>> isclose(object_distance(10.5, 11.7), 102.375) True - >>> object_distance(90, 0) + >>> object_distance(90, 0) # doctest: +NORMALIZE_WHITESPACE Traceback (most recent call last): ... ValueError: Invalid inputs. Enter non zero values with respect @@ -112,7 +112,7 @@ def image_distance(focal_length: float, distance_of_object: float) -> float: >>> from math import isclose >>> isclose(image_distance(1.5, 6.7), 1.932692308) True - >>> image_distance(0, 0) + >>> image_distance(0, 0) # doctest: +NORMALIZE_WHITESPACE Traceback (most recent call last): ... ValueError: Invalid inputs. Enter non zero values with respect From 5355c9727a5574c6811a79b5e72a17f89dc5e73f Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Thu, 5 Oct 2023 07:44:59 +0000 Subject: [PATCH 9/9] updating DIRECTORY.md --- DIRECTORY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/DIRECTORY.md b/DIRECTORY.md index 5f23cbd6c922..b0ba3c3852da 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -469,6 +469,7 @@ * [Djb2](hashes/djb2.py) * [Elf](hashes/elf.py) * [Enigma Machine](hashes/enigma_machine.py) + * [Fletcher16](hashes/fletcher16.py) * [Hamming Code](hashes/hamming_code.py) * [Luhn](hashes/luhn.py) * [Md5](hashes/md5.py)