On Dec 11, 9:54 pm, "[Jongware]" <IdontWantS...@[EMAIL PROTECTED]
> wrote:
> <MICHAEL.MCA...@[EMAIL PROTECTED]
> wrote in message
news:27050775-1fae-4366-8a82-
> >I've boiled the entire program down to a
> > very simple turbo c++ app written specifically to test the output
> > number of stars. Unfortunately it is still producing the incorrect
> > numbers of stars! The name generation code is working well on the
> > plus side though.
>
> Well, 50% ain't bad ...
>
> > When I scale this program up to c# I get the same error as well.
>
> > I'm either beginning to believe I'm somehow being incredibly stupid or
> > it must be the compiler. Which compiler etc are you using to build
> > your app? I'm using good old Borland Turbo C++ Version 3.0 dated 1992.
>
> Borland C++ 5.3 for Win32; the command line version, which is totally
free (!).
> The same code also works on MSVC 6.0, well, after adjusting for their
deviant
> rotl interpretation.
> I can't think of anything other than variable size, as these are my
conversions
> from the original registers used. That explains, by the by, why I had to
add
> some manual overrides (i.e., casts to signed long).
> Main input values are the galaxy array itself (unsigned char) and
SystemDensity
> (unsigned short). Perhaps your compiler casts these wrong ... for
example, if
> the input line is ecx >>= 16; your compiler may treat it accidentaly as
> *signed*, so 0x8000 becomes 0xffff.
>
> [Jw]
Thanks Jong, it works perfectly under borland C++ 5.5 which means its
a compiler problem *Grrrr*. I'll look into it then when i find the
cause i'll post it for you guys.


|