New to Py 3.3.3 having prob. with large integer div. float.

H

hlauk.h.bogart

I am coming off Python 2.6.6 32 bite platform and now in win 8.1 64 bite.
I had no problems with gmpy in 2.6.6 and large integer floating points where
you could control the length of the floating point by entering the bite size
of the divisor(s) you are using. That would give the limit length of the float
in the correct number of bites.

In Python 3.3.3 and gmpy2 I have tried many things in the import mpfr module
changing and trying all kinds of parameters in the gmpy2 set_context module
and others.

The best I can get without an error is the results of a large integer
division is a/b = inf. or an integer rounded up or down.
I can't seem to find the right settings for the limit of the remainders in the
quotient.

My old code in the first few lines of 2.6.6 worked great and looked like this -

import gmpy

BIG =(A large composite with 2048 bites)
SML =(a smaller divisor with 1024 bites)

Y= gmpy.mpz(1)
A= gmpy.mpf(1)

y=Y
x=BIG
z=SML
a=A
k=BIG
j=BIG
x=+ gmpy.next.prime(x)

while y < 20:
B = gmpy.mpf(x.1024)
## the above set the limit of z/b float (see below) to 1024
b=B
a=z/b
c=int(a)
d=a-c
if d = <.00000000000000000000000000000000001:
proc. continues from here with desired results.

gmpy2 seems a lot more complex but I am sure there is a work around.
I am not interested in the mod function.

My new conversion proc. is full of ## tags on the different things
I tried that didn't work.

TIA

Dan
 
C

casevh

I am coming off Python 2.6.6 32 bite platform and now in win 8.1 64 bite.
I had no problems with gmpy in 2.6.6 and large integer floating points where
you could control the length of the floating point by entering the bite size
of the divisor(s) you are using. That would give the limit length of the float
in the correct number of bites.

In Python 3.3.3 and gmpy2 I have tried many things in the import mpfr module
changing and trying all kinds of parameters in the gmpy2 set_context module
and others.

The best I can get without an error is the results of a large integer
division is a/b = inf. or an integer rounded up or down.
I can't seem to find the right settings for the limit of the remainders in the
quotient.

My old code in the first few lines of 2.6.6 worked great and looked like this -

import gmpy

BIG =(A large composite with 2048 bites)
SML =(a smaller divisor with 1024 bites)

Y= gmpy.mpz(1)
A= gmpy.mpf(1)

y=Y

x=BIG
z=SML
a=A
k=BIG
j=BIG
x=+ gmpy.next.prime(x)

while y < 20:
B = gmpy.mpf(x.1024)
## the above set the limit of z/b float (see below) to 1024
b=B
a=z/b
c=int(a)
d=a-c
if d = <.00000000000000000000000000000000001:
proc. continues from here with desired results.

gmpy2 seems a lot more complex but I am sure there is a work around.
I am not interested in the mod function.

My new conversion proc. is full of ## tags on the different things
I tried that didn't work.

TIA
Dan

The following example will divide two integers with a result precision
of 1024 bits:

import gmpy2

# Set mpfr precision to 1024
gmpy2.get_context().precision=1024

# Omitting code....

a = gmpy2.mpz(SML)/gmpy2.mpz(x)

Python 3.x performs true division by default. When integer division involves
an mpz, the result will be an mpfr with the precision of the current context.

Does this help?

casevh
 
H

hlauk.h.bogart

The following example will divide two integers with a result precision

of 1024 bits:



import gmpy2



# Set mpfr precision to 1024

gmpy2.get_context().precision=1024



# Omitting code....



a = gmpy2.mpz(SML)/gmpy2.mpz(x)



Python 3.x performs true division by default. When integer division involves

an mpz, the result will be an mpfr with the precision of the current context.



Does this help?



casevh

Thanks a lot, I will give it a go.

Dan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,045
Latest member
DRCM

Latest Threads

Top