<commit_before>
#ifndef PYTHONIC_COMPLEX_H
#define PYTHONIC_COMPLEX_H
namespace pythonic {
    namespace _complex_ { /* to avoid conflict with the complex intrinsic */
        template<class T>
            std::complex<T> conjugate(std::complex<T> const &c) {
                return std::conj(c);
            }
        PROXY(pythonic::_complex_, conjugate);
    }
#define COMPLEX_OPERATOR(type, lop, op)\
    std::complex<double> lop(type self, std::complex<double> const& other) {\
        return std::complex<double>(self,0.) op other  ;\
    }

    COMPLEX_OPERATOR(long,operator+,+)
    COMPLEX_OPERATOR(long,operator-,-)
    COMPLEX_OPERATOR(long,operator*,*)
    COMPLEX_OPERATOR(long,operator/,/)

    COMPLEX_OPERATOR(double,operator+,+)
    COMPLEX_OPERATOR(double,operator-,-)
    COMPLEX_OPERATOR(double,operator*,*)
    COMPLEX_OPERATOR(double,operator/,/)

#undef COMPLEX_OPERATOR
}
#endif<commit_msg>More complex operator conversion supported.<commit_after>
#ifndef PYTHONIC_COMPLEX_H
#define PYTHONIC_COMPLEX_H
namespace pythonic {
    namespace _complex_ { /* to avoid conflict with the complex intrinsic */
        template<class T>
            std::complex<T> conjugate(std::complex<T> const &c) {
                return std::conj(c);
            }
        PROXY(pythonic::_complex_, conjugate);
    }
#define COMPLEX_OPERATOR(type, lop, op)\
    std::complex<double> lop(type self, std::complex<double> const& other) {\
        return std::complex<double>(self,0.) op other  ;\
    }\
    std::complex<double> lop(std::complex<double> const& other, type self) {\
        return other op std::complex<double>(self,0.)  ;\
    }

    COMPLEX_OPERATOR(long,operator+,+)
    COMPLEX_OPERATOR(long,operator-,-)
    COMPLEX_OPERATOR(long,operator*,*)
    COMPLEX_OPERATOR(long,operator/,/)

    COMPLEX_OPERATOR(double,operator+,+)
    COMPLEX_OPERATOR(double,operator-,-)
    COMPLEX_OPERATOR(double,operator*,*)
    COMPLEX_OPERATOR(double,operator/,/)

#undef COMPLEX_OPERATOR
}
#endif
{'fraction_non_alphanumeric': 0.13343328335832083, 'fraction_numerical': 0.0014992503748125937, 'mean_word_length': 3.744075829383886, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 18, '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': '2215814', 'n_tokens_mistral': 685, 'n_tokens_neox': 665, 'n_words': 115}