ref: 6a92df2f3791d1fd2ec6b6a31eba418e450808a8
dir: /test/acm_random.h/
/*
* Copyright (c) 2012 The WebM project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef LIBVPX_TEST_ACM_RANDOM_H_
#define LIBVPX_TEST_ACM_RANDOM_H_
#include <stdlib.h>
#include "vpx/vpx_integer.h"
namespace libvpx_test {
class ACMRandom {
public:
explicit ACMRandom(int seed) { Reset(seed); }
void Reset(int seed) { srand(seed); }
uint8_t Rand8(void) { return (rand() >> 8) & 0xff; }
int PseudoUniform(int range) { return (rand() >> 8) % range; }
int operator()(int n) { return PseudoUniform(n); }
static int DeterministicSeed(void) { return 0xbaba; }
};
} // namespace libvpx_test
#endif // LIBVPX_TEST_ACM_RANDOM_H_