Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (744)
Games in Android Showcase (225)
games submitted by our members
Games in WIP (825)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Hgh precision arithmetic in Java.  (Read 1777 times)
0 Members and 1 Guest are viewing this topic.
Offline Raghar

Junior Devvie




Ue ni taete 'ru hitomi ni kono mi wa dou utsuru


« Posted 2005-08-10 16:59:19 »

So I went into a nice problem of additing a some high precision number cababilities to the Java.

Namely 128 bit primitives, 256 bit primitives, and unlimited depth precision.
I already discovered why Intel preffers high endian, better for multiplying and forward iteration during addition.

IIRC SSE2 registers don't support carry flag (or adc), so I might be forced to use a slighly less efficient algorithm for parallel computation.

This library seems to look interesting. It's backed by byte arrays (could hotspot translate (a &0xff)*b(&0xff) to mul eax, ebx   ?) I have also a nice asm code sniplets for addition of full native support to the hotspot under MMX compatibile IA32 platforms.

So whats are your thoughts on Java supporting 128 bit numbers natively?
Offline Jeff

JGO Coder




Got any cats?


« Reply #1 - Posted 2005-08-10 22:15:47 »

We talking int or float ?

For int BigInt has existed for quite ahwile.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Raghar

Junior Devvie




Ue ni taete 'ru hitomi ni kono mi wa dou utsuru


« Reply #2 - Posted 2005-08-11 17:41:19 »

Actually both.

Note I talked about 128 bit and 256 bit primitives. BigInt isn't exactly what you'd like to use for fixed size arithmetic when you would like to have data in one place of memory for a long time.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Raghar

Junior Devvie




Ue ni taete 'ru hitomi ni kono mi wa dou utsuru


« Reply #3 - Posted 2005-08-18 18:00:55 »

Java has a high precision library, with support for high precision arithmetic, and some other features. Like endian independence, and ability to work with buffers.

Funny thing is it's curently not exactly usable for my purposes. And benchmarks showed it's 29 x slower for int multiplication, and 300 times slower for 16 byte multiplication than standard int multiplication on 32 bit computer. It's not exactly bad and for things that needs such precision it's better than nothing.
Interface is nice, and prety much usable with future versions of simillar libraries.
Pages: [1]
  ignore  |  Print  
 
 

 
Ecumene (148 views)
2017-09-30 02:57:34

theagentd (213 views)
2017-09-26 18:23:31

cybrmynd (296 views)
2017-08-02 12:28:51

cybrmynd (285 views)
2017-08-02 12:19:43

cybrmynd (295 views)
2017-08-02 12:18:09

Sralse (288 views)
2017-07-25 17:13:48

Archive (967 views)
2017-04-27 17:45:51

buddyBro (1093 views)
2017-04-05 03:38:00

CopyableCougar4 (1665 views)
2017-03-24 15:39:42

theagentd (1426 views)
2017-03-24 15:32:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!