Thank you for the information, Ralph. I already installed Mercury and can see that it has all, more or less, what I shall need. <br>The first step in my original plan was to build a special Prolog compiler but with Mercury it's already done for me. So, many thanks to Mercury's team for that and many thanks to you, Ralph, for the copy of the special unboxed, full-precision float <tt><tt>array. I'll use it for the 32 bit machines.<br><br></tt></tt>Best Regards,<br><br>Rod<br><br><b><i>Ralph Becket <rafe@csse.unimelb.edu.au></i></b> wrote:<blockquote class="replbq" style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"> Hi Rod,<br><br>RMJ, Wednesday, 11 October 2006:<br>>    Being totally new to Mercury (although I have a long experience with<br>>    Prolog, C/C++ and many others) I wonder if Mercury is a good choice,<br>>    in performance & flexibility, to program some experimental neural<br>>    networks and observing
 their convergence?<br><br>Anthony Lee Senyard did a PhD here at Melbourne a few years ago on just<br>this topic and used Mercury for his work.  He would be a good person to<br>talk to if you want to track him down.<br><br>On 64 bit architectures there is no performance penalty for floating<br>point performance in Mercury.<br><br>On 32 bit architectures there is, because Mercury's float type is<br>equivalent to a C double, which occupies two machine words and hence<br>every stored float value has to be boxed (i.e., stored on the heap).<br><br>However, you can build the Mercury compiler with<br>MR_USE_SINGLE_PREC_FLOAT, which makes Mercury's float type equivalent to<br>a C float, and therefore doesn't need to be boxed.  The trade off here<br>is loss of precision for increased performance.<br><br>For Anthony I implemented a special unboxed, full-precision float array<br>type which sped his programs up substantially.  I'd be happy to let you<br>have a copy.<br><br>In a
 nutshell: Mercury is an excellent language for building robust<br>software, its performance is very good, but it has not been highly<br>optimized for floating point intensive applications.  (Of course, that<br>could change if enough users make the request...)<br><br>-- Ralph<br></blockquote><br><p>
                <hr size=1>Yahoo! Messenger with Voice. <a href="http://us.rd.yahoo.com/mail_us/taglines/postman1/*http://us.rd.yahoo.com/evt=39663/*http://voice.yahoo.com">Make PC-to-Phone Calls</a> to the US (and 30+ countries) for 2¢/min or less.