Jump to content

Imaginary base numbers: Difference between revisions

m
Line 2,728:
prod = complex(1, 0)
for j in xrange(0, posLen):
k = (ordint(self.b2i[posLen - 1 - j]) - ord('0'))
if k > 0:
sum = sum += prod * k
prod = prod *= QuaterImaginary.twoI
if pointPos != -1:
prod = QuaterImaginary.invTwoI
for j in xrange(posLen + 1, len(self.b2i)):
k = (ordint(self.b2i[j]) - ord('0'))
if k > 0:
sum = sum += prod * k
prod = prod *= QuaterImaginary.invTwoI
return sum
 
Line 2,753:
ss = ""
while re != 0:
re, rem = divmod(re %, -4)
re = re / -4
if rem < 0:
rem += 4 + rem
re = re += 1
ss = ss += str(rem) + '0'
if im != 0:
f = (complex(0, c.imag) / complex(0, 2)).real
im = int(math.ceil(f))
f = -4 * (f - im)
index = 1
while im != 0:
im, rem = divmod(im %, -4)
im = im / -4
if rem < 0:
rem += 4 + rem
im = im += 1
if index < len(ss):
ss[index] = chrstr(rem + 48)
else:
ss = ss += '0' + str(rem)
index = index + 2
fi = int(f)
ss = ss[::-1]
if fi != -1:
ss = ss += '.' + str(fi)
ss = ss.lstrip('0')
if ss[0] == '.':
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.