This file is indexed.

/usr/include/ETL/_random.h is in etl-dev 1.2.1-0.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*! ========================================================================
** Extended Template and Library
** Random Number Generator Class Implementation
** $Id$
**
** Copyright (c) 2002 Robert B. Quattlebaum Jr.
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
** published by the Free Software Foundation; either version 2 of
** the License, or (at your option) any later version.
**
** This package is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
** General Public License for more details.
**
** === N O T E S ===========================================================
**
** This is an internal header file, included by other ETL headers.
** You should not attempt to use it directly.
**
** ========================================================================= */

/* === S T A R T =========================================================== */

#ifndef __ETL__RANDOM_H
#define __ETL__RANDOM_H

/* === H E A D E R S ======================================================= */

/* === M A C R O S ========================================================= */

/* === C L A S S E S & S T R U C T S ======================================= */

_ETL_BEGIN_NAMESPACE

/*
class rand_source_xor
{
public:
	typedef int seed_type;
	typedef short value_type;

private:
	short entropy_pool[256];
	int pool_index;

public:
	random()
	{
		seed(0);
		mod=offset=0;
	}

	void seed(const seed_type &x)
	{ pool_index=0; }

	void add_entropy(value_type entropy)
	{
		int i;
		for(i=0;i<POOL_SIZE;i++)
			entropy^=(entropy_pool[i]^=entropy*i);
	}

	void add_entropy(const value_type *entropy, int size)
	{
	}

	short get_short()
	{
		if(pool_index>POOL_SIZE)
			pool_index=0;
		if(mod)
			return entropy_pool[pool_index++]%mod+offset;
		return entropy_pool[pool_index++];
	}
};
*/

template <class T,int POOL_SIZE=256>
class random
{
public:
	typedef T value_type;
	typedef int seed_type;

private:
	value_type entropy_pool[POOL_SIZE];
	int pool_index;

	value_type mod,offset;

public:
	random()
	{
		seed(0);
		mod=offset=0;
	}

	void seed(const seed_type &x __attribute__ ((unused)))
	{ pool_index=0; }

	void set_range(const value_type &floor,const value_type &ceil)
	{ mod=ceil-floor; offset=floor; }

	void set_range(const value_type &ceil)
	{ mod=ceil; }

	void add_entropy(value_type entropy)
	{
		int i;
		for(i=0;i<POOL_SIZE;i++)
			entropy^=(entropy_pool[i]^=entropy*i);
	}

	void add_entropy(const char *entropy)
	{
	}

	value_type operator()(void)
	{
		if(pool_index>POOL_SIZE)
			pool_index=0;
		if(mod)
			return entropy_pool[pool_index++]%mod+offset;
		return entropy_pool[pool_index++];
	}
};

/* === T Y P E D E F S ===================================================== */

_ETL_END_NAMESPACE

/* === E N D =============================================================== */

#endif