Post
Topic
Board Pools (Altcoins)
Re: [ANN] The First Litecoin PPS Pool (litecoinpool.org)
by
Perp
on 04/10/2020, 06:42:45 UTC
Hello.
I'm asked on the different forums but no answer. Maybe here?

There in cgminer exist such code:

static uint8_t diff_to_bits(double diff)
{
   uint64_t diff64;
   uint8_t i;

   diff /= 0.9999847412109375;
   diff *= (double)2147483648.0;
   if (diff > 0x8000000000000000ULL)
      diff = 0x8000000000000000ULL;
   /* Convert it to an integer */
   diff64 = diff;
   for (i = 0; diff64; i++, diff64 >>= 1);

   return i;
}

static double bits_to_diff(uint8_t bits)
{
   double ret = 1.0;

   if (likely(bits > 32))
      ret *= 1ull << (bits - 32);
   else if (unlikely(bits < 32))
      ret /= 1ull << (32 - bits);
   return ret;
}

How to adapt this code for scrypt to calculate diff to bits and vice versa?

Thanks!