<commit_before>#include <gmpxx.h>

#undef pythran_long
#undef pythran_long_def
#define pythran_long(a) mpz_class(#a)
#define pythran_long_def mpz_class

template<class T,class U>
struct gmp_compo;

template<class T>
struct gmp_type;

template<class T, class U>
struct assignable<__gmp_expr<T,U> >
{
    typedef typename gmp_compo<T,U>::type type;
};<commit_msg>[gmp] assert if we try to combine float and mpz long<commit_after>#include <gmpxx.h>
#include <type_traits>

#undef pythran_long
#undef pythran_long_def
#define pythran_long(a) mpz_class(#a)
#define pythran_long_def mpz_class

template<class T,class U>
struct gmp_compo;

template<class T>
struct gmp_type;

template<class T, class U>
struct assignable<__gmp_expr<T,U> >
{
    static_assert(!(std::is_same<T,double>::value || std::is_same<U,double>::value),"Cannot combine long and float with mpz. Use --no-gpl to permit it even if you will only have long long int instead of mpz_class");
    typedef typename gmp_compo<T,U>::type type;
};
{'fraction_non_alphanumeric': 0.114, 'fraction_numerical': 0.0, 'mean_word_length': 6.641221374045801, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 20, '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': '3671429', 'n_tokens_mistral': 388, 'n_tokens_neox': 381, 'n_words': 99}