Ranthon is a collection of Python packages written by WFlyToTheSky. It requires the FileLog, Math, Decimal, and Random projects, which are automatically installed with the project.
InfSeq is a Python module that generates numbers in infinite sequences. So far it includes six modules CalFib which generates numbers in the Fibonacci Sequence for a set number of rounds, CalFibLon which calculates the Fibonacci Sequence forever, CalPiDart which calculates the digets of 兀 (Pronounced Pi) for a set number of rounds using the dart method, CalPiDartLon which calculates the digets of 兀 (Pronounced Pi) forever using the dart method, CalPiVie which calculates the digets of 兀 (Pronounced Pi) for a set number of rounds using Viète’s method, and CalPiVieLon which calculates the digets of 兀 (Pronounced Pi) forever using Viète’s method.
The first attribute of CalFib is the amount of times you want to run the code, and the second attribute is if you want to log the numbers or not (Write True if you want to log it and False if you don't). This module uses the FileLog project.
def calfib(loop, log):
n = 1
x = 0
p = x
if log == True:
for i in range(loop):
x = n
n = (n + p)
Writer('current', False) >> n
p = x
Writer('previos', False) >> p
else:
for i in range(loop):
x = n
n = (n + p)
p = x
return n
There is only one attribute to CalFibLon it is the log attribute which I mentioned on the CalFib section of the documentation, but I will explain it again here. The attribute checks if you want to log the numbers or not (Write True if you want to log it and False if you don't). This module uses the FileLog project.
def calfiblon(log):
n = 1
x = 0
p = x
if log == True:
while True:
x = n
n = (n + p)
Writer('current', False) >> n
p = x
Writer('previos', False) >> p
if log == False:
while True:
x = n
n = (n + p)
p = x
The first attribute of CalPiDart is the seed used to generate random numbers, the second attribute is the amount of times you want to run the code (The higher it is the slower, but it is more acurate), and the third attrubute is if you want to log it or not (Write True if you do, and False if you do not). This module uses the projects Random and FileLog.
def calpidart(seed, rounds, log):
inside = 0
random.seed(seed)
if log == True:
for i in range(rounds):
# compute position of the point
x = random.uniform(0.0, 1.0)
y = random.uniform(0.0, 1.0)
result = x*x + y*y
if (result <= 1.0):
inside += 1
Writer('current', False) >> inside
else:
for i in range(rounds):
# compute position of the point
x = random.uniform(0.0, 1.0)
y = random.uniform(0.0, 1.0)
result = x*x + y*y
if (result <= 1.0):
inside += 1
return(inside)
The first attribute of CalPiDartLon is the seed used to generate random numbers, and the second attrubute is if you want to log it or not (Write True if you do, and False if you do not). This module uses the projects Random and FileLog.
def calpidartlon(seed, log):
inside = 0
random.seed(seed)
if log == True:
while True:
# compute position of the point
x = random.uniform(0.0, 1.0)
y = random.uniform(0.0, 1.0)
result = x*x + y*y
if (result <= 1.0):
inside += 1
Writer('current', False) >> inside
else:
while True:
# compute position of the point
x = random.uniform(0.0, 1.0)
y = random.uniform(0.0, 1.0)
result = x*x + y*y
if (result <= 1.0):
inside += 1
The first attribute of CalPiVie is the amount of times you want to run the code (The higher it is the slower, but it is more acurate), the second attribute is the maximum amount of digets you want to have, and the third attribute is whether or not you want to log it. This module uses the projects Math, Decimal, and FileLog.
def calpivie(rounds, digetmax, log):
purple = Decimal(math.sqrt(2))
answer = Decimal(purple / 2)
getcontext().prec = digetmax
if log == True:
for i in range(rounds):
purple = Decimal(math.sqrt(2 + purple))
answer = Decimal(answer * (purple / 2))
Writer('current', False) >> Decimal(2 / answer)
else:
for i in range(rounds):
purple = Decimal(math.sqrt(2 + purple))
answer = Decimal(answer * (purple / 2))
return(Decimal(2 / answer))
The first attribute of CalPiVieLon is the maximum amount of digets you want to have, and the second attribute is whether or not you want to log it. This module uses the projects Math, Decimal, and FileLog.
def calpivielon(digetmax, log):
purple = Decimal(math.sqrt(2))
answer = Decimal(purple / 2)
getcontext().prec = digetmax
if log == True:
while True:
purple = Decimal(math.sqrt(2 + purple))
answer = Decimal(answer * (purple / 2))
Writer('current', False) >> Decimal(2 / answer)
else:
while True:
purple = Decimal(math.sqrt(2 + purple))
answer = Decimal(answer * (purple / 2))
Thanks for reading my documentation, and I hope you learned some stuff about how to use my python project Ranthon.