Rome wrote:
Hi everyone,
I write a program for fast online multiplication, this means, leading digits are computed first, so this program is able to handle real numbers.
My program and Source-Code is available under http://www.romeinf04.de http://www.romeinf04.de
but only with german comments, because this is my master thesis.
Now the problem: My program computes using the schoenhage-strassen multiüply-subroutine the output everytime only until the 32777th Digit, but then it holds without an error message. Windows Task manager tells me CPU Usage 100% and Memory Allocation is increasing. Profiling told me, the function Algorithm.resultOfMult is using this memory. To compute the 32777th digit, my program needs several digits of the input-numbers including the 32800th. I'm using GHC 6.6.1 with option -O2 to compile.
Output is row-wise by an IO-function, calling itself recursively with updated parameters, hte output looks like:
dig11 dig21 --> res1 dig12 dig22 --> res2 dig12 dig23 --> res3 . . . and so on
If I use the Naive-Multiply-Subroutine, the problem occurs at the 16392th digit. I don't have any idea, where the problem might be...
Greetings
Roman
Please excuse my english writing, I'm from Germany.
So, a friend of mine compiled it under Linux and got this result: . . . 32779 : 1 1 ---32776--> 0 32780 : 1 0 ---32777--> -1 Main: Ix{Integer}.index: Index (32766) out of range ((0,32765)) Now I know, what i've to look for... -- View this message in context: http://www.nabble.com/Where%27s-the-problem---tf4019116.html#a11418408 Sent from the Haskell - Haskell mailing list archive at Nabble.com.