On 3/18/11, Sven Eckelmann <sven(a)narfation.org> wrote:
On Thursday 17 March 2011 23:40:06 hlabishi kobo
wrote:
Hi thank you very much for your suggestions Sven,
they were really
helpful. i actually now put the below code down which i am still busy
trying to test it.
int weighted_bit_packet_count(TYPE_OF_WORD *seq_bits)
{
int i,check, count = 0;
int j;
//TYPE_OF_WORD *word;
int word;
for (i = 0; i < NUM_WORDS; i++) {
word = seq_bits[i];
for (j = 0; j < 32; j++){
check = (word & (1 << j)) >> j;
if (check == 1)
count += j;
}
printk("our count is %d\n", count);
return count;
}
//printk("our count is %d\n", count);
//return count;
}
When i am using it on two PC's my ping seems to be recording much
delay. I will appreciate your feedback in this regard.
Thank you and kind Regards
Thank you very much Sven. Your feedback have been really helpful.
Ehrm, you know that you ignore the fact that
seq_bits[i] may be 64 bits?
I actually printed the seq_bits[i] and that is basically
why i used 32
but that was just for debugging purpose. But actually if i use
NUM_WORDS, my weighted sum become very small whereas if i use 32 it
becomes very big, trying to understand what might be causing it to be
that way.
And
you only calculate the weighted sum of a single
"word" (which you static
casted to int....?) and not all words.
i actually dont understand this very well,
how many words does seq_bits[i] have?
And the sum is still wrong weighted
(you still give zero weight for the newest one and
increase the weight for the older).
Thanks for letting alerting me about this, i hv
now changed from
ascending to descending order.
And the way you check the bits is even for a sequential
implementation
overly complex. And it is normal that printk heavily increase the amount of
time... maybe you meant that by delay.
even if i comment out the printk() statement
its still carries with the delay.
Sry, I have really no idea what I should say to it.
Regards,
Sven
Kind Regards
Hlabishi