Orbiter 2022
Combinatorial Objects
foundations.h File Reference
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstring>
#include <math.h>
#include <limits.h>
#include <sstream>
#include <map>
#include <vector>
#include <deque>
#include <string>
#include "algebra/algebra.h"
#include "algebraic_geometry/algebraic_geometry.h"
#include "coding_theory/coding_theory.h"
#include "combinatorics/combinatorics.h"
#include "cryptography/cryptography.h"
#include "data_structures/data_structures.h"
#include "expression_parser/expression_parser.h"
#include "finite_fields/finite_fields.h"
#include "geometry/geometry.h"
#include "geometry_builder/geometry_builder.h"
#include "globals/globals.h"
#include "graph_theory/graph_theory.h"
#include "graph_theory_nauty/graph_theory_nauty.h"
#include "graphics/graphics.h"
#include "knowledge_base/knowledge_base.h"
#include "linear_algebra/linear_algebra.h"
#include "number_theory/number_theory.h"
#include "orbiter_kernel_system/orbiter_kernel_system.h"
#include "orthogonal/orthogonal.h"
#include "ring_theory/ring_theory.h"
#include "solvers/solvers.h"

Go to the source code of this file.

Namespaces

namespace  orbiter
 the orbiter library for the classification of combinatorial objects
 
namespace  orbiter::layer1_foundations
 algebra, combinatorics and graph theory, geometry, linear algebra, number theory, data structures, solvers, graphics; no group actions
 
namespace  orbiter::layer1_foundations::algebra
 Algebraic algorithms, generators for certain classes of groups, conjugacy classes in the general linear group.
 
namespace  orbiter::layer1_foundations::algebraic_geometry
 Cubic surfaces, quartic curves, Schlaefli labelings, Eckardt points, Del Pezzo surfaces, Clebsch maps.
 
namespace  orbiter::layer1_foundations::coding_theory
 Coding theory, MacWilliams, weight enumerators, cyclic codes, BCH codes, Reed-Muller codes, etc.
 
namespace  orbiter::layer1_foundations::combinatorics
 Combinatorics: boolean functions, combinatorial objects, classification, tactical decompositions, various puzzles.
 
namespace  orbiter::layer1_foundations::cryptography
 Cryptography: Vigenere, Ceasar, RSA, primality tests, elliptic curve, NTRU, square roots modulo n.
 
namespace  orbiter::layer1_foundations::data_structures
 Basic data structures used throughout the project.
 
namespace  orbiter::layer1_foundations::expression_parser
 Expression parser, used to create an abstract syntax tree (AST) of a well-formed algebraic expression.
 
namespace  orbiter::layer1_foundations::field_theory
 Finite fields, n-th roots, subfields, trace and norm.
 
namespace  orbiter::layer1_foundations::geometry
 Projective geometry over a finite field and related topics.
 
namespace  orbiter::layer1_foundations::geometry_builder
 Construction and classification of configurations, linear spaces, and designs.
 
namespace  orbiter::layer1_foundations::graph_theory
 graph theory: constructions, clique finding, drawing
 
namespace  orbiter::layer1_foundations::graphics
 graphical output interfaces: 2D graphics (BMP, TikZ, Metapost) and 3D graphics (povray)
 
namespace  orbiter::layer1_foundations::linear_algebra
 Linear algebra and representation theory.
 
namespace  orbiter::layer1_foundations::number_theory
 Number theory, cyclotomic sets, elliptic curves, number theoretic transform (NTT)
 
namespace  orbiter::layer1_foundations::orbiter_kernel_system
 The Orbiter kernel. It contains functions related to memory management, os-interface, file-io etc.
 
namespace  orbiter::layer1_foundations::orthogonal_geometry
 orthogonal geometry: quadrics, BLT sets
 
namespace  orbiter::layer1_foundations::ring_theory
 Ring theory, including polynomial rings and longinteger arithmetic.
 
namespace  orbiter::layer1_foundations::solvers
 Diophantine systems of equations. Solvers Possolve and Dancing Links.
 

Macros

#define COLOR_UNICODE   "\x1b"
 Define some ANSI colour codes. More...
 
#define RESET_COLOR_SCHEME   COLOR_UNICODE "[0m"
 
#define BLACK   COLOR_UNICODE "[30m"
 
#define RED   COLOR_UNICODE "[31m"
 
#define GREEN   COLOR_UNICODE "[32m"
 
#define YELLOW   COLOR_UNICODE "[33m"
 
#define BLUE   COLOR_UNICODE "[34m"
 
#define MAGENTA   COLOR_UNICODE "[35m"
 
#define CYAN   COLOR_UNICODE "[36m"
 
