\section{Examples Organization} \label{chap:examples} \label{sec:examples} \index{example label} \index{example label!omp_verno@\kcode{omp_\plc{verno}}} \index{omp_verno@\kcode{omp_\plc{verno}}} This document includes examples of the OpenMP API directives, constructs, and routines. Each example is labeled with \plc{ename.seq-id.ext}, where \plc{ename} is the example name, \plc{seq-id} is the sequence identifier in a section, and \plc{ext} is the source file extension to indicate the code type and source form. \plc{ext} is one of the following: \begin{description}[noitemsep,labelindent=5mm,widest=f90] \item[\plc{c}] -- \ C code, \item[\plc{cpp}] -- \ C++ code, \item[\plc{f}] -- \ Fortran code in fixed form, and \item[\plc{f90}] -- \ Fortran code in free form. \end{description} Example labels include version information of the form \verlabel{\plc{verno}} to indicate features that are illustrated by an example for a specific OpenMP version, such as ``\example{scan.1.c} \;\verlabel{5.0}.'' Some of the example labels include version information of the form \verlabel[pre\_]{3.0} to indicate features that are specified prior to OpenMP version 3.0, such as ``\example{ploop.1.c} \;\verlabel[pre\_]{3.0}.'' Language markers may be used to indicate text or codes that are specific to a particular base language. \begin{ccppspecific} This is C/C++ specific: A statement following a directive is compound only when necessary, and a non-compound statement is indented with respect to a directive preceding it. \end{ccppspecific} \begin{fortranspecific} This is Fortran specific... \end{fortranspecific} \linewitharrows{-1}{dashed}{Fortran (cont.)}{8em} This marks the continuation of language specific page. \medskip Throughout the examples document we assume that the number of threads used for a \kcode{parallel} region is the same as the number of threads requested, unless explicitly specified otherwise.