Regina 7.4 Calculation Engine
perm.h File Reference

Deals with permutations of {0,1,...,n-1}. More...

#include <algorithm>
#include <array>
#include <cstdint>
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <string>
#include "regina-core.h"
#include "utilities/bitmanip.h"
#include "utilities/exception.h"
#include "utilities/intutils.h"
#include "utilities/randutils.h"
#include "maths/permsn.h"
#include "maths/spec/perm6.h"
#include "maths/spec/perm2.h"
#include "maths/spec/perm3.h"
#include "maths/spec/perm4.h"
#include "maths/spec/perm5.h"
#include "maths/spec/perm7.h"

Classes

class  regina::Perm< n >
 Represents a permutation of {0,1,...,n-1}. More...
 
class  regina::PermClass< n >
 Represents a conjugacy class of permutations on n elements. More...
 

Namespaces

namespace  regina
 Contains the entire Regina calculation engine.
 
namespace  regina::detail
 Contains implementation details and common functionality for Regina's dimension-agnostic classes.
 

Enumerations

enum class  regina::PermCodeType { regina::PermCodeType::Images = 1 , regina::PermCodeType::Index = 2 }
 Represents the different kinds of internal permutation codes that are used in Regina's various Perm<n> template classes. More...
 
enum class  regina::PermOrder { regina::Sign = 0 , regina::Lex = 1 }
 Represents different ways in which permutations on n objects can be ordered. More...
 

Functions

constexpr char regina::digit (int i)
 Returns the character used to express the integer i in a permutation.
 
constexpr int64_t regina::factorial (int n)
 Returns the factorial of n.
 
template<int n>
std::ostream & regina::operator<< (std::ostream &out, const Perm< n > &p)
 Writes a string representation of the given permutation to the given output stream.
 
template<int n>
std::ostream & regina::operator<< (std::ostream &out, const PermClass< n > &c)
 Writes a string representation of the given conjugacy class of permutations to the given output stream.
 

Variables

constexpr PermCodeType regina::PERM_CODE_IMAGES
 A deprecated constant indicating a type of internal permutation code.
 
constexpr PermCodeType regina::PERM_CODE_INDEX
 A deprecated constant indicating a type of internal permutation code.
 
constexpr int regina::detail::countPermClasses [17]
 Stores the total number of conjugacy classes of permutations on n elements, for all n ≤ 16.
 
constexpr int64_t regina::detail::permClassRep [countPermClasses[16]]
 Stores the S_n indices of all minimal representatives of conjugacy classes of permutations on n elements, for all n ≤ 16.
 

Detailed Description

Deals with permutations of {0,1,...,n-1}.

This is the only header that you need to include for Regina's permutation classes. It will automatically bring in all implementation details and specialisations.