#define WHITE   COLOR_UNICODE "[37m"
 
#define BRIGHT_BLACK   COLOR_UNICODE "[30;1m"
 
#define BRIGHT_RED   COLOR_UNICODE "[31;1m"
 
#define BRIGHT_GREEN   COLOR_UNICODE "[32;1m"
 
#define BRIGHT_YELLOW   COLOR_UNICODE "[33;1m"
 
#define BRIGHT_BLUE   COLOR_UNICODE "[34;1m"
 
#define BRIGHT_MAGENTA   COLOR_UNICODE "[35;1m"
 
#define BRIGHT_CYAN   COLOR_UNICODE "[36;1m"
 
#define BRIGHT_WHITE   COLOR_UNICODE "[37;1m"
 
#define SYSTEMUNIX
 
#define HAS_NAUTY   1
 
#define MEMORY_DEBUG
 
#define MAGIC_SYNC   762873656L
 
#define int_HAS_4_charS
 
#define PAGE_LENGTH_LOG   20
 
#define MAX_PAGE_SIZE_IN_charS   (5 * 1L << 20)
 
#define BUFSIZE   100000
 
#define MINIMUM(x, y)   ( ((x) < (y)) ? (x) : (y) )
 
#define MAXIMUM(x, y)   ( ((x) > (y)) ? (x) : (y) )
 
#define MIN(x, y)   ( ((x) < (y)) ? (x) : (y) )
 
#define MAX(x, y)   ( ((x) > (y)) ? (x) : (y) )
 
#define ABS(x)   ( ((x) < 0 ) ? (-(x)) : (x) )
 
#define EVEN(x)   ( ((x) % 2) == 0 )
 
#define ODD(x)   ( ((x) % 2) == 1 )
 
#define DOUBLYEVEN(x)   ( ((x) % 4) == 0 )
 
#define SINGLYEVEN(x)   ( ((x) % 4) == 2 )
 
#define ONE_char_int(a)   (((a) > -126) && ((a) < 127))
 
#define ONE_MILLION   1000000
 
#define ONE_HUNDRED_THOUSAND   100000
 
#define TRUE   1
 
#define FALSE   0
 
#define M_PI   3.14159265358979323846264
 
#define NEW_int(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_int(n, __FILE__, __LINE__)
 
#define NEW_int_with_tracking(n, file, line)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_int(n, file, line)
 
#define NEW_pint(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_pint(n, __FILE__, __LINE__)
 
#define NEW_lint(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_lint(n, __FILE__, __LINE__)
 
#define NEW_plint(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_plint(n, __FILE__, __LINE__)
 
#define NEW_ppint(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_ppint(n, __FILE__, __LINE__)
 
#define NEW_pplint(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_pplint(n, __FILE__, __LINE__)
 
#define NEW_char(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_char(n, __FILE__, __LINE__)
 
#define NEW_char_with_tracking(n, file, line)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_char(n, file, line)
 
#define NEW_uchar(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_uchar(n, __FILE__, __LINE__)
 
#define NEW_pchar(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_pchar(n, __FILE__, __LINE__)
 
#define NEW_puchar(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_puchar(n, __FILE__, __LINE__)
 
#define NEW_pvoid(n)   orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_pvoid(n, __FILE__, __LINE__)
 
#define NEW_OBJECT(type)   (type *)orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_OBJECT(new type, (std::size_t) sizeof(type), #type, __FILE__, __LINE__)
 
#define NEW_OBJECTS(type, n)   (type *)orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_OBJECTS(new type[n], n, (std::size_t) sizeof(type), #type, __FILE__, __LINE__)
 
#define FREE_int(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_int(p, __FILE__, __LINE__)
 
#define FREE_pint(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_pint(p, __FILE__, __LINE__)
 
#define FREE_lint(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_lint(p, __FILE__, __LINE__)
 
#define FREE_plint(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_plint(p, __FILE__, __LINE__)
 
#define FREE_ppint(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_ppint(p, __FILE__, __LINE__)
 
#define FREE_pplint(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_pplint(p, __FILE__, __LINE__)
 
#define FREE_char(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_char(p, __FILE__, __LINE__)
 
#define FREE_uchar(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_uchar(p, __FILE__, __LINE__)
 
#define FREE_pchar(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_pchar(p, __FILE__, __LINE__)
 
#define FREE_puchar(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_puchar(p, __FILE__, __LINE__)
 
#define FREE_pvoid(p)   orbiter_kernel_system::Orbiter->global_mem_object_registry->free_pvoid(p, __FILE__, __LINE__)
 
