# NAME

Math::NumSeq::DigitCount -- count of a given digit

# SYNOPSIS

`````` use Math::NumSeq::DigitCount;
my \$seq = Math::NumSeq::DigitCount->new (radix => 10,
digit => 9);
my (\$i, \$value) = \$seq->next;``````

# DESCRIPTION

The count of how many of a given digit is in `\$i` when written out in a given radix. The default is to count how many 9s in decimal.

``````    0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ...
starting i=0``````

For example i=19 has a single "9" so value=1.

The `radix` and `digit` options can select a different number base or different digit to count. For example to count the 0-bits in binary,

``````    # radix=>2, digit=>0
0, 0, 1, 0, 2, 1, 1, 0, 3, 2, 2, 1, 2, 1, 1, 0, 4, 3, 3, 2, ...
starting i=0``````

i=0 is treated as no digits at all, so it has value=0 for the count of 0-bits, and similarly in other bases counting 0 digits.

Option `digit => -1` gives the highest digit in the radix, ie. radix-1. This is the default, so if `radix` is given the count is of its biggest digit.

# FUNCTIONS

See "FUNCTIONS" in Math::NumSeq for behaviour common to all sequence classes.

`\$seq = Math::NumSeq::DigitCount->new (radix => \$r, digit => \$d)`

Create and return a new sequence object.

`digit` can be -1 to mean digit radix-1, the highest digit in the radix.

## Random Access

`\$value = \$seq->ith(\$i)`

Return how many of the given `digit` is in `\$i` written in `radix`.

`\$bool = \$seq->pred(\$value)`

Return true if `\$value` might occur as a digit count, which means simply `\$value>=0`.