From 72fbb846dfaed57465d852488a7f1bd8beaf6a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kn=C3=BCttel?= Date: Thu, 25 Oct 2018 13:49:36 +0200 Subject: [PATCH] added reference to float.as_integer_ratio --- ex_01_03.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ex_01_03.py b/ex_01_03.py index 2c56197..3e94536 100644 --- a/ex_01_03.py +++ b/ex_01_03.py @@ -1,6 +1,7 @@ #!/usr/bin/python3 import math +import cmath def bailey_borwein_plouffe_pi(n): """ @@ -26,3 +27,16 @@ if( __name__ == "__main__"): # Because ``a/b`` **cannot** return the same object as ``math.pi``, # the latter was created when the module ``math`` was initialized, # this will **always** evaluate to False. + + # As it turns out there is also the ``float.as_integer_ratio``. + # Now I kind of assume that this exercise aims torward this crap. + # You can use this method to construct two integers that are a + # fractional representation of the float. + # + # I doubt very much that there is a use case for this crap. + # There is the built-in module ``decimal`` that provides + # a proper way of dealing with floating point arithmetics, + # rounding and precision. + + a,b = math.pi.as_integer_ratio() + assert a/b == math.pi