#define FREE_OBJECT(p)   {orbiter_kernel_system::Orbiter->global_mem_object_registry->free_OBJECT(p, __FILE__, __LINE__); delete p;}
 
#define FREE_OBJECTS(p)   {orbiter_kernel_system::Orbiter->global_mem_object_registry->free_OBJECTS(p, __FILE__, __LINE__); delete [] p;}
 
#define Int_vec_print(A, B, C)   orbiter_kernel_system::Orbiter->Int_vec->print(A, B, C)
 
#define Lint_vec_print(A, B, C)   orbiter_kernel_system::Orbiter->Lint_vec->print(A, B, C)
 
#define Int_vec_print_fully(A, B, C)   orbiter_kernel_system::Orbiter->Int_vec->print_fully(A, B, C)
 
#define Lint_vec_print_fully(A, B, C)   orbiter_kernel_system::Orbiter->Lint_vec->print_fully(A, B, C)
 
#define Int_vec_print_integer_matrix(A, B, C, D)   orbiter_kernel_system::Orbiter->Int_vec->print_integer_matrix(A, B, C, D)
 
#define Int_vec_print_integer_matrix_width(A, B, C, D, E, F)   orbiter_kernel_system::Orbiter->Int_vec->print_integer_matrix_width(A, B, C, D, E, F)
 
#define Int_vec_copy(A, B, C)   orbiter_kernel_system::Orbiter->Int_vec->copy(A, B, C)
 
#define Lint_vec_copy(A, B, C)   orbiter_kernel_system::Orbiter->Lint_vec->copy(A, B, C)
 
#define Int_vec_print_to_str(A, B, C)   orbiter_kernel_system::Orbiter->Int_vec->print_to_str(A, B, C)
 
#define Lint_vec_print_to_str(A, B, C)   orbiter_kernel_system::Orbiter->Lint_vec->print_to_str(A, B, C)
 
#define Int_vec_print_str_naked(A, B, C)   orbiter_kernel_system::Orbiter->Int_vec->print_str_naked(A, B, C)
 
#define Int_vec_print_GAP(A, B, C)   orbiter_kernel_system::Orbiter->Int_vec->print_GAP(A, B, C)
 
#define Lint_vec_print_GAP(A, B, C)   orbiter_kernel_system::Orbiter->Lint_vec->print_GAP(A, B, C)
 
#define Int_matrix_print(A, B, C)   orbiter_kernel_system::Orbiter->Int_vec->matrix_print(A, B, C)
 
#define Lint_matrix_print(A, B, C)   orbiter_kernel_system::Orbiter->Lint_vec->matrix_print(A, B, C)
 
#define Int_matrix_print_bitwise(A, B, C)   orbiter_kernel_system::Orbiter->Int_vec->matrix_print_bitwise(A, B, C)
 
#define Int_vec_zero(A, B)   orbiter_kernel_system::Orbiter->Int_vec->zero(A, B);
 
#define Lint_vec_zero(A, B)   orbiter_kernel_system::Orbiter->Lint_vec->zero(A, B);
 
#define Int_vec_scan(A, B, C)   orbiter_kernel_system::Orbiter->Int_vec->scan(A, B, C)
 
#define Lint_vec_scan(A, B, C)   orbiter_kernel_system::Orbiter->Lint_vec->scan(A, B, C)
 
#define Get_int_vector_from_label(A, B, C, D)   orbiter_kernel_system::Orbiter->get_int_vector_from_label(A, B, C, D)
 
#define Get_lint_vector_from_label(A, B, C, D)   orbiter_kernel_system::Orbiter->get_lint_vector_from_label(A, B, C, D)
 
#define Int_vec_copy_to_lint(A, B, C)   orbiter_kernel_system::Orbiter->Int_vec->copy_to_lint(A, B, C)
 
#define Lint_vec_copy_to_int(A, B, C)   orbiter_kernel_system::Orbiter->Lint_vec->copy_to_int(A, B, C)
 
#define Int_vec_print_integer_matrix_in_C_source(A, B, C, D)   orbiter_kernel_system::Orbiter->Int_vec->print_integer_matrix_in_C_source(A, B, C, D)
 

Typedefs

typedef short int_2
 
typedef int int_4
 
typedef long int_8
 
typedef unsigned short uint_2
 
typedef unsigned int uint_4
 
typedef unsigned long uint_8
 
typedef int * pint
 
typedef long int * plint
 
typedef int ** ppint
 
typedef long int ** pplint
 
typedef short SHORT
 
typedef SHORTPSHORT
 
typedef char * pchar
 
typedef unsigned char uchar
 
typedef ucharpuchar
 
typedef void * pvoid
 
typedef tree_node * orbiter::layer1_foundations::graphics::ptree_node
 
