A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://scip.zib.de/doc/html/compute__symmetry__sassy__nauty_8cpp_source.php below:

SCIP Doxygen Documentation: src/symmetry/compute_symmetry_sassy_nauty.cpp Source File

41#include "nauty/nauty.h" 42#include "nauty/nausparse.h" 44#include "nauty/traces.h" 49#pragma GCC diagnostic ignored "-Wshadow" 50#pragma GCC diagnostic ignored "-Wunused-variable" 51#pragma GCC diagnostic ignored "-Wsign-compare" 52#pragma GCC diagnostic ignored "-Wunused-but-set-variable" 57# pragma warning(disable: 4189) 58# pragma warning(disable: 4388) 59# pragma warning(disable: 4456) 60# pragma warning(disable: 4430) 63#include <sassy/preprocessor.h> 65#include "sassy/tools/nauty_converter.h" 67#include "sassy/tools/traces_converter.h" 71#pragma GCC diagnostic warning "-Wunused-but-set-variable" 72#pragma GCC diagnostic warning "-Wsign-compare" 73#pragma GCC diagnostic warning "-Wunused-variable" 74#pragma GCC diagnostic warning "-Wshadow" 91#include "tinycthread/tinycthread.h" 117#if defined(_Thread_local) 137

assert( aut !=

NULL

);

138

assert( user_param !=

NULL

);

149 bool

isIdentity =

true

;

168 for

(

int

j = 0; j < permlen; ++j)

170 if

( (

int

) aut[j] != j )

182 for

(

int

j = 0; j < permlen; ++j)

183

p[j] = (

int

) aut[j];

199

assert( newsize >= data->

nperms

);

235 "symmetry computation terminated early, because number of cells %d in Nauty exceeds limit of %d\n"

,

238 "for running full symmetry detection, increase value of parameter propagating/symmetry/nautymaxncells\n"

);

244 "symmetry computation terminated early, because number of" 247 "for running full symmetry detection, increase value of" 248 " parameter propagating/symmetry/nautymaxnnodes\n"

);

254

nauty_kill_request = 1;

269static const char nautyname

[] = {

'N'

,

'a'

,

'u'

,

't'

,

'y'

,

' '

, NAUTYVERSIONID/10000 +

'0'

,

'.'

, (NAUTYVERSIONID%10000)/1000 +

'0'

,

'.'

, (NAUTYVERSIONID%1000)/10 +

'0'

,

'\0'

};

271static const char nautyname

[] = {

'T'

,

'r'

,

'a'

,

'c'

,

'e'

,

's'

,

' '

, NAUTYVERSIONID/10000 +

'0'

,

'.'

, (NAUTYVERSIONID%10000)/1000 +

'0'

,

'.'

, (NAUTYVERSIONID%1000)/10 +

'0'

,

'\0'

};

284 return "Computing Graph Automorphism Groups by Brendan D. McKay (users.cecs.anu.edu.au/~bdm/nauty)"

;

286 return "Computing Graph Automorphism Groups by Adolfo Piperno (pallini.di.uniroma1.it)"

;

291#define XSTR(x) STR(x) 296 return "sassy " XSTR

(SASSY_VERSION_MAJOR)

"." XSTR

(SASSY_VERSION_MINOR);

302 return "Symmetry preprocessor by Markus Anders (github.com/markusa4/sassy)"

;

310

sassy::static_graph* G,

332

assert( log10groupsize !=

NULL

);

333

assert( symcodetime !=

NULL

);

363

sassy::preprocessor sassy;

366

sassy::configstruct sconfig;

367

sconfig.CONFIG_PREP_DEACT_PROBE =

true

;

368

sassy.configure(&sconfig);

371

