<commit_before>#pragma once

#include <string>

#define NOISE_NAME_FIXED "fixed"
#define NOISE_NAME_ADAPTIVE "adaptive"
#define NOISE_NAME_PROBIT "probit"
#define NOISE_NAME_NOISELESS "noiseless"
#define NOISE_NAME_UNUSED "unused"

namespace smurff
{
   enum class NoiseTypes
   {
      fixed,
      adaptive,
      probit,
      noiseless,
      unused,
   };

   NoiseTypes stringToNoiseType(std::string name);
   
   std::string noiseTypeToString(NoiseTypes type);

   class NoiseConfig
   {
   public:
      // for fixed gaussian noise
      double precision  = 5.0;
   
      // for adaptive gausssian noise
      double sn_init    = 1.0;
      double sn_max     = 10.0;

   private:
      NoiseTypes m_noise_type;

   public:
      NoiseConfig(NoiseTypes nt = NoiseTypes::noiseless) 
         : m_noise_type(nt)<commit_msg>ENH: default noise type to fixed<commit_after>#pragma once

#include <string>

#define NOISE_NAME_FIXED "fixed"
#define NOISE_NAME_ADAPTIVE "adaptive"
#define NOISE_NAME_PROBIT "probit"
#define NOISE_NAME_NOISELESS "noiseless"
#define NOISE_NAME_UNUSED "unused"

namespace smurff
{
   enum class NoiseTypes
   {
      fixed,
      adaptive,
      probit,
      noiseless,
      unused,
   };

   NoiseTypes stringToNoiseType(std::string name);
   
   std::string noiseTypeToString(NoiseTypes type);

   class NoiseConfig
   {
   public:
      // for fixed gaussian noise
      double precision  = 5.0;
   
      // for adaptive gausssian noise
      double sn_init    = 1.0;
      double sn_max     = 10.0;

   private:
      NoiseTypes m_noise_type;

   public:
      NoiseConfig(NoiseTypes nt = NoiseTypes::fixed) 
         : m_noise_type(nt)
{'fraction_non_alphanumeric': 0.08069336521219367, 'fraction_numerical': 0.008368200836820083, 'mean_word_length': 2.8394495412844036, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, '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': '1781134', 'n_tokens_mistral': 614, 'n_tokens_neox': 580, 'n_words': 130}