/* ========================================================================== */ /* === Source/Mongoose_EdgeCutOptions.cpp =================================== */ /* ========================================================================== */ /* ----------------------------------------------------------------------------- * Mongoose Graph Partitioning Library, Copyright (C) 2017-2018, * Scott P. Kolodziej, Nuri S. Yeralan, Timothy A. Davis, William W. Hager * Mongoose is licensed under Version 3 of the GNU General Public License. * Mongoose is also available under other licenses; contact authors for details. * SPDX-License-Identifier: GPL-3.0-only * -------------------------------------------------------------------------- */ #include "Mongoose_EdgeCutOptions.hpp" #include "Mongoose_Internal.hpp" namespace Mongoose { /* Constructor & Destructor */ EdgeCut_Options *EdgeCut_Options::create() { EdgeCut_Options *ret = static_cast(SuiteSparse_malloc(1, sizeof(EdgeCut_Options))); if (ret != NULL) { ret->random_seed = 0; ret->coarsen_limit = 64; ret->matching_strategy = HEMSR; ret->do_community_matching = false; ret->high_degree_threshold = 2.0; ret->initial_cut_type = InitialEdgeCut_Random; ret->num_dances = 1; ret->use_FM = true; ret->FM_search_depth = 50; ret->FM_consider_count = 3; ret->FM_max_num_refinements = 20; ret->use_QP_gradproj = true; ret->gradproj_tolerance = 0.001; ret->gradproj_iteration_limit = 50; ret->target_split = 0.5; ret->soft_split_tolerance = 0; } return ret; } EdgeCut_Options::~EdgeCut_Options() { SuiteSparse_free(this); } } // end namespace Mongoose