typedef ring_theory::longinteger_object * orbiter::layer1_foundations::ring_theory::plonginteger_object
 
typedef void * orbiter::layer1_foundations::ring_theory::unipoly_object
 
typedef struct dlx_node * orbiter::layer1_foundations::solvers::pdlx_node
 
typedef enum monomial_ordering_type orbiter::layer1_foundations::monomial_ordering_type
 
typedef enum diophant_equation_type orbiter::layer1_foundations::diophant_equation_type
 
typedef enum symbol_table_object_type orbiter::layer1_foundations::symbol_table_object_type
 

Enumerations

enum  orbiter::layer1_foundations::monomial_ordering_type { orbiter::layer1_foundations::t_LEX , orbiter::layer1_foundations::t_PART }
 
enum  orbiter::layer1_foundations::object_with_canonical_form_type {
  orbiter::layer1_foundations::t_PTS , orbiter::layer1_foundations::t_LNS , orbiter::layer1_foundations::t_PNL , orbiter::layer1_foundations::t_PAC ,
  orbiter::layer1_foundations::t_INC , orbiter::layer1_foundations::t_LS
}
 
enum  orbiter::layer1_foundations::diophant_equation_type { orbiter::layer1_foundations::t_EQ , orbiter::layer1_foundations::t_LE , orbiter::layer1_foundations::t_INT , orbiter::layer1_foundations::t_ZOR }
 
enum  orbiter::layer1_foundations::symbol_table_object_type {
  orbiter::layer1_foundations::t_nothing_object , orbiter::layer1_foundations::t_finite_field , orbiter::layer1_foundations::t_any_group , orbiter::layer1_foundations::t_linear_group ,
  orbiter::layer1_foundations::t_permutation_group , orbiter::layer1_foundations::t_modified_group , orbiter::layer1_foundations::t_projective_space , orbiter::layer1_foundations::t_orthogonal_space ,
  orbiter::layer1_foundations::t_formula , orbiter::layer1_foundations::t_cubic_surface , orbiter::layer1_foundations::t_quartic_curve , orbiter::layer1_foundations::t_classification_of_cubic_surfaces_with_double_sixes ,
  orbiter::layer1_foundations::t_collection , orbiter::layer1_foundations::t_geometric_object , orbiter::layer1_foundations::t_graph , orbiter::layer1_foundations::t_spread_table ,
  orbiter::layer1_foundations::t_packing_was , orbiter::layer1_foundations::t_packing_was_choose_fixed_points , orbiter::layer1_foundations::t_packing_long_orbits , orbiter::layer1_foundations::t_graph_classify ,
  orbiter::layer1_foundations::t_diophant , orbiter::layer1_foundations::t_design , orbiter::layer1_foundations::t_design_table , orbiter::layer1_foundations::t_large_set_was ,
  orbiter::layer1_foundations::t_set , orbiter::layer1_foundations::t_vector , orbiter::layer1_foundations::t_combinatorial_objects , orbiter::layer1_foundations::t_geometry_builder ,
  orbiter::layer1_foundations::t_action , orbiter::layer1_foundations::t_poset , orbiter::layer1_foundations::t_poset_classification
}
 
enum  orbiter::layer1_foundations::TokenType {
  orbiter::layer1_foundations::NONE , orbiter::layer1_foundations::NAME , orbiter::layer1_foundations::NUMBER , orbiter::layer1_foundations::END ,
  orbiter::layer1_foundations::PLUS ='+' , orbiter::layer1_foundations::MINUS ='-' , orbiter::layer1_foundations::MULTIPLY ='*' , orbiter::layer1_foundations::DIVIDE ='/' ,
  orbiter::layer1_foundations::ASSIGN ='=' , orbiter::layer1_foundations::LHPAREN ='(' , orbiter::layer1_foundations::RHPAREN =')' , orbiter::layer1_foundations::COMMA =',' ,
  orbiter::layer1_foundations::NOT ='!' , orbiter::layer1_foundations::LT ='<' , orbiter::layer1_foundations::GT ='>' , orbiter::layer1_foundations::LE ,
  orbiter::layer1_foundations::GE , orbiter::layer1_foundations::EQ , orbiter::layer1_foundations::NE , orbiter::layer1_foundations::AND ,
  orbiter::layer1_foundations::OR , orbiter::layer1_foundations::ASSIGN_ADD , orbiter::layer1_foundations::ASSIGN_SUB , orbiter::layer1_foundations::ASSIGN_MUL ,
  orbiter::layer1_foundations::ASSIGN_DIV
}
 
