<commit_before>/******************************************************************************
** Copyright (c) 2014-2015, Intel Corporation                                **
** All rights reserved.                                                      **
**                                                                           **
** Redistribution and use in source and binary forms, with or without        **
** modification, are permitted provided that the following conditions        **
** are met:                                                                  **
** 1. Redistributions of source code must retain the above copyright         **
**    notice, this list of conditions and the following disclaimer.          **
** 2. Redistributions in binary form must reproduce the above copyright      **
**    notice, this list of conditions and the following disclaimer in the    **
**    documentation and/or other materials provided with the distribution.   **
** 3. Neither the name of the copyright holder nor the names of its          **
**    contributors may be used to endorse or promote products derived        **
**    from this software without specific prior written permission.          **
**                                                                           **
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS       **
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT         **
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR     **
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT      **
** HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,    **
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED  **
** TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR    **
** PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF    **
** LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING      **
** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS        **
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.              **
******************************************************************************/
/* <NAME> (Intel Corp.)
******************************************************************************/
#ifndef LIBXSTREAM_CONFIG_H
#define LIBXSTREAM_CONFIG_H

#ifndef LIBXSTREAM_MACROS_H
# error Do not include <libxstream_config.h> directly (use <libxstream_macros.h>)!
#endif


/**
 * Debug-time error checks are usually disabled for production code (NDEBUG).
 * The LIBXSTREAM_DEBUG symbol ultimately controls this (see libxstream_macros.h).
 */
#define LIBXSTREAM_ERROR_DEBUG

/**
 * Runtime error checks and error handling code is usually enabled.
 * The LIBXSTREAM_CHECK symbol ultimately controls this (see libxstream_macros.h).
 */
#define LIBXSTREAM_ERROR_CHECK

/**
 * Enables printing trace information.
 * Valid selections:
 * - #define LIBXSTREAM_TRACE: enables default (1) behavior
 * - #define LIBXSTREAM_TRACE 0: disables trace information
 * - #define LIBXSTREAM_TRACE 1: enabled for debug builds
 * - #define LIBXSTREAM_TRACE 2: enabled
 */
#define LIBXSTREAM_TRACE

/**
 * Enables asynchronous offloads.
 * Valid selections:
 * - #define LIBXSTREAM_ASYNC: enables default (1) behavior
 * - #define LIBXSTREAM_ASYNC 0: synchronous offloads
 * - #define LIBXSTREAM_ASYNC 1: compiler offload
 * - #define LIBXSTREAM_ASYNC 2: compiler streams
 */
#define LIBXSTREAM_ASYNC

/** Not implemented yet. Must be disabled. */
//#define LIBXSTREAM_ASYNCHOST

/** SIMD width in Byte (actual alignment might be smaller). */
#define LIBXSTREAM_MAX_SIMD 64

/** Alignment in Byte (actual alignment might be smaller). */
#define LIBXSTREAM_MAX_ALIGN (2 * 1024 * 1024)

/** Maximum number of devices. */
#define LIBXSTREAM_MAX_NDEVICES 8

/** Maximum number of streams per device. */
#define LIBXSTREAM_MAX_NSTREAMS 16

/** Maximum number of arguments in offload structure. */
#define LIBXSTREAM_MAX_NARGS 16

/** Maximum number of executions in the queue. */
#define LIBXSTREAM_MAX_QSIZE 1024

/** Maximum number of host threads. */
#define LIBXSTREAM_MAX_NTHREADS 1024

/** Number of milliseconds a lock can stall. */
#define LIBXSTREAM_LOCK_WAIT_MS 30

/**
 * Number of times a locked stream must be discovered to be
 * "not alive" before unlocking the stream in question.
 */
#define LIBXSTREAM_LOCK_RETRY 1

/** Enables non-recursive locks. */
#define LIBXSTREAM_LOCK_NONRECURSIVE

/** Not implemented yet. Must be disabled. */
//#define LIBXSTREAM_THREADLOCAL_SIGNALS

/** Prefers OpenMP based locking primitives. */
//#define LIBXSTREAM_PREFER_OPENMP

/**
 * Below preprocessor symbols fixup some platform specifics.
 */
