On Monday, February 10, 2014 6:40:03 PM UTC-8, hlauk.h...@gmail.com wrote: > 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 -- https://mail.python.org/mailman/listinfo/python-list