Generators for search spaces. More...
Functions | |
| std::set< Configuration > | cartesianProduct (const std::set< ContainerOption > &allowedContainerOptions, const std::set< TraversalOption > &allowedTraversalOptions, const std::set< LoadEstimatorOption > &allowedLoadEstimatorOptions, const std::set< DataLayoutOption > &allowedDataLayoutOptions, const std::set< Newton3Option > &allowedNewton3Options, const NumberSet< double > *allowedCellSizeFactors, const std::set< VectorizationPatternOption > &allowedVecPatternOptions, const InteractionTypeOption &interactionType, bool throwIfNone=true) |
| Fills the search space with the cartesian product of the given options (minus invalid combinations). | |
| std::set< double > | calculateRelevantCsfs (const NumberInterval< double > &numberInterval, double interactionLength, double domainLengthX) |
| For a given domain parametrization, calculate which cell size factors (csf) in an interval actually are useful to generate distinct numbers of cells. | |
Generators for search spaces.
| std::set< double > autopas::SearchSpaceGenerators::calculateRelevantCsfs | ( | const NumberInterval< double > & | numberInterval, |
| double | interactionLength, | ||
| double | domainLengthX | ||
| ) |
For a given domain parametrization, calculate which cell size factors (csf) in an interval actually are useful to generate distinct numbers of cells.
A cell is assumed to be of side length interactionLength * csf.
| numberInterval | |
| interactionLength | |
| domainLengthX | Only consider the domain length in one dimension, since the csf is also one dimensional. |
| std::set< Configuration > autopas::SearchSpaceGenerators::cartesianProduct | ( | const std::set< ContainerOption > & | allowedContainerOptions, |
| const std::set< TraversalOption > & | allowedTraversalOptions, | ||
| const std::set< LoadEstimatorOption > & | allowedLoadEstimatorOptions, | ||
| const std::set< DataLayoutOption > & | allowedDataLayoutOptions, | ||
| const std::set< Newton3Option > & | allowedNewton3Options, | ||
| const NumberSet< double > * | allowedCellSizeFactors, | ||
| const std::set< VectorizationPatternOption > & | allowedVecPatternOptions, | ||
| const InteractionTypeOption & | interactionType, | ||
| bool | throwIfNone = true |
||
| ) |
Fills the search space with the cartesian product of the given options (minus invalid combinations).
In other words, generate every valid combination of the given options.
| allowedContainerOptions | |
| allowedTraversalOptions | |
| allowedLoadEstimatorOptions | |
| allowedDataLayoutOptions | |
| allowedNewton3Options | |
| allowedCellSizeFactors | |
| interactionType | |
| allowedVecPatternOptions | |
| throwIfNone | If true (default), throw when no valid configuration exists; if false, return an empty set. |