enum  orbiter::layer1_foundations::syntax_tree_node_operation_type { orbiter::layer1_foundations::operation_type_nothing , orbiter::layer1_foundations::operation_type_mult , orbiter::layer1_foundations::operation_type_add }
 
enum  orbiter::layer1_foundations::data_input_stream_type {
  orbiter::layer1_foundations::t_data_input_stream_unknown , orbiter::layer1_foundations::t_data_input_stream_set_of_points , orbiter::layer1_foundations::t_data_input_stream_set_of_lines , orbiter::layer1_foundations::t_data_input_stream_set_of_points_and_lines ,
  orbiter::layer1_foundations::t_data_input_stream_set_of_packing , orbiter::layer1_foundations::t_data_input_stream_file_of_points , orbiter::layer1_foundations::t_data_input_stream_file_of_lines , orbiter::layer1_foundations::t_data_input_stream_file_of_packings ,
  orbiter::layer1_foundations::t_data_input_stream_file_of_packings_through_spread_table , orbiter::layer1_foundations::t_data_input_stream_file_of_point_set , orbiter::layer1_foundations::t_data_input_stream_file_of_designs , orbiter::layer1_foundations::t_data_input_stream_file_of_incidence_geometries ,
  orbiter::layer1_foundations::t_data_input_stream_file_of_incidence_geometries_by_row_ranks , orbiter::layer1_foundations::t_data_input_stream_incidence_geometry , orbiter::layer1_foundations::t_data_input_stream_incidence_geometry_by_row_ranks , orbiter::layer1_foundations::t_data_input_stream_from_parallel_search
}
 

Functions

void orbiter_eigenvalues (int *Mtx, int nb_points, double *E, int verbose_level)
 

Macro Definition Documentation

◆ ABS

#define ABS (   x)    ( ((x) < 0 ) ? (-(x)) : (x) )

Definition at line 220 of file foundations.h.

◆ BLACK

#define BLACK   COLOR_UNICODE "[30m"

Definition at line 103 of file foundations.h.

◆ BLUE

#define BLUE   COLOR_UNICODE "[34m"

Definition at line 107 of file foundations.h.

◆ BRIGHT_BLACK

#define BRIGHT_BLACK   COLOR_UNICODE "[30;1m"

Definition at line 112 of file foundations.h.

◆ BRIGHT_BLUE

#define BRIGHT_BLUE   COLOR_UNICODE "[34;1m"

Definition at line 116 of file foundations.h.

◆ BRIGHT_CYAN

#define BRIGHT_CYAN   COLOR_UNICODE "[36;1m"

Definition at line 118 of file foundations.h.

◆ BRIGHT_GREEN

#define BRIGHT_GREEN   COLOR_UNICODE "[32;1m"

Definition at line 114 of file foundations.h.

◆ BRIGHT_MAGENTA

#define BRIGHT_MAGENTA   COLOR_UNICODE "[35;1m"

Definition at line 117 of file foundations.h.

◆ BRIGHT_RED

#define BRIGHT_RED   COLOR_UNICODE "[31;1m"

Definition at line 113 of file foundations.h.

◆ BRIGHT_WHITE

#define BRIGHT_WHITE   COLOR_UNICODE "[37;1m"

Definition at line 119 of file foundations.h.

◆ BRIGHT_YELLOW

#define BRIGHT_YELLOW   COLOR_UNICODE "[33;1m"

Definition at line 115 of file foundations.h.

◆ BUFSIZE

#define BUFSIZE   100000

Definition at line 212 of file foundations.h.

◆ COLOR_UNICODE

#define COLOR_UNICODE   "\x1b"

Define some ANSI colour codes.

Definition at line 99 of file foundations.h.

◆ CYAN

#define CYAN   COLOR_UNICODE "[36m"

Definition at line 109 of file foundations.h.

◆ DOUBLYEVEN

#define DOUBLYEVEN (   x)    ( ((x) % 4) == 0 )

Definition at line 223 of file foundations.h.

◆ EVEN

#define EVEN (   x)    ( ((x) % 2) == 0 )

Definition at line 221 of file foundations.h.

◆ FALSE

#define FALSE   0

Definition at line 234 of file foundations.h.

◆ FREE_char

#define FREE_char (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_char(p, __FILE__, __LINE__)

Definition at line 646 of file foundations.h.

◆ FREE_int

#define FREE_int (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_int(p, __FILE__, __LINE__)

Definition at line 640 of file foundations.h.

◆ FREE_lint

#define FREE_lint (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_lint(p, __FILE__, __LINE__)

Definition at line 642 of file foundations.h.

◆ FREE_OBJECT

#define FREE_OBJECT (   p)    {orbiter_kernel_system::Orbiter->global_mem_object_registry->free_OBJECT(p, __FILE__, __LINE__); delete p;}

