<commit_before>/****************************/
/* THIS IS OPEN SOURCE CODE */
/****************************/

/** 
* @file    papi.h
* CVS:     $Id$
* @author  <NAME>
*          <EMAIL>
* @author  <NAME>
*          <EMAIL>
* @author  <NAME>
*	       <EMAIL>
* @author  <NAME>
*	       <EMAIL>
* @author  <NAME>
*          <EMAIL>
*
* @brief Return codes and api definitions.
*/

#ifndef _PAPI
#define _PAPI

/**
 * @mainpage PAPI
 *  
 * @section papi_intro Introduction
 * The PAPI Performance Application Programming Interface provides machine and 
 * operating system independent access to hardware performance counters found 
 * on most modern processors. 
 * Any of over 100 preset events can be counted through either a simple high 
 * level programming interface or a more complete low level interface from 
 * either C or Fortran. 
 * A list of the function calls in these interfaces is given below, 
 * with references to other pages for more complete details. 
 * For general information on the Fortran interface see:  PAPIF(3)
 *
 * @section papi_high_api High Level Functions
 * A simple interface for instrumenting end-user applications. 
 * Fully supported on both C and Fortran. 
 * See individual functions for details on usage.
 * 
 *	@ref high_api
 * 
 * Note that the high-level interface is self-initializing. 
 * You can mix high and low level calls, but you @b must call either 
 * @ref PAPI_library_init() or a high level routine before calling a low level routine.
 *
 * @section papi_low_api Low Level Functions
 * Advanced interface for all applications and performance tools.
 * Some functions may be implemented only for C or Fortran.
 * See individual functions for details on usage and support.
 * 
 * @ref low_api
 * 
 * @section papi_util PAPI Utility Commands
 * <ul> 
 *		<li> @ref papi_avail - provides availability and detail information for PAPI preset events
 *		<li> @ref papi_clockres - provides availability and detail information for PAPI preset events
 *		<li> @ref papi_cost - provides availability and detail information for PAPI preset events
 *		<li> @ref papi_command_line - executes PAPI preset or native events from the command line
 *		<li> @ref papi_decode -	decodes PAPI preset events into a csv format suitable for 
 *							PAPI_encode_events
 *		<li> @ref papi_event_chooser -	given a list of named events, lists other events 
 *										that can be counted with them
 *		<li> @ref papi_mem_info -	provides information on the memory architecture 
									of the current processor
 *		<li> @ref papi_native_avail - provides detailed information for PAPI native events 
 * </ul>
 * @see The PAPI Website http://icl.cs.utk.edu/papi
 */<commit_msg>Added a small section about components on the main doxygen generated page.<commit_after>/****************************/
/* THIS IS OPEN SOURCE CODE */
/****************************/

/** 
* @file    papi.h
* CVS:     $Id$
* @author  <NAME>
*          <EMAIL>
* @author  <NAME>
*          <EMAIL>
* @author  <NAME>
*	       <EMAIL>
* @author  <NAME>
*	       <EMAIL>
* @author  <NAME>
*          <EMAIL>
*
* @brief Return codes and api definitions.
*/

#ifndef _PAPI
#define _PAPI

/**
 * @mainpage PAPI
 *  
 * @section papi_intro Introduction
 * The PAPI Performance Application Programming Interface provides machine and 
 * operating system independent access to hardware performance counters found 
 * on most modern processors. 
 * Any of over 100 preset events can be counted through either a simple high 
 * level programming interface or a more complete low level interface from 
 * either C or Fortran. 
 * A list of the function calls in these interfaces is given below, 
 * with references to other pages for more complete details. 
 * For general information on the Fortran interface see:  PAPIF(3)
 *
 * @section papi_high_api High Level Functions
 * A simple interface for instrumenting end-user applications. 
 * Fully supported on both C and Fortran. 
 * See individual functions for details on usage.
 * 
 *	@ref high_api
 * 
 * Note that the high-level interface is self-initializing. 
 * You can mix high and low level calls, but you @b must call either 
 * @ref PAPI_library_init() or a high level routine before calling a low level routine.
 *
 * @section papi_low_api Low Level Functions
 * Advanced interface for all applications and performance tools.
 * Some functions may be implemented only for C or Fortran.
 * See individual functions for details on usage and support.
 * 
 * @ref low_api
 *
 * @section Components 
 *
 *	Components provide access to hardware information on specific subsystems.
 *
 *	Components can be found under the conponents directory or @ref papi_components "here". 
 *	and included in a build as an argument to configure, 
 *	'--with-components=<comma_seperated_list_of_components_to_build>'
 * 
 * @section papi_util PAPI Utility Commands
 * <ul> 
 *		<li> @ref papi_avail - provides availability and detail information for PAPI preset events
 *		<li> @ref papi_clockres - provides availability and detail information for PAPI preset events
 *		<li> @ref papi_cost - provides availability and detail information for PAPI preset events
 *		<li> @ref papi_command_line - executes PAPI preset or native events from the command line
 *		<li> @ref papi_decode -	decodes PAPI preset events into a csv format suitable for 
 *							PAPI_encode_events
 *		<li> @ref papi_event_chooser -	given a list of named events, lists other events 
 *										that can be counted with them
 *		<li> @ref papi_mem_info -	provides information on the memory architecture 
									of the current processor
 *		<li> @ref papi_native_avail - provides detailed information for PAPI native events 
 * </ul>
 * @see The PAPI Website http://icl.cs.utk.edu/papi
 */
{'fraction_non_alphanumeric': 0.08911917098445596, 'fraction_numerical': 0.001381692573402418, 'mean_word_length': 3.513639906469213, 'pattern_counts': {'":': 0, '<': 44, '<?xml version=': 0, '>': 44, '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': '2695987', 'n_tokens_mistral': 1724, 'n_tokens_neox': 1608, 'n_words': 711}