<commit_before>// Author: <NAME>, CERN  2 Sep 2019

/*****************************************************************************
 * RooFit
 * Authors:                                                                  *
 *   WV, <NAME>, UC Santa Barbara, <EMAIL>       *
 *   DK, <NAME>,    UC Irvine,         <EMAIL>                 *
 *                                                                           *
 * Copyright (c) 2000-2019, Regents of the University of California          *
 *                          and Stanford University. All rights reserved.    *
 *                                                                           *
 * Redistribution and use in source and binary forms,                        *
 * with or without modification, are permitted according to the terms        *
 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
 *****************************************************************************/

#ifndef ROOFIT_ROOFITCORE_ROOVDTHEADERS_H_
#define ROOFIT_ROOFITCORE_ROOVDTHEADERS_H_

/**
 * VDT headers for RooFit. Since RooFit cannot directly depend on VDT (it might not be available),
 * this layer can be used to switch between different implementations.
 */

#if defined(R__HAS_VDT)
#include "vdt/exp.h"
#include "vdt/log.h"
#include "vdt/sqrt.h"

inline double _rf_fast_exp(double x) {
  return vdt::fast_exp(x);
}

inline double _rf_fast_log(double x) {
  return vdt::fast_log(x);
}

inline double _rf_fast_isqrt(double x) {
  return vdt::fast_isqrt(x);
}

#else
#include <cmath>

inline double _rf_fast_exp(double x) {
  return std::exp(x);
}
<commit_msg>[RF] Add missing RConfig include to VDT headers.<commit_after>// Author: <NAME>, CERN  2 Sep 2019

/*****************************************************************************
 * RooFit
 * Authors:                                                                  *
 *   WV, <NAME>, UC <NAME>, <EMAIL>       *
 *   DK, <NAME>,    UC Irvine,         <EMAIL>                 *
 *                                                                           *
 * Copyright (c) 2000-2019, Regents of the University of California          *
 *                          and Stanford University. All rights reserved.    *
 *                                                                           *
 * Redistribution and use in source and binary forms,                        *
 * with or without modification, are permitted according to the terms        *
 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
 *****************************************************************************/

#ifndef ROOFIT_ROOFITCORE_ROOVDTHEADERS_H_
#define ROOFIT_ROOFITCORE_ROOVDTHEADERS_H_

/**
 * VDT headers for RooFit. Since RooFit cannot directly depend on VDT (it might not be available),
 * this layer can be used to switch between different implementations.
 */

#include "ROOT/RConfig.hxx"

#if defined(R__HAS_VDT)
#include "vdt/exp.h"
#include "vdt/log.h"
#include "vdt/sqrt.h"

inline double _rf_fast_exp(double x) {
  return vdt::fast_exp(x);
}

inline double _rf_fast_log(double x) {
  return vdt::fast_log(x);
}

inline double _rf_fast_isqrt(double x) {
  return vdt::fast_isqrt(x);
}

#else
#include <cmath>

inline double _rf_fast_exp(double x) {
  return std::exp(x);
}

{'fraction_non_alphanumeric': 0.17733694018635407, 'fraction_numerical': 0.007814848211602044, 'mean_word_length': 2.0337283500455787, 'pattern_counts': {'":': 0, '<': 16, '<?xml version=': 0, '>': 16, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 16, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5884394', 'n_tokens_mistral': 947, 'n_tokens_neox': 889, 'n_words': 254}