On 7/18/06, Stéphane Magnenat <[EMAIL PROTECTED]> wrote:
> There is no float usage in Nicowar, I assure you. And it does use more
> CPU, but I doubt thats the cause unless its litterally lagging your
> machine.

grep float AINicowar.h AINicowar.cpp :

AINicowar.h:                            GradientPoll(Gradient::Sources source,
Gradient::Obstacles obstacle, float weight) : is_null(false), source(source),
obstacle(obstacle), weight(weight), min_dist(-1), max_dist(-1) {}
AINicowar.h:                            float weight;
AINicowar.cpp:          average_unit_strength_level=static_cast<unsigned
int>(std::floor(static_cast<float>(average_unit_strength_level)/static_cast<float>(total)+0.5))-1;
AINicowar.cpp:          average_unit_strength_level=static_cast<unsigned
int>(std::floor(static_cast<float>(average_unit_strength_level)/static_cast<float>(total)+0.5))-1;
AINicowar.cpp:                  float score=0;
AINicowar.cpp:                                  const float weight =
CONSTRUCTION_FACTORS[building_type][factor].weight;
AINicowar.cpp:
score+=static_cast<float>(top_left)*weight;
AINicowar.cpp:
score+=static_cast<float>(top_right)*weight;
AINicowar.cpp:
score+=static_cast<float>(bottom_left)*weight;
AINicowar.cpp:
score+=static_cast<float>(bottom_right)*weight;
AINicowar.cpp:                  tp.percent=static_cast<unsigned
int>(static_cast<float>(counts[i])/static_cast<float>(num_buildings_wanted[i])*100);
AINicowar.cpp:  float devisor=1;
AINicowar.cpp:          devisor=static_cast<float>(max)/16.0;
AINicowar.cpp:  float
average_happiness=static_cast<float>(total_happiness)/static_cast<float>(total_units);
AINicowar.cpp:                          float
enemy_average_happiness=static_cast<float>(enemy_happiness)/static_cast<float>(enemy_units);

It seems it does. Don't forget floating point format does not constrain
handling of least significant bits, so different CPU (even both x86) can give
different results. We had this bug in glob2 earlier in the same type of
computation Nicowar is currently doing.

I agree for the CPU.

Steph


_______________________________________________
glob2-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/glob2-devel


Yeah, Kai already emailed me with a grep. I, unfortently, am not at my
house, and I can't work on glob2 for atleast three weeks while my
family moves. Worse yet, me might have to get modem-internet in our
next house. Anyway, all of these usages are independant casts, so in
my case, atleast the same CPU will give the same results every time.

I'll fix this as soon as I have time. Sorry everyone, my mistake.

--
Start and finish, Bradley Arsenault

ps: I guess the unstable tag stays on


_______________________________________________
glob2-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/glob2-devel

Reply via email to