<commit_before>/*
 * Copyright (c) 2015-2021 Morwenn
 * SPDX-License-Identifier: MIT
 */

/*
 * Grail sorting
 *
 * (c) 2013 by <NAME>
 *
 * Stable sorting that works in O(N*log(N)) time
 * and uses O(1) extra memory
 *
 */
#ifndef CPPSORT_DETAIL_GRAIL_SORT_H_
#define CPPSORT_DETAIL_GRAIL_SORT_H_

////////////////////////////////////////////////////////////
// Headers
////////////////////////////////////////////////////////////
#include <algorithm>
#include <iterator>
#include <tuple>
#include <utility>
#include <cpp-sort/utility/as_function.h>
#include <cpp-sort/utility/iter_move.h>
#include "insertion_sort.h"
#include "iterator_traits.h"
#include "lower_bound.h"
#include "merge_move.h"
#include "move.h"
#include "rotate.h"
#include "swap_ranges.h"
#include "three_way_compare.h"
#include "type_traits.h"
#include "upper_bound.h"
#include <iostream>
namespace cppsort
{
namespace detail
{
namespace grail
{<commit_msg>Don't include <iostream> in grail_sort.h<commit_after>/*
 * Copyright (c) 2015-2021 Morwenn
 * SPDX-License-Identifier: MIT
 */

/*
 * Grail sorting
 *
 * (c) 2013 by <NAME>
 *
 * Stable sorting that works in O(N*log(N)) time
 * and uses O(1) extra memory
 *
 */
#ifndef CPPSORT_DETAIL_GRAIL_SORT_H_
#define CPPSORT_DETAIL_GRAIL_SORT_H_

////////////////////////////////////////////////////////////
// Headers
////////////////////////////////////////////////////////////
#include <algorithm>
#include <iterator>
#include <tuple>
#include <utility>
#include <cpp-sort/utility/as_function.h>
#include <cpp-sort/utility/iter_move.h>
#include "insertion_sort.h"
#include "iterator_traits.h"
#include "lower_bound.h"
#include "merge_move.h"
#include "move.h"
#include "rotate.h"
#include "swap_ranges.h"
#include "three_way_compare.h"
#include "type_traits.h"
#include "upper_bound.h"

namespace cppsort
{
namespace detail
{
namespace grail
{
{'fraction_non_alphanumeric': 0.2502679528403001, 'fraction_numerical': 0.013933547695605574, 'mean_word_length': 2.741482965931864, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2747263', 'n_tokens_mistral': 677, 'n_tokens_neox': 643, 'n_words': 142}