# Enumeration of Places

In several situations one needs to loop over the places of a function field until either the one finds a place with special properties or until they generate a certain group. The functions listed here support this.

## `PlaceEnumInit(K): FldFun -> PlcEnum`

```magma
Coprime: Any                        Default: 
All    : BoolElt                    Default: false
```

Initialises an enumeration process for places of the function field $K$. The enumeration process will loop over all irreducible polynomials of the underlying finite field and for each polynomial over all primes lying above it.

If `Coprime` is given, it should be either a set of places that should be ignored in the process or a divisor. In case a divisor is passed in only places coprime to the divisor will be returned.

If `All` is `false`, the infinite places won’t be considered.

## `PlaceEnumInit(P): PlcFunElt -> PlcEnum`

```magma
Coprime: Any                    Default: 
```

Constructs an enumeration process for places starting at the place $P$.

If `Coprime` is given, it should be either a set of places that should be ignored in the process or a divisor. In case a divisor is passed in only places coprime to the divisor will be returned.

## `PlaceEnumInit(K, Pos): FldFun, [RngIntElt]) -> PlcEnum`

```magma
Coprime: Any                    Default: 
```

Constructs an enumeration environment that starts at the place of the function field $K$ indexed by *Pos* as returned from [`PlaceEnumPosition`](#function-fldfunab-placeenumposition).

## `PlaceEnumCopy(R): PlcEnum -> PlcEnum`

Copies the environment and the current state of the enumeration process for places $R$.

## `PlaceEnumPosition(R): PlcEnum -> [RngIntElt]`

Returns a list of integers that acts as an index to the places as enumerated by the environment $R$.

## `PlaceEnumNext(R): PlcEnum -> PlcFunElt`

Returns the “next” place of the process $R$.

## `PlaceEnumCurrent(R): PlcEnum -> PlcFunElt`

Returns the current place pointed to by the environment $R$, i.e. the last place returned by `PlaceEnumNext`.