#if !defined(_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES)
# define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#endif
#if !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE 1
#endif
#if !defined(_USE_MATH_DEFINES)
# define _USE_MATH_DEFINES 1
#endif
#if !defined(WIN32_LEAN_AND_MEAN)
# define WIN32_LEAN_AND_MEAN 1
#endif
#if !defined(NOMINMAX)<commit_msg>Enable thread-local signals by default (LIBXSTREAM_THREADLOCAL_SIGNALS).<commit_after>/******************************************************************************
** Copyright (c) 2014-2015, Intel Corporation                                **
** All rights reserved.                                                      **
**                                                                           **
** Redistribution and use in source and binary forms, with or without        **
** modification, are permitted provided that the following conditions        **
** are met:                                                                  **
** 1. Redistributions of source code must retain the above copyright         **
**    notice, this list of conditions and the following disclaimer.          **
** 2. Redistributions in binary form must reproduce the above copyright      **
**    notice, this list of conditions and the following disclaimer in the    **
**    documentation and/or other materials provided with the distribution.   **
** 3. Neither the name of the copyright holder nor the names of its          **
**    contributors may be used to endorse or promote products derived        **
**    from this software without specific prior written permission.          **
**                                                                           **
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS       **
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT         **
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR     **
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT      **
** HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,    **
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED  **
** TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR    **
** PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF    **
** LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING      **
** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS        **
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.              **
******************************************************************************/
/* <NAME> (Intel Corp.)
******************************************************************************/
#ifndef LIBXSTREAM_CONFIG_H
#define LIBXSTREAM_CONFIG_H

#ifndef LIBXSTREAM_MACROS_H
# error Do not include <libxstream_config.h> directly (use <libxstream_macros.h>)!
#endif


/**
 * Debug-time error checks are usually disabled for production code (NDEBUG).
 * The LIBXSTREAM_DEBUG symbol ultimately controls this (see libxstream_macros.h).
 */
#define LIBXSTREAM_ERROR_DEBUG

/**
 * Runtime error checks and error handling code is usually enabled.
 * The LIBXSTREAM_CHECK symbol ultimately controls this (see libxstream_macros.h).
 */
#define LIBXSTREAM_ERROR_CHECK

/**
 * Enables printing trace information.
 * Valid selections:
 * - #define LIBXSTREAM_TRACE: enables default (1) behavior
 * - #define LIBXSTREAM_TRACE 0: disables trace information
 * - #define LIBXSTREAM_TRACE 1: enabled for debug builds
 * - #define LIBXSTREAM_TRACE 2: enabled
 */
#define LIBXSTREAM_TRACE

/**
 * Enables asynchronous offloads.
 * Valid selections:
 * - #define LIBXSTREAM_ASYNC: enables default (1) behavior
 * - #define LIBXSTREAM_ASYNC 0: synchronous offloads
 * - #define LIBXSTREAM_ASYNC 1: compiler offload
 * - #define LIBXSTREAM_ASYNC 2: compiler streams
 */
#define LIBXSTREAM_ASYNC

/** Not implemented yet. Must be disabled. */
//#define LIBXSTREAM_ASYNCHOST

/** SIMD width in Byte (actual alignment might be smaller). */
#define LIBXSTREAM_MAX_SIMD 64

/** Alignment in Byte (actual alignment might be smaller). */
#define LIBXSTREAM_MAX_ALIGN (2 * 1024 * 1024)

/** Maximum number of devices. */
#define LIBXSTREAM_MAX_NDEVICES 8

/** Maximum number of streams per device. */
#define LIBXSTREAM_MAX_NSTREAMS 16

/** Maximum number of arguments in offload structure. */
#define LIBXSTREAM_MAX_NARGS 16

/** Maximum number of executions in the queue. */
#define LIBXSTREAM_MAX_QSIZE 1024

/** Maximum number of host threads. */
#define LIBXSTREAM_MAX_NTHREADS 1024

/** Number of milliseconds a lock can stall. */
#define LIBXSTREAM_LOCK_WAIT_MS 30

/**
 * Number of times a locked stream must be discovered to be
 * "not alive" before unlocking the stream in question.
 */
#define LIBXSTREAM_LOCK_RETRY 1

/** Enables non-recursive locks. */
#define LIBXSTREAM_LOCK_NONRECURSIVE

/**
 * Thread-local signals allow for some more concurrency
 * when forming the signal/wait dependency chain.
 */
#define LIBXSTREAM_THREADLOCAL_SIGNALS

/** Prefers OpenMP based locking primitives. */
//#define LIBXSTREAM_PREFER_OPENMP

/**
 * Below preprocessor symbols fixup some platform specifics.
 */
#if !defined(_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES)
# define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#endif
#if !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE 1
#endif
#if !defined(_USE_MATH_DEFINES)
# define _USE_MATH_DEFINES 1
#endif
#if !defined(WIN32_LEAN_AND_MEAN)
# define WIN32_LEAN_AND_MEAN 1
#endif
#if !defined(NOMINMAX)
{'fraction_non_alphanumeric': 0.12319048988591698, 'fraction_numerical': 0.010353753235547885, 'mean_word_length': 3.3018556701030928, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 20, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4596698', 'n_tokens_mistral': 2954, 'n_tokens_neox': 2636, 'n_words': 1019}