sassy::sassy_hook sassyglue = [&](

int

n,

const int

* p,

int

nsupp,

const int

* suppa) {

372 sassyhook

((

void

*)&data, n, p, nsupp, suppa);

376

sassy.reduce(G, &sassyglue);

380

DYNALLSTAT(

int

, lab, lab_sz);

381

DYNALLSTAT(

int

, ptn, ptn_sz);

384

convert_sassy_to_nauty(G, &sg, &lab, &lab_sz, &ptn, &ptn_sz);

386

DYNALLSTAT(

int

, orbits, orbits_sz);

387

DYNALLOC1(

int

, orbits, orbits_sz, sg.nv,

"malloc"

);

388

DEFAULTOPTIONS_SPARSEGRAPH(options);

390

options.writeautoms =

FALSE

;

391

options.userautomproc = sassy::preprocessor::nauty_hook;

392

options.defaultptn =

FALSE

;

393 if

( canterminateearly )

395

*log10groupsize = 0.0;

397

sparsenauty(&sg, lab, ptn, orbits, &options, &stats,

NULL

);

398

*log10groupsize = log10(stats.grpsize1 * sassy.base * pow(10.0, (

SCIP_Real

) (stats.grpsize2 + sassy.exp)));

401

convert_sassy_to_traces(&sassygraph, &sg, &lab, &lab_sz, &ptn, &ptn_sz);

403

DYNALLSTAT(

int

, orbits, orbits_sz);

404

DYNALLOC1(

int

, orbits, orbits_sz, sg.nv,

"malloc"

);

405

DEFAULTOPTIONS_TRACES(options);

407

options.writeautoms =

FALSE

;

408

options.userautomproc = sassy::preprocessor::traces_hook;

409

options.defaultptn =

FALSE

;

411

Traces(&sg, lab, ptn, orbits, &options, &stats,

NULL

);

412

*log10groupsize = log10(stats.grpsize1 * sassy.base * pow(10.0, (

SCIP_Real

) (stats.grpsize2 + sassy.exp)));

417

DYNFREE(lab, lab_sz);

418

DYNFREE(ptn, ptn_sz);

459

assert( symgraph !=

NULL

);

463

assert( log10groupsize !=

NULL

);

464

assert( symcodetime !=

NULL

);

474

sassy::static_graph sassygraph;

503

sassy::static_graph sassygraph;

518 for

(

int

p = 0; p <

nperms

&& ! success; ++p)

520 for

(

int

i = 0; i < nnodesfromG1; ++i)

522 if

(

perms

[p][i] >= nnodesfromG1 )

530 for

(

int

p = 0; p <

nperms

; ++p)

SCIP_RETCODE SYMbuildSassyGraph(SCIP *scip, sassy::static_graph *sassygraph, SYM_GRAPH *graph, SCIP_Bool *success)

SCIP_RETCODE SYMbuildSassyGraphCheck(SCIP *scip, sassy::static_graph *sassygraph, SYM_GRAPH *G1, SYM_GRAPH *G2, int *nnodes, int *nnodesfromG1, SCIP_Bool *success)

methods to build sassy graph for symmetry detection

interface for symmetry computations

SCIP_Bool SYMcheckGraphsAreIdentical(SCIP *scip, SYM_SYMTYPE symtype, SYM_GRAPH *G1, SYM_GRAPH *G2)

const char * SYMsymmetryGetName(void)

static const char nautyname[]

const char * SYMsymmetryGetAddName(void)

static _Thread_local struct NAUTY_Data nautydata_

SCIP_Bool SYMcanComputeSymmetry(void)

const char * SYMsymmetryGetDesc(void)

static void sassyhook(void *user_param, int n, const int *aut, int nsupp, const int *suppa)

static void nautyterminationhook(graph *g, int *lab, int *ptn, int level, int numcells, int tc, int code, int m, int n)

static SCIP_RETCODE computeAutomorphisms(SCIP *scip, SYM_SYMTYPE symtype, sassy::static_graph *G, int nsymvars, int maxgenerators, int ***perms, int *nperms, int *nmaxperms, SCIP_Real *log10groupsize, SCIP_Bool restricttovars, SCIP_Real *symcodetime, SCIP_Bool canterminateearly)

const char * SYMsymmetryGetAddDesc(void)

SCIP_RETCODE SYMcomputeSymmetryGenerators(SCIP *scip, int maxgenerators, SYM_GRAPH *symgraph, int *nperms, int *nmaxperms, int ***perms, SCIP_Real *log10groupsize, SCIP_Real *symcodetime)

Constraint handler for linear constraints in their most general form, .

constraint handler for nonlinear constraints specified by algebraic expressions

#define SCIP_CALL_ABORT(x)

private functions to work with algebraic expressions

power and signed power expression handlers

variable expression handler

void SCIPverbMessage(SCIP *scip, SCIP_VERBLEVEL msgverblevel, FILE *file, const char *formatstr,...)

SCIP_RETCODE SCIPgetIntParam(SCIP *scip, const char *name, int *value)

#define SCIPfreeBlockMemoryArray(scip, ptr, num)

int SCIPcalcMemGrowSize(SCIP *scip, int num)

#define SCIPallocBlockMemoryArray(scip, ptr, num)

#define SCIPreallocBlockMemoryArray(scip, ptr, oldnum, newnum)

#define SCIPfreeBlockMemoryArrayNull(scip, ptr, num)

SCIP_Real SCIPgetSolvingTime(SCIP *scip)

SYM_SYMTYPE SCIPgetSymgraphSymtype(SYM_GRAPH *graph)

int SCIPgetSymgraphNVars(SYM_GRAPH *graph)

public methods for memory management

methods for dealing with symmetry detection graphs

enum SCIP_Retcode SCIP_RETCODE

enum SYM_Symtype SYM_SYMTYPE


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4