Changeset 8bc4ef8 for doc/user


Ignore:
Timestamp:
Apr 28, 2016, 2:48:14 PM (9 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
e945826
Parents:
b72bad4f
Message:

small updates missing from last commit

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/user/user.tex

    rb72bad4f r8bc4ef8  
    1111%% Created On       : Wed Apr  6 14:53:29 2016
    1212%% Last Modified By : Peter A. Buhr
    13 %% Last Modified On : Wed Apr 27 22:39:40 2016
    14 %% Update Count     : 160
     13%% Last Modified On : Thu Apr 28 14:45:07 2016
     14%% Update Count     : 181
    1515%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1616
     
    233233cfa [ gcc-options ] C/@{\CFA}@-files [ assembler/loader-files ]
    234234\end{lstlisting}
    235 \index{cfa@\lstinline$cfa$}\index{compilation!cfa@\lstinline$cfa$}
     235\indexc{cfa}\index{compilation!cfa@\lstinline$cfa$}
    236236By default, \CFA programs having the following \lstinline@gcc@ flags turned on:
    237237\begin{description}
    238238\item
    239239\hspace*{-4pt}\lstinline@-std=gnu99@
    240 \index{-std=gnu99@{\lstinline$-std=gnu99$}}\index{compilation option!-std=gnu99@{\lstinline$-std=gnu99$}}
     240\indexc{-std=gnu99}\index{compilation option!-std=gnu99@{\lstinline$-std=gnu99$}}
    241241The 1999 C standard plus GNU extensions.
    242242\item
    243243\hspace*{-4pt}\lstinline@-fgnu89-inline@
    244 \index{-fgnu89-inline@{\lstinline$-fgnu89-inline$}}\index{compilation option!-fgnu89-inline@{\lstinline$-fgnu89-inline$}}
     244\indexc{-fgnu89-inline}\index{compilation option!-fgnu89-inline@{\lstinline$-fgnu89-inline$}}
    245245Use the traditional GNU semantics for inline routines in C99 mode.
    246246\end{description}
     
    249249\item
    250250\hspace*{-4pt}\lstinline@-CFA@
    251 \index{-CFA@{\lstinline$-CFA$}}\index{compilation option!-CFA@{\lstinline$-CFA$}}
     251\indexc{-CFA}\index{compilation option!-CFA@{\lstinline$-CFA$}}
    252252Only the C preprocessor and the \CFA translator steps are performed and the transformed program is written to standard output, which makes it possible to examine the code generated by the \CFA translator.
    253253\end{description}
     
    257257\item
    258258\hspace*{-4pt}\lstinline$__CFA__$
    259 \index{__CFA__@{\lstinline$__CFA__$}}\index{preprocessor variables!__CFA__@{\lstinline$__CFA__$}}
     259\indexc{__CFA__}\index{preprocessor variables!__CFA__@{\lstinline$__CFA__$}}
    260260is always available during preprocessing and its value is the current major \Index{version number} of \CFA.\footnote{
    261261The C preprocessor allows only integer values in a preprocessor variable so a value like ``\Version'' is not allowed.
     
    264264\item
    265265\hspace*{-4pt}\lstinline$__CFA_MINOR__$
    266 \index{__CFA_MINOR__@{\lstinline$__CFA_MINOR__$}}\index{preprocessor variables!__CFA_MINOR__@{\lstinline$__CFA_MINOR__$}}
     266\indexc{__CFA_MINOR__}\index{preprocessor variables!__CFA_MINOR__@{\lstinline$__CFA_MINOR__$}}
    267267is always available during preprocessing and its value is the current minor \Index{version number} of \CFA.
    268268
    269269\item
    270270\hspace*{-4pt}\lstinline$__CFA_PATCH__$
    271 \index{__CFA_PATCH__@\lstinline$__CFA_PATCH__$)}\index{preprocessor variables!__CFA_PATCH__@\lstinline$__CFA_PATCH__$}
     271\indexc{__CFA_PATCH__}\index{preprocessor variables!__CFA_PATCH__@\lstinline$__CFA_PATCH__$}
    272272is always available during preprocessing and its value is the current patch \Index{version number} of \CFA.
    273273
    274274\item
    275275\hspace*{-4pt}\lstinline$__CFORALL__$
    276 \index{__CFORALL__@\lstinline$__CFORALL__$}\index{preprocessor variables!__CFORALL__@\lstinline$__CFORALL__$}
     276\indexc{__CFORALL__}\index{preprocessor variables!__CFORALL__@\lstinline$__CFORALL__$}
    277277is always available during preprocessing and it has no value.
    278278\end{description}
     
    505505in both cases the type is assumed to be void as opposed to old style C defaults of int return type and unknown parameter types, respectively, as in:
    506506\begin{lstlisting}
    507 [@\,@] g(@\,@);                         // no input or output parameters
     507[@\,@] g();                                             // no input or output parameters
    508508[ void ] g( void );                     // no input or output parameters
    509509\end{lstlisting}
     
    41934193\begin{lstlisting}[belowskip=0pt]
    41944194sout | 1 | ", x" | 2 | ". x" | 3 | ": x" | 4 | "; x" | 5 | "! x" | 6 | "? x" | 7 | ") x" | 8 | "] x" | 9 | "} x"
    4195          | 10 | "% x" | 11 | L"¢ x" | 12 | L"» x" | endl;
     4195         | 10 | "% x" | 11 | "¢ x" | 12 | "» x" | endl;
    41964196\end{lstlisting}
    41974197\begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    42624262        sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x $" | 4 | "x £" | 5 | "x ¥" | 6 | "x ¿" | 7 | "x «" | 8 | endl;
    42634263        sout | 1 | ", x" | 2 | ". x" | 3 | ": x" | 4 | "; x" | 5 | "! x" | 6 | "? x" | 7 | ") x" | 8 | "] x" | 9 | "} x"
    4264                  | 10 | "% x" | 11 | L"¢ x" | 12 | L"» x" | endl;
     4264                 | 10 | "% x" | 11 | "¢ x" | 12 | "» x" | endl;
    42654265        sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x" | "x " | 4 | " x" | endl;
    42664266        sout | "x\t" | 1 | "\tx" | endl;
     
    42904290\subsection{malloc}
    42914291
    4292 \begin{lstlisting}
    4293 forall( otype T ) T * malloc( void );
     4292\begin{lstlisting}[escapechar=^]
     4293forall( otype T ) T * malloc( void );^\indexc{malloc}^
    42944294forall( otype T ) T * malloc( char fill );
    42954295forall( otype T ) T * malloc( T * ptr, size_t size );
    42964296forall( otype T ) T * malloc( T * ptr, size_t size, unsigned char fill );
    4297 forall( otype T ) T * calloc( size_t nmemb );
    4298 forall( otype T ) T * realloc( T * ptr, size_t size );
     4297forall( otype T ) T * calloc( size_t nmemb );^\indexc{calloc}^
     4298forall( otype T ) T * realloc( T * ptr, size_t size );^\indexc{ato}^
    42994299forall( otype T ) T * realloc( T * ptr, size_t size, unsigned char fill );
    43004300
    4301 forall( otype T ) T * aligned_alloc( size_t alignment );
     4301forall( otype T ) T * aligned_alloc( size_t alignment );^\indexc{ato}^
    43024302forall( otype T ) T * memalign( size_t alignment );             // deprecated
    43034303forall( otype T ) int posix_memalign( T ** ptr, size_t alignment );
     
    43104310\subsection{ato / strto}
    43114311
    4312 \begin{lstlisting}
    4313 int ato( const char * ptr );
     4312\begin{lstlisting}[escapechar=^]
     4313int ato( const char * ptr );^\indexc{ato}^
    43144314unsigned int ato( const char * ptr );
    43154315long int ato( const char * ptr );
     
    43414341\subsection{bsearch / qsort}
    43424342
    4343 \begin{lstlisting}
     4343\begin{lstlisting}[escapechar=^]
    43444344forall( otype T | { int ?<?( T, T ); } )
    4345 T * bsearch( const T key, const T * arr, size_t dimension );
     4345T * bsearch( const T key, const T * arr, size_t dimension );^\indexc{bsearch}^
    43464346
    43474347forall( otype T | { int ?<?( T, T ); } )
    4348 void qsort( const T * arr, size_t dimension );
     4348void qsort( const T * arr, size_t dimension );^\indexc{qsort}^
    43494349\end{lstlisting}
    43504350
     
    43524352\subsection{abs}
    43534353
    4354 \begin{lstlisting}
    4355 char abs( char );
     4354\begin{lstlisting}[escapechar=^]
     4355char abs( char );^\indexc{abs}^
    43564356int abs( int );
    43574357long int abs( long int );
     
    43684368\subsection{random}
    43694369
    4370 \begin{lstlisting}
    4371 void rand48seed( long int s );
    4372 char rand48();
     4370\begin{lstlisting}[escapechar=^]
     4371void rand48seed( long int s );^\indexc{rand48seed}^
     4372char rand48();^\indexc{rand48}^
    43734373int rand48();
    43744374unsigned int rand48();
     
    43854385\subsection{min / max / swap}
    43864386
    4387 \begin{lstlisting}
     4387\begin{lstlisting}[escapechar=^]
    43884388forall( otype T | { int ?<?( T, T ); } )
    4389 T min( const T t1, const T t2 );
     4389T min( const T t1, const T t2 );^\indexc{min}^
    43904390
    43914391forall( otype T | { int ?>?( T, T ); } )
    4392 T max( const T t1, const T t2 );
     4392T max( const T t1, const T t2 );^\indexc{max}^
    43934393
    43944394forall( otype T )
    4395 void swap( T * t1, T * t2 );
     4395void swap( T * t1, T * t2 );^\indexc{swap}^
    43964396\end{lstlisting}
    43974397
     
    44054405\subsection{General}
    44064406
    4407 \begin{lstlisting}
    4408 float fabs( float );
     4407\begin{lstlisting}[escapechar=^]
     4408float fabs( float );^\indexc{fabs}^
    44094409double fabs( double );
    44104410long double fabs( long double );
     
    44134413long double cabs( long double _Complex );
    44144414
    4415 float ?%?( float, float );
     4415float ?%?( float, float );^\indexc{fmod}^
    44164416float fmod( float, float );
    44174417double ?%?( double, double );
     
    44204420long double fmod( long double, long double );
    44214421
    4422 float remainder( float, float );
     4422float remainder( float, float );^\indexc{remainder}^
    44234423double remainder( double, double );
    44244424long double remainder( long double, long double );
    44254425
    4426 [ int, float ] remquo( float, float );
     4426[ int, float ] remquo( float, float );^\indexc{remquo}^
    44274427float remquo( float, float, int * );
    44284428[ int, double ] remquo( double, double );
     
    44324432
    44334433[ int, float ] div( float, float );                                             // alternative name for remquo
    4434 float div( float, float, int * );
     4434float div( float, float, int * );^\indexc{div}^
    44354435[ int, double ] div( double, double );
    44364436double div( double, double, int * );
     
    44384438long double div( long double, long double, int * );
    44394439
    4440 float fma( float, float, float );
     4440float fma( float, float, float );^\indexc{fma}^
    44414441double fma( double, double, double );
    44424442long double fma( long double, long double, long double );
    44434443
    4444 float fdim( float, float );
     4444float fdim( float, float );^\indexc{fdim}^
    44454445double fdim( double, double );
    44464446long double fdim( long double, long double );
    44474447
    4448 float nan( const char * );
     4448float nan( const char * );^\indexc{nan}^
    44494449double nan( const char * );
    44504450long double nan( const char * );
     
    44544454\subsection{Exponential}
    44554455
    4456 \begin{lstlisting}
    4457 float exp( float );
     4456\begin{lstlisting}[escapechar=^]
     4457float exp( float );^\indexc{exp}^
    44584458double exp( double );
    44594459long double exp( long double );
     
    44624462long double _Complex exp( long double _Complex );
    44634463
    4464 float exp2( float );
     4464float exp2( float );^\indexc{exp2}^
    44654465double exp2( double );
    44664466long double exp2( long double );
    4467 // float _Complex exp2( float _Complex );
    4468 // double _Complex exp2( double _Complex );
    4469 // long double _Complex exp2( long double _Complex );
    4470 
    4471 float expm1( float );
     4467float _Complex exp2( float _Complex );
     4468double _Complex exp2( double _Complex );
     4469long double _Complex exp2( long double _Complex );
     4470
     4471float expm1( float );^\indexc{expm1}^
    44724472double expm1( double );
    44734473long double expm1( long double );
    44744474
    4475 float log( float );
     4475float log( float );^\indexc{log}^
    44764476double log( double );
    44774477long double log( long double );
     
    44804480long double _Complex log( long double _Complex );
    44814481
    4482 float log2( float );
     4482float log2( float );^\indexc{log2}^
    44834483double log2( double );
    44844484long double log2( long double );
    4485 // float _Complex log2( float _Complex );
    4486 // double _Complex log2( double _Complex );
    4487 // long double _Complex log2( long double _Complex );
    4488 
    4489 float log10( float );
     4485float _Complex log2( float _Complex );
     4486double _Complex log2( double _Complex );
     4487long double _Complex log2( long double _Complex );
     4488
     4489float log10( float );^\indexc{log10}^
    44904490double log10( double );
    44914491long double log10( long double );
    4492 // float _Complex log10( float _Complex );
    4493 // double _Complex log10( double _Complex );
    4494 // long double _Complex log10( long double _Complex );
    4495 
    4496 float log1p( float );
     4492float _Complex log10( float _Complex );
     4493double _Complex log10( double _Complex );
     4494long double _Complex log10( long double _Complex );
     4495
     4496float log1p( float );^\indexc{log1p}^
    44974497double log1p( double );
    44984498long double log1p( long double );
    44994499
    4500 int ilogb( float );
     4500int ilogb( float );^\indexc{ilogb}^
    45014501int ilogb( double );
    45024502int ilogb( long double );
    45034503
    4504 float logb( float );
     4504float logb( float );^\indexc{logb}^
    45054505double logb( double );
    45064506long double logb( long double );
     
    45104510\subsection{Power}
    45114511
    4512 \begin{lstlisting}
    4513 float sqrt( float );
     4512\begin{lstlisting}[escapechar=^]
     4513float sqrt( float );^\indexc{sqrt}^
    45144514double sqrt( double );
    45154515long double sqrt( long double );
     
    45184518long double _Complex sqrt( long double _Complex );
    45194519
    4520 float cbrt( float );
     4520float cbrt( float );^\indexc{cbrt}^
    45214521double cbrt( double );
    45224522long double cbrt( long double );
    45234523
    4524 float hypot( float, float );
     4524float hypot( float, float );^\indexc{hypot}^
    45254525double hypot( double, double );
    45264526long double hypot( long double, long double );
    45274527
    4528 float pow( float, float );
     4528float pow( float, float );^\indexc{pow}^
    45294529double pow( double, double );
    45304530long double pow( long double, long double );
     
    45374537\subsection{Trigonometric}
    45384538
    4539 \begin{lstlisting}
    4540 float sin( float );
     4539\begin{lstlisting}[escapechar=^]
     4540float sin( float );^\indexc{sin}^
    45414541double sin( double );
    45424542long double sin( long double );
     
    45454545long double _Complex sin( long double _Complex );
    45464546
    4547 float cos( float );
     4547float cos( float );^\indexc{cos}^
    45484548double cos( double );
    45494549long double cos( long double );
     
    45524552long double _Complex cos( long double _Complex );
    45534553
    4554 float tan( float );
     4554float tan( float );^\indexc{tan}^
    45554555double tan( double );
    45564556long double tan( long double );
     
    45594559long double _Complex tan( long double _Complex );
    45604560
    4561 float asin( float );
     4561float asin( float );^\indexc{asin}^
    45624562double asin( double );
    45634563long double asin( long double );
     
    45664566long double _Complex asin( long double _Complex );
    45674567
    4568 float acos( float );
     4568float acos( float );^\indexc{acos}^
    45694569double acos( double );
    45704570long double acos( long double );
     
    45734573long double _Complex acos( long double _Complex );
    45744574
    4575 float atan( float );
     4575float atan( float );^\indexc{atan}^
    45764576double atan( double );
    45774577long double atan( long double );
     
    45804580long double _Complex atan( long double _Complex );
    45814581
    4582 float atan2( float, float );
     4582float atan2( float, float );^\indexc{atan2}^
    45834583double atan2( double, double );
    45844584long double atan2( long double, long double );
    45854585
    45864586float atan( float, float );                                                             // alternative name for atan2
    4587 double atan( double, double );
     4587double atan( double, double );^\indexc{atan}^
    45884588long double atan( long double, long double );
    45894589\end{lstlisting}
     
    45924592\subsection{Hyperbolic}
    45934593
    4594 \begin{lstlisting}
    4595 float sinh( float );
     4594\begin{lstlisting}[escapechar=^]
     4595float sinh( float );^\indexc{sinh}^
    45964596double sinh( double );
    45974597long double sinh( long double );
     
    46004600long double _Complex sinh( long double _Complex );
    46014601
    4602 float cosh( float );
     4602float cosh( float );^\indexc{cosh}^
    46034603double cosh( double );
    46044604long double cosh( long double );
     
    46074607long double _Complex cosh( long double _Complex );
    46084608
    4609 float tanh( float );
     4609float tanh( float );^\indexc{tanh}^
    46104610double tanh( double );
    46114611long double tanh( long double );
     
    46144614long double _Complex tanh( long double _Complex );
    46154615
    4616 float asinh( float );
     4616float asinh( float );^\indexc{asinh}^
    46174617double asinh( double );
    46184618long double asinh( long double );
     
    46214621long double _Complex asinh( long double _Complex );
    46224622
    4623 float acosh( float );
     4623float acosh( float );^\indexc{acosh}^
    46244624double acosh( double );
    46254625long double acosh( long double );
     
    46284628long double _Complex acosh( long double _Complex );
    46294629
    4630 float atanh( float );
     4630float atanh( float );^\indexc{atanh}^
    46314631double atanh( double );
    46324632long double atanh( long double );
     
    46394639\subsection{Error / Gamma}
    46404640
    4641 \begin{lstlisting}
    4642 float erf( float );
     4641\begin{lstlisting}[escapechar=^]
     4642float erf( float );^\indexc{erf}^
    46434643double erf( double );
    46444644long double erf( long double );
    4645 // float _Complex erf( float _Complex );
    4646 // double _Complex erf( double _Complex );
    4647 // long double _Complex erf( long double _Complex );
    4648 
    4649 float erfc( float );
     4645float _Complex erf( float _Complex );
     4646double _Complex erf( double _Complex );
     4647long double _Complex erf( long double _Complex );
     4648
     4649float erfc( float );^\indexc{erfc}^
    46504650double erfc( double );
    46514651long double erfc( long double );
    4652 // float _Complex erfc( float _Complex );
    4653 // double _Complex erfc( double _Complex );
    4654 // long double _Complex erfc( long double _Complex );
    4655 
    4656 float lgamma( float );
     4652float _Complex erfc( float _Complex );
     4653double _Complex erfc( double _Complex );
     4654long double _Complex erfc( long double _Complex );
     4655
     4656float lgamma( float );^\indexc{lgamma}^
    46574657double lgamma( double );
    46584658long double lgamma( long double );
     
    46614661long double lgamma( long double, int * );
    46624662
    4663 float tgamma( float );
     4663float tgamma( float );^\indexc{tgamma}^
    46644664double tgamma( double );
    46654665long double tgamma( long double );
     
    46704670
    46714671\begin{lstlisting}[escapechar=^]
    4672 float floor( float );^\index{floor@\lstinline$floor$}^
     4672float floor( float );^\indexc{floor}^
    46734673double floor( double );
    46744674long double floor( long double );
    46754675
    4676 float ceil( float );^\index{ceil@\lstinline$ceil$}^
     4676float ceil( float );^\indexc{ceil}^
    46774677double ceil( double );
    46784678long double ceil( long double );
    46794679
    4680 float trunc( float );^\index{trunc@\lstinline$trunc$}^
     4680float trunc( float );^\indexc{trunc}^
    46814681double trunc( double );
    46824682long double trunc( long double );
    46834683
    4684 float rint( float );^\index{rint@\lstinline$rint$}^
     4684float rint( float );^\indexc{rint}^
    46854685long double rint( long double );
    46864686long int rint( float );
     
    46914691long long int rint( long double );
    46924692
    4693 long int lrint( float );^\index{lrint@\lstinline$lrint$}^
     4693long int lrint( float );^\indexc{lrint}^
    46944694long int lrint( double );
    46954695long int lrint( long double );
     
    46984698long long int llrint( long double );
    46994699
    4700 float nearbyint( float );^\index{nearbyint@\lstinline$nearbyint$}^
     4700float nearbyint( float );^\indexc{nearbyint}^
    47014701double nearbyint( double );
    47024702long double nearbyint( long double );
    47034703
    4704 float round( float );^\index{round@\lstinline$round$}^
     4704float round( float );^\indexc{round}^
    47054705long double round( long double );
    47064706long int round( float );
     
    47114711long long int round( long double );
    47124712
    4713 long int lround( float );^\index{lround@\lstinline$lround$}^
     4713long int lround( float );^\indexc{lround}^
    47144714long int lround( double );
    47154715long int lround( long double );
     
    47234723
    47244724\begin{lstlisting}[escapechar=^]
    4725 float copysign( float, float );^\index{copysign@\lstinline$copysign$}^
     4725float copysign( float, float );^\indexc{copysign}^
    47264726double copysign( double, double );
    47274727long double copysign( long double, long double );
    47284728
    4729 float frexp( float, int * );^\index{frexp@\lstinline$frexp$}^
     4729float frexp( float, int * );^\indexc{frexp}^
    47304730double frexp( double, int * );
    47314731long double frexp( long double, int * );
    47324732
    4733 float ldexp( float, int );^\index{ldexp@\lstinline$ldexp$}^
     4733float ldexp( float, int );^\indexc{ldexp}^
    47344734double ldexp( double, int );
    47354735long double ldexp( long double, int );
    47364736
    4737 [ float, float ] modf( float );^\index{modf@\lstinline$modf$}^
     4737[ float, float ] modf( float );^\indexc{modf}^
    47384738float modf( float, float * );
    47394739[ double, double ] modf( double );
     
    47424742long double modf( long double, long double * );
    47434743
    4744 float nextafter( float, float );^\index{nextafter@\lstinline$nextafter$}^
     4744float nextafter( float, float );^\indexc{nextafter}^
    47454745double nextafter( double, double );
    47464746long double nextafter( long double, long double );
    47474747
    4748 float nexttoward( float, long double );^\index{nexttoward@\lstinline$nexttoward$}^
     4748float nexttoward( float, long double );^\indexc{nexttoward}^
    47494749double nexttoward( double, long double );
    47504750long double nexttoward( long double, long double );
    47514751
    4752 float scalbn( float, int );^\index{scalbn@\lstinline$scalbn$}^
     4752float scalbn( float, int );^\indexc{scalbn}^
    47534753double scalbn( double, int );
    47544754long double scalbn( long double, int );
    47554755
    4756 float scalbln( float, long int );^\index{scalbln@\lstinline$scalbln$}^
     4756float scalbln( float, long int );^\indexc{scalbln}^
    47574757double scalbln( double, long int );
    47584758long double scalbln( long double, long int );
     
    47664766When creating and computing with rational numbers, results are constantly reduced to keep the numerator and denominator as small as possible.
    47674767
    4768 \begin{lstlisting}
     4768\begin{lstlisting}[escapechar=^]
    47694769// implementation
    4770 struct Rational {
     4770struct Rational {^\indexc{Rational}^
    47714771        long int numerator, denominator;                                        // invariant: denominator > 0
    47724772}; // Rational
Note: See TracChangeset for help on using the changeset viewer.