message: rng/mwc: add assertions
diff: #ifndef _MWC_H_
  #define _MWC_H_
  +#include <stdio.h>
  +
  +#include "internal.h"
  +
  /**
  * @class MWC
  * @brief A super-fast multiply-with-carry pseudo-random number generator.
  class MWC {
  public:
  explicit MWC(unsigned int seed1, unsigned int seed2) : z(seed1), w(seed2) {
  + assert(seed1 != 0);
  + assert(seed2 != 0);
  + //debug("MWC seed1: %u seed2: %u\n", seed1, seed2);
  }
  inline unsigned int next(void) {
  + assert(w != 0);
  + assert(z != 0);
  // These magic numbers are derived from a note by George Marsaglia.
  - unsigned int znew = (z = 36969 * (z & 65535) + (z >> 16));
  - unsigned int wnew = (w = 18000 * (w & 65535) + (w >> 16));
  + unsigned int znew = 36969 * (z & 65535) + (z >> 16);
  + unsigned int wnew = 18000 * (w & 65535) + (w >> 16);
  unsigned int x = (znew << 16) + wnew;
  + //debug("MWC: %8x\n", x);
  + assert(wnew != 0);
  + assert(znew != 0);
  + w = wnew;
  + z = znew;
  return x;
  }
  