[#absl-log_uniform_int_distribution]
= xref:absl.adoc[absl]::log&lowbar;uniform&lowbar;int&lowbar;distribution
:relfileprefix: ../
:mrdocs:

Returns a random variate R in range &lsqb;min, max&rsqb;such that floor(log(R&hyphen;min, base)) is uniformly distributed&period;

== Synopsis

Declared in `&lt;absl&sol;random&sol;log&lowbar;uniform&lowbar;int&lowbar;distribution&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename IntType = int&gt;
class log&lowbar;uniform&lowbar;int&lowbar;distribution;
----

== Description

We ensure uniformity by discretization using the boundary sets &lsqb;0, 1, base, base &ast; base, &period;&period;&period; min(base&rsqb;&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:absl/log_uniform_int_distribution/param_type.adoc[`param&lowbar;type`] 
| The parameter set of the distribution&period;
|===


== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:absl/log_uniform_int_distribution/result_type.adoc[`result&lowbar;type`] 
| The type of the values produced by the distribution&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/log_uniform_int_distribution/2constructor-0f4.adoc[`log&lowbar;uniform&lowbar;int&lowbar;distribution`]         [.small]#[constructor]#
| Constructors
| xref:absl/log_uniform_int_distribution/base.adoc[`base`] 
| Returns the base of the logarithm&period;
| xref:absl/log_uniform_int_distribution/max.adoc[`max`] 
| Returns the largest value the distribution can produce&period;
| xref:absl/log_uniform_int_distribution/min.adoc[`min`] 
| Returns the smallest value the distribution can produce&period;
| xref:absl/log_uniform_int_distribution/operator_call-00.adoc[`operator()`] 
| Function call operators
| xref:absl/log_uniform_int_distribution/param-0c.adoc[`param`] 
| `param` overloads
| xref:absl/log_uniform_int_distribution/reset.adoc[`reset`] 
| Resets the internal state of the distribution&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:absl/operator_not_eq-072.adoc[absl::operator!&equals;]`
| Compares two distributions for inequality&period;
| `xref:absl/operator_eq-09.adoc[absl::operator&equals;&equals;]`
| Compares two distributions for equality&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
