|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Apr 14, 2006 1:43 am
CMUD is Double-precision and 64-bit Integers! |
This will be happy news for a lot of people:
CMUD supports Double-precision floating point (compared to Single-precision in zMUD). And more exciting is that CMUD supports 64-bit Integer math (compared to 32-bit in zMUD).
This means that the maximum number in CMUD is 9,223,372,036,854,775,808 which should be large enough to handle all of those billions of experience points that you have.
My guess is that this will be a killer feature for a lot of people and encourage conversion to CMUD. |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Fri Apr 14, 2006 3:22 am |
should be, but it's definitely one of those all or nothing options. Simutronics (at least in Dragonrealms) doesn't even HAVE large numbers that bumped up against the old single-precision limit. Was very annoying to bump into this limit, though, when ZMud was operating in glorified calculator mode.
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
edb6377 Magician
Joined: 29 Nov 2005 Posts: 482
|
Posted: Fri Apr 14, 2006 3:49 am |
rofl mattlofton. Now that was a funny statement.
|
|
_________________ Confucious say "Bugs in Programs need Hammer" |
|
|
|
SilentDawn Beginner
Joined: 19 Jan 2006 Posts: 11 Location: Sydney, Australia
|
Posted: Mon Apr 17, 2006 11:42 pm |
Okay, now the gauntlet has been thrown down.
Can anybody suggest a creative use for a 64 bit integer while playing a MUD??? |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Apr 18, 2006 1:23 am |
Take a look at some of the high-precision math scripts in the Finished zMUD Scripts forum. This has been a common request for MUDs that do not have a 32-bit "cap" on experience.
With 32-bit math, the largest integer is 2,147,483,648. That's 2 billion. There are some MUDs that have more than 2 billion exp. Just displaying the experience would be no problem in zMUD because zMUD just treats it as a string. But when you start doing things like calculating the amount of experience needed till the next level and stuff like that, then you need larger numbers.
That's the most common use I have seen and the main reason people have requested it (at least in the email I've received). I also didn't use to think it was needed, which is why zMUD was only 32-bit. But I got enough requests for larger numbers over the years and it was time to add it to CMUD. Also, the way CMUD is designed, making this change was very easy. |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Tue Apr 18, 2006 4:06 am |
Quote: |
Can anybody suggest a creative use for a 64 bit integer while playing a MUD???
|
I have a sneaking suspicion that this might require an even larger integer size, but a recent project of mine was to come up with a conversion table for Elanthian Time Units in Simutronics Dragonrealms MUD. I had the largely-mainstream conversions in place, but then I found out that ZMud isn't able to handle a number like 1/32000 (something around that size was needed to convert from seconds to years where seconds is equivalent to some fraction of a year). |
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Apr 18, 2006 4:14 am |
That's actually a difference between Single precision and Double precision for the floating-point math. I don't think it has anything to do with the Integer size (I'm assuming you really meant 1.0/32000 as a floating point value). Or yes, if you were trying to get around the floating point issue and handle it all as Integers where you'd multiply by 32000, then do some calculations, then divide by 32000 again later, then yes the larger integers will help with that too.
But the change from Single to Double precision will have a big impact on anyone who was trying to use floating point. Single precision is only accurate for a small number of places after the decimal (7-8 digits). So you'd get a lot of rounding errors and stuff like that. Double precision not only allows larger floating point values, but also provides more accuracy to smaller values (15-16 digits). |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Tue Apr 18, 2006 10:13 pm |
err, yeah, that's what I meant.
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
|
|