Definition at line 651 of file foundations.h.

◆ FREE_OBJECTS

#define FREE_OBJECTS (   p)    {orbiter_kernel_system::Orbiter->global_mem_object_registry->free_OBJECTS(p, __FILE__, __LINE__); delete [] p;}

Definition at line 652 of file foundations.h.

◆ FREE_pchar

#define FREE_pchar (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_pchar(p, __FILE__, __LINE__)

Definition at line 648 of file foundations.h.

◆ FREE_pint

#define FREE_pint (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_pint(p, __FILE__, __LINE__)

Definition at line 641 of file foundations.h.

◆ FREE_plint

#define FREE_plint (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_plint(p, __FILE__, __LINE__)

Definition at line 643 of file foundations.h.

◆ FREE_ppint

#define FREE_ppint (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_ppint(p, __FILE__, __LINE__)

Definition at line 644 of file foundations.h.

◆ FREE_pplint

#define FREE_pplint (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_pplint(p, __FILE__, __LINE__)

Definition at line 645 of file foundations.h.

◆ FREE_puchar

#define FREE_puchar (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_puchar(p, __FILE__, __LINE__)

Definition at line 649 of file foundations.h.

◆ FREE_pvoid

#define FREE_pvoid (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_pvoid(p, __FILE__, __LINE__)

Definition at line 650 of file foundations.h.

◆ FREE_uchar

#define FREE_uchar (   p)    orbiter_kernel_system::Orbiter->global_mem_object_registry->free_uchar(p, __FILE__, __LINE__)

Definition at line 647 of file foundations.h.

◆ Get_int_vector_from_label

#define Get_int_vector_from_label (   A,
  B,
  C,
 
)    orbiter_kernel_system::Orbiter->get_int_vector_from_label(A, B, C, D)

Definition at line 719 of file foundations.h.

◆ Get_lint_vector_from_label

#define Get_lint_vector_from_label (   A,
  B,
  C,
 
)    orbiter_kernel_system::Orbiter->get_lint_vector_from_label(A, B, C, D)

Definition at line 720 of file foundations.h.

◆ GREEN

#define GREEN   COLOR_UNICODE "[32m"

Definition at line 105 of file foundations.h.

◆ HAS_NAUTY

#define HAS_NAUTY   1

Definition at line 150 of file foundations.h.

◆ int_HAS_4_charS

#define int_HAS_4_charS

Definition at line 168 of file foundations.h.

◆ Int_matrix_print

#define Int_matrix_print (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Int_vec->matrix_print(A, B, C)

Definition at line 707 of file foundations.h.

◆ Int_matrix_print_bitwise

#define Int_matrix_print_bitwise (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Int_vec->matrix_print_bitwise(A, B, C)

Definition at line 710 of file foundations.h.

◆ Int_vec_copy

#define Int_vec_copy (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Int_vec->copy(A, B, C)

Definition at line 693 of file foundations.h.

◆ Int_vec_copy_to_lint

#define Int_vec_copy_to_lint (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Int_vec->copy_to_lint(A, B, C)

Definition at line 722 of file foundations.h.

◆ Int_vec_print

#define Int_vec_print (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Int_vec->print(A, B, C)

Definition at line 685 of file foundations.h.

◆ Int_vec_print_fully

#define Int_vec_print_fully (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Int_vec->print_fully(A, B, C)

Definition at line 687 of file foundations.h.

◆ Int_vec_print_GAP

#define Int_vec_print_GAP (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Int_vec->print_GAP(A, B, C)

Definition at line 703 of file foundations.h.

◆ Int_vec_print_integer_matrix

#define Int_vec_print_integer_matrix (   A,
  B,
  C,
 
)    orbiter_kernel_system::Orbiter->Int_vec->print_integer_matrix(A, B, C, D)

Definition at line 690 of file foundations.h.

◆ Int_vec_print_integer_matrix_in_C_source

#define Int_vec_print_integer_matrix_in_C_source (   A,
  B,
  C,
 
)    orbiter_kernel_system::Orbiter->Int_vec->print_integer_matrix_in_C_source(A, B, C, D)

Definition at line 726 of file foundations.h.

◆ Int_vec_print_integer_matrix_width

#define Int_vec_print_integer_matrix_width (   A,
  B,
  C,
  D,
  E,
 
)    orbiter_kernel_system::Orbiter->Int_vec->print_integer_matrix_width(A, B, C, D, E, F)

Definition at line 691 of file foundations.h.

◆ Int_vec_print_str_naked

#define Int_vec_print_str_naked (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Int_vec->print_str_naked(A, B, C)

