# eoDetUniformMutation< EOT > Class Template Reference

eoDetUniformMutation --> changes exactly k values of the std::vector by uniform choice with range epsilon More...

`#include <Tutorial/eoRealOp.h>`

Inheritance diagram for eoDetUniformMutation< EOT >:

List of all members.

## Public Member Functions

| eoDetUniformMutation (const double &_epsilon, const unsigned &_no=1)
| (Default) Constructor for homogeneous genotype it's there mostly for backward compatibility
| eoDetUniformMutation (eoRealVectorBounds &_bounds, const double &_epsilon, const unsigned &_no=1)
| Constructor with bounds.
| eoDetUniformMutation (eoRealVectorBounds &_bounds, const std::vector< double > &_epsilon, const unsigned &_no=1)
| Constructor with bounds and full std::vector of epsilon.
virtual std::string | className () const
| The class name.
bool | operator() (EOT &_eo)
| Do it!

## Private Attributes

bool | homogeneous
eoRealVectorBounds & | bounds
std::vector< double > | epsilon
unsigned | no

## Detailed Description

### template<class EOT>
class eoDetUniformMutation< EOT >

eoDetUniformMutation --> changes exactly k values of the std::vector by uniform choice with range epsilon

Definition at line 144 of file eoRealOp.h.

## Constructor & Destructor Documentation

template<class EOT>
eoDetUniformMutation< EOT >::eoDetUniformMutation | ( | const double & | _epsilon,
|  | const unsigned & | _no = `1`
| ) | `[inline]`

(Default) Constructor for homogeneous genotype it's there mostly for backward compatibility

Parameters:

  | _epsilon | the range for uniform nutation
  | number | of coordinate to modify

Definition at line 154 of file eoRealOp.h.

template<class EOT>
eoDetUniformMutation< EOT >::eoDetUniformMutation | ( | eoRealVectorBounds & | _bounds,
|  | const double & | _epsilon,
|  | const unsigned & | _no = `1`
| ) | `[inline]`

Constructor with bounds.

Parameters:

  | _bounds | an eoRealVectorBounds that contains the bounds
  | _epsilon | the range for uniform nutation (to be scaled if necessary)
  | number | of coordinate to modify

Definition at line 164 of file eoRealOp.h.

References eoRealBaseVectorBounds::isBounded(), and eoRealBaseVectorBounds::range().

template<class EOT>
eoDetUniformMutation< EOT >::eoDetUniformMutation | ( | eoRealVectorBounds & | _bounds,
|  | const std::vector< double > & | _epsilon,
|  | const unsigned & | _no = `1`
| ) | `[inline]`

Constructor with bounds and full std::vector of epsilon.

Parameters:

  | _bounds | an eoRealVectorBounds that contains the bounds
  | _epsilon | the VECTOR of ranges for uniform mutation
  | number | of coordinate to modify

Definition at line 181 of file eoRealOp.h.

References eoRealBaseVectorBounds::isBounded(), and eoRealBaseVectorBounds::range().

## Member Function Documentation

template<class EOT>
bool eoDetUniformMutation< EOT >::operator() | ( | EOT & | _eo | ) | `[inline, virtual]`

Do it!

Parameters:

  | _eo | The indi undergoing the mutation

Implements eoUF< EOT &, bool >.

Definition at line 199 of file eoRealOp.h.

References eoRealBaseVectorBounds::isMaxBounded(), eoRealBaseVectorBounds::isMinBounded(), eoRealBaseVectorBounds::maximum(), eoRealBaseVectorBounds::minimum(), eoRng::random(), and eoRng::uniform().

The documentation for this class was generated from the following file:

- eoRealOp.h