random.h
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #ifndef RANDOM_H
  14. #define RANDOM_H
  15. /***************************************************************
  16. * I N C L U D E D   F I L E S                                  *
  17. ***************************************************************/
  18. /***************************************************************
  19. * M A C R O S                                                  *
  20. ***************************************************************/
  21. /***************************************************************/
  22. /* C O N S T A N T S                                           */
  23. /***************************************************************/
  24. /***************************************************************
  25. * D A T A   S T R U C T U R E S                                *
  26. ***************************************************************/
  27. typedef struct {
  28.    unsigned int  length;
  29.    unsigned int *values;
  30.    unsigned int  currentIndex;
  31. }RandomSequence;
  32. typedef struct {
  33.    unsigned int length;
  34.    unsigned int value;
  35. }SequenceValues;
  36. /***************************************************************
  37. * P U B L I C    F U N C T I O N S                             *
  38. ***************************************************************/
  39. #ifdef __cplusplus
  40. extern "C" {
  41. #endif
  42. extern double getTps(unsigned int count, double timeValue);
  43. /*----------------------------*/
  44. /* Random Sequences Functions */
  45. /*----------------------------*/
  46. extern int  initSequence(RandomSequence *seq, SequenceValues *inputValues);
  47. extern unsigned int getNextRandom(RandomSequence *seq);
  48. extern void printSequence(RandomSequence *seq, unsigned int numPerRow);
  49. /*---------------------------------------------------*/
  50. /* Code from the glibc, to make sure the same random */
  51. /* number generator is used by all                   */
  52. /*---------------------------------------------------*/
  53. extern void myRandom48Init(long int seedval);
  54. extern long int myRandom48(unsigned int maxValue);
  55. #ifdef __cplusplus
  56. }
  57. #endif
  58. /***************************************************************
  59. * E X T E R N A L   D A T A                                    *
  60. ***************************************************************/
  61. #endif /* RANDOM_H */