Definition at line 700 of file foundations.h.

◆ Int_vec_print_to_str

#define Int_vec_print_to_str (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Int_vec->print_to_str(A, B, C)

Definition at line 696 of file foundations.h.

◆ Int_vec_scan

#define Int_vec_scan (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Int_vec->scan(A, B, C)

Definition at line 716 of file foundations.h.

◆ Int_vec_zero

#define Int_vec_zero (   A,
 
)    orbiter_kernel_system::Orbiter->Int_vec->zero(A, B);

Definition at line 713 of file foundations.h.

◆ Lint_matrix_print

#define Lint_matrix_print (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Lint_vec->matrix_print(A, B, C)

Definition at line 708 of file foundations.h.

◆ Lint_vec_copy

#define Lint_vec_copy (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Lint_vec->copy(A, B, C)

Definition at line 694 of file foundations.h.

◆ Lint_vec_copy_to_int

#define Lint_vec_copy_to_int (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Lint_vec->copy_to_int(A, B, C)

Definition at line 723 of file foundations.h.

◆ Lint_vec_print

#define Lint_vec_print (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Lint_vec->print(A, B, C)

Definition at line 686 of file foundations.h.

◆ Lint_vec_print_fully

#define Lint_vec_print_fully (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Lint_vec->print_fully(A, B, C)

Definition at line 688 of file foundations.h.

◆ Lint_vec_print_GAP

#define Lint_vec_print_GAP (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Lint_vec->print_GAP(A, B, C)

Definition at line 704 of file foundations.h.

◆ Lint_vec_print_to_str

#define Lint_vec_print_to_str (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Lint_vec->print_to_str(A, B, C)

Definition at line 697 of file foundations.h.

◆ Lint_vec_scan

#define Lint_vec_scan (   A,
  B,
 
)    orbiter_kernel_system::Orbiter->Lint_vec->scan(A, B, C)

Definition at line 717 of file foundations.h.

◆ Lint_vec_zero

#define Lint_vec_zero (   A,
 
)    orbiter_kernel_system::Orbiter->Lint_vec->zero(A, B);

Definition at line 714 of file foundations.h.

◆ M_PI

#define M_PI   3.14159265358979323846264

Definition at line 237 of file foundations.h.

◆ MAGENTA

#define MAGENTA   COLOR_UNICODE "[35m"

Definition at line 108 of file foundations.h.

◆ MAGIC_SYNC

#define MAGIC_SYNC   762873656L

Definition at line 162 of file foundations.h.

◆ MAX

#define MAX (   x,
 
)    ( ((x) > (y)) ? (x) : (y) )

Definition at line 219 of file foundations.h.

◆ MAX_PAGE_SIZE_IN_charS

#define MAX_PAGE_SIZE_IN_charS   (5 * 1L << 20)

Definition at line 211 of file foundations.h.

◆ MAXIMUM

#define MAXIMUM (   x,
 
)    ( ((x) > (y)) ? (x) : (y) )

Definition at line 217 of file foundations.h.

◆ MEMORY_DEBUG

#define MEMORY_DEBUG

Definition at line 160 of file foundations.h.

◆ MIN

#define MIN (   x,
 
)    ( ((x) < (y)) ? (x) : (y) )

Definition at line 218 of file foundations.h.

◆ MINIMUM

#define MINIMUM (   x,
 
)    ( ((x) < (y)) ? (x) : (y) )

Definition at line 216 of file foundations.h.

◆ NEW_char

#define NEW_char (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_char(n, __FILE__, __LINE__)

Definition at line 632 of file foundations.h.

◆ NEW_char_with_tracking

#define NEW_char_with_tracking (   n,
  file,
  line 
)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_char(n, file, line)

Definition at line 633 of file foundations.h.

◆ NEW_int

#define NEW_int (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_int(n, __FILE__, __LINE__)

Definition at line 625 of file foundations.h.

◆ NEW_int_with_tracking

#define NEW_int_with_tracking (   n,
  file,
  line 
)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_int(n, file, line)

Definition at line 626 of file foundations.h.

◆ NEW_lint

#define NEW_lint (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_lint(n, __FILE__, __LINE__)

Definition at line 628 of file foundations.h.

◆ NEW_OBJECT

#define NEW_OBJECT (   type)    (type *)orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_OBJECT(new type, (std::size_t) sizeof(type), #type, __FILE__, __LINE__)

Definition at line 638 of file foundations.h.

◆ NEW_OBJECTS

#define NEW_OBJECTS (   type,
 
)    (type *)orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_OBJECTS(new type[n], n, (std::size_t) sizeof(type), #type, __FILE__, __LINE__)

Definition at line 639 of file foundations.h.

◆ NEW_pchar

#define NEW_pchar (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_pchar(n, __FILE__, __LINE__)

Definition at line 635 of file foundations.h.

◆ NEW_pint

#define NEW_pint (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_pint(n, __FILE__, __LINE__)

Definition at line 627 of file foundations.h.

◆ NEW_plint

#define NEW_plint (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_plint(n, __FILE__, __LINE__)

Definition at line 629 of file foundations.h.

◆ NEW_ppint

#define NEW_ppint (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_ppint(n, __FILE__, __LINE__)

Definition at line 630 of file foundations.h.

◆ NEW_pplint

#define NEW_pplint (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_pplint(n, __FILE__, __LINE__)

Definition at line 631 of file foundations.h.

◆ NEW_puchar

#define NEW_puchar (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_puchar(n, __FILE__, __LINE__)

Definition at line 636 of file foundations.h.

◆ NEW_pvoid

#define NEW_pvoid (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_pvoid(n, __FILE__, __LINE__)

Definition at line 637 of file foundations.h.

◆ NEW_uchar

#define NEW_uchar (   n)    orbiter_kernel_system::Orbiter->global_mem_object_registry->allocate_uchar(n, __FILE__, __LINE__)

Definition at line 634 of file foundations.h.

◆ ODD

#define ODD (   x)    ( ((x) % 2) == 1 )

Definition at line 222 of file foundations.h.

◆ ONE_char_int

#define ONE_char_int (   a)    (((a) > -126) && ((a) < 127))

Definition at line 225 of file foundations.h.

◆ ONE_HUNDRED_THOUSAND

#define ONE_HUNDRED_THOUSAND   100000

Definition at line 227 of file foundations.h.

◆ ONE_MILLION

#define ONE_MILLION   1000000

Definition at line 226 of file foundations.h.

◆ PAGE_LENGTH_LOG

#define PAGE_LENGTH_LOG   20

Definition at line 210 of file foundations.h.

◆ RED

#define RED   COLOR_UNICODE "[31m"

Definition at line 104 of file foundations.h.

◆ RESET_COLOR_SCHEME

#define RESET_COLOR_SCHEME   COLOR_UNICODE "[0m"

Definition at line 102 of file foundations.h.

◆ SINGLYEVEN

#define SINGLYEVEN (   x)    ( ((x) % 4) == 2 )

Definition at line 224 of file foundations.h.

◆ SYSTEMUNIX

#define SYSTEMUNIX

The following code block identifies the current operating system the code is being executed on and turns on specific macros in order to use system calls defined by that operating system.

Definition at line 147 of file foundations.h.

◆ TRUE

#define TRUE   1

Definition at line 231 of file foundations.h.

◆ WHITE

#define WHITE   COLOR_UNICODE "[37m"

Definition at line 110 of file foundations.h.

◆ YELLOW

#define YELLOW   COLOR_UNICODE "[33m"

Definition at line 106 of file foundations.h.

Typedef Documentation

◆ int_2

typedef short int_2

Definition at line 180 of file foundations.h.

◆ int_4

typedef int int_4

Definition at line 181 of file foundations.h.

◆ int_8

typedef long int_8

Definition at line 182 of file foundations.h.

◆ pchar

typedef char* pchar

Definition at line 203 of file foundations.h.

◆ pint

typedef int* pint

Definition at line 197 of file foundations.h.

◆ plint

typedef long int* plint

Definition at line 198 of file foundations.h.

◆ ppint

typedef int** ppint

Definition at line 199 of file foundations.h.

◆ pplint

typedef long int** pplint

Definition at line 200 of file foundations.h.

◆ PSHORT

typedef SHORT* PSHORT

Definition at line 202 of file foundations.h.

◆ puchar

typedef uchar* puchar

Definition at line 205 of file foundations.h.

◆ pvoid

typedef void* pvoid

Definition at line 206 of file foundations.h.

◆ SHORT

typedef short SHORT

Definition at line 201 of file foundations.h.

◆ uchar

typedef unsigned char uchar

Definition at line 204 of file foundations.h.

◆ uint_2

typedef unsigned short uint_2

Definition at line 183 of file foundations.h.

◆ uint_4

typedef unsigned int uint_4

Definition at line 184 of file foundations.h.

◆ uint_8

typedef unsigned long uint_8

Definition at line 185 of file foundations.h.

Function Documentation

◆ orbiter_eigenvalues()

void orbiter_eigenvalues ( int *  Mtx,
int  nb_points,
double *  E,
int  verbose_level 
)

Definition at line 18 of file eigen_interface.cpp.