>>> Gilles Detillieux <[EMAIL PROTECTED]> 03-May-00 12:50:10 >>>
>
> I'm assuming this is 3.2.0b2 you're testing?
>
Sorry, yes I'm using 3.2.0b2.
>
> generateStars() should probably have a test like this, to prevent
> excess star_blank images:
>
> if (score < 0)
> score = 0;
>
> However, the root of the problem seems to be in buildMatchList(). It
> sets the score for the current match to 1.0 + log(score), but calculates
> minScore and maxScore based solely on the value of score. It should
> take the log of these, either before or after the min/max calculation,
> shouldn't it?
I changed
thisMatch->setScore(1.0 + log(score));
to
score = 1.0 + log(score);
thisMatch->setScore(score);
Since maxScore and minScore are set after this, they now get the appropriate
(negative) scores so normalization works later on. I'm not quite sure what the
purpose of the logarithm is. There is a hack farther up that tries to prevent
negative numbers by setting score to 1.0 if it is too small. however this is within
the backlink_factor code (see below) and doesn't get executed when b_f is set to zero.
Should this line be before the b_f code? Or should (1.0 + log(score)) be (log(1.0 +
score))? Or should the log get dropped completely?
Terry Luedtke
National Library of Medicine
==== From Display.cc =======
if (date_factor != 0.0 || backlink_factor != 0.0)
{
score += date_factor *
((thisRef->DocTime() * 1000 / (double)time(0)) - 900);
int links = thisRef->DocLinks();
if (links == 0)
links = 1; // It's a hack, but it helps...
score += backlink_factor
* (thisRef->DocBackLinks() / (double)links);
!! if (score <= 1.0) //!!!!! Why is this inside the if(d_f || b_f) statement?
!! score = 1.0; //!!!!!
}
------------------------------------
To unsubscribe from the htdig3-dev mailing list, send a message to
[EMAIL PROTECTED]
You will receive a message to confirm this.