﻿ g05tb Method
g05tb generates a vector of pseudorandom logical values – true with probability $p$ and false with probability $\left(1-p\right)$.

Syntax

C#
```public static void g05tb(
int n,
double p,
G05..::..G05State g05state,
bool[] x,
out int ifail
)```
Visual Basic
```Public Shared Sub g05tb ( _
n As Integer, _
p As Double, _
g05state As G05..::..G05State, _
x As Boolean(), _
<OutAttribute> ByRef ifail As Integer _
)```
Visual C++
```public:
static void g05tb(
int n,
double p,
G05..::..G05State^ g05state,
array<bool>^ x,
[OutAttribute] int% ifail
)```
F#
```static member g05tb :
n : int *
p : float *
g05state : G05..::..G05State *
x : bool[] *
ifail : int byref -> unit
```

Parameters

n
Type: System..::..Int32
On entry: $n$, the number of pseudorandom logical values to be generated.
Constraint: ${\mathbf{n}}\ge 0$.
p
Type: System..::..Double
On entry: must contain the probability of g05tb returning true.
Constraint: $0.0\le {\mathbf{p}}\le 1.0$.
g05state
Type: NagLibrary..::..G05..::..G05State
An Object of type G05.G05State.
x
Type: array<System..::..Boolean>[]()[][]
An array of size [n]
On exit: the $n$ logical values.
ifail
Type: System..::..Int32%
On exit: ${\mathbf{ifail}}={0}$ unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).

Description

g05tb generates $n$ logical values ${x}_{i}$ from the relation
 $yi
where ${y}_{i}$ is a pseudorandom number from a uniform distribution over $\left(0,1\right]$, generated by g05sa using the values of state as input to this method.
One of the initialization methods (G05KFF not in this release) (for a repeatable sequence if computed sequentially) or (G05KGF not in this release) (for a non-repeatable sequence) must be called prior to the first call to g05tb.

References

Knuth D E (1981) The Art of Computer Programming (Volume 2) (2nd Edition) Addison–Wesley

Error Indicators and Warnings

Errors or warnings detected by the method:
${\mathbf{ifail}}=1$
On entry, ${\mathbf{n}}<0$.
${\mathbf{ifail}}=2$
 On entry, ${\mathbf{p}}<0.0$, or ${\mathbf{p}}>1.0$.
${\mathbf{ifail}}=3$
 On entry, state vector was not initialized or has been corrupted.
${\mathbf{ifail}}=-9000$
An error occured, see message report.
${\mathbf{ifail}}=-8000$
Negative dimension for array $〈\mathit{\text{value}}〉$
${\mathbf{ifail}}=-6000$
Invalid Parameters $〈\mathit{\text{value}}〉$

Not applicable.

None.