 Timestamp:
 Apr 27, 2016, 10:52:23 PM (8 years ago)
 Branches:
 ADT, aaronthesis, armeh, astexperimental, cleanupdtors, ctor, deferred_resn, demangler, enum, forallpointerdecay, gc_noraii, jacob/cs343translation, jenkinssandbox, master, memory, newast, newastuniqueexpr, newenv, no_list, persistentindexer, pthreademulation, qualifiedEnum, resolvnew, with_gc
 Children:
 8bc4ef8
 Parents:
 dc5376a
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

doc/user/user.tex
rdc5376a rb72bad4f 11 11 %% Created On : Wed Apr 6 14:53:29 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Thu Apr 21 08:15:37201614 %% Update Count : 1 3113 %% Last Modified On : Wed Apr 27 22:39:40 2016 14 %% Update Count : 160 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 226 226 227 227 228 \section {Compiling \CFA Program}228 \section[Compiling CFA Program]{Compiling \CFA Program} 229 229 230 230 The command \lstinline@cfa@ is used to compile \CFA program(s). … … 269 269 \item 270 270 \hspace*{4pt}\lstinline$__CFA_PATCH__$ 271 \index{__CFA_PATCH__@ %(__CFA_PATCH__%)}\index{preprocessor variables!__CFA_PATCH__@%(__CFA_PATCH__%)}271 \index{__CFA_PATCH__@\lstinline$__CFA_PATCH__$)}\index{preprocessor variables!__CFA_PATCH__@\lstinline$__CFA_PATCH__$} 272 272 is always available during preprocessing and its value is the current patch \Index{version number} of \CFA. 273 273 274 274 \item 275 275 \hspace*{4pt}\lstinline$__CFORALL__$ 276 \index{__CFORALL__@ %(__CFORALL__%)}\index{preprocessor variables!__CFORALL__@%(__CFORALL__%)}276 \index{__CFORALL__@\lstinline$__CFORALL__$}\index{preprocessor variables!__CFORALL__@\lstinline$__CFORALL__$} 277 277 is always available during preprocessing and it has no value. 278 278 \end{description} … … 781 781 \subsection{Type Nesting} 782 782 783 \CFA allows \Index{type nesting}, and type qualification of the nested types, where as C hoists\index{type !hoisting} (refactors) nested types into the enclosing scope and has no type qualification.783 \CFA allows \Index{type nesting}, and type qualification of the nested types, where as C hoists\index{type hoisting} (refactors) nested types into the enclosing scope and has no type qualification. 784 784 \begin{quote2} 785 785 \begin{tabular}{@{}l@{\hspace{30pt}}ll@{}} … … 3325 3325 3326 3326 3327 \subsection {Comparing Key Features of \CFA}3327 \subsection[Comparing Key Features of CFA]{Comparing Key Features of \CFA} 3328 3328 3329 3329 … … 3699 3699 3700 3700 \begin{comment} 3701 \subsubsection{Modules /Packages}3701 \subsubsection{Modules / Packages} 3702 3702 3703 3703 \begin{lstlisting} … … 3941 3941 3942 3942 3943 \subsubsection {\CC}3943 \subsubsection[C++]{\CC} 3944 3944 3945 3945 \CC is a generalpurpose programming language. … … 4160 4160 A seperator does not appear at the start or end of a line. 4161 4161 \begin{lstlisting}[belowskip=0pt] 4162 sout 1  2  3  endl;4162 sout  1  2  3  endl; 4163 4163 \end{lstlisting} 4164 4164 \begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt] … … 4179 4179 which is a local mechanism to disable insertion of the separator character. 4180 4180 \item 4181 A seperator does not appear before a C string starting with the \Index{extended ASCII}\index{ASCII} characters: \lstinline[mathescape=off]@([{$£¥¿«@4181 A seperator does not appear before a C string starting with the (extended) \Index{ASCII}\index{ASCII!extended} characters: \lstinline[mathescape=off]@([{$£¥¿«@ 4182 4182 %$ 4183 4183 \begin{lstlisting}[mathescape=off] … … 4190 4190 %$ 4191 4191 \item 4192 A seperator does not appear after a C string ending with the extended ASCIIcharacters: \lstinline@,.:;!?)]}%¢»@4192 A seperator does not appear after a C string ending with the (extended) \Index{ASCII}\index{ASCII!extended} characters: \lstinline@,.:;!?)]}%¢»@ 4193 4193 \begin{lstlisting}[belowskip=0pt] 4194 4194 sout  1  ", x"  2  ". x"  3  ": x"  4  "; x"  5  "! x"  6  "? x"  7  ") x"  8  "] x"  9  "} x" … … 4199 4199 \end{lstlisting} 4200 4200 \item 4201 A seperator does not appear before or after a C string begining/ending with the characters: \lstinline @\f\n\r\t\v\`'"@4201 A seperator does not appear before or after a C string begining/ending with the characters: \lstinline[showspaces=true]@\`'" \f\n\r\t\v@ 4202 4202 \begin{lstlisting}[belowskip=0pt] 4203 sout  "x '"  1  "' x \`"  2  "\` x \""  3  "\" x"  endl;4203 sout  "x\`"  1  "\`x'"  2  "'x\""  3  "\"x"  "x "  4  " x"  endl; 4204 4204 \end{lstlisting} 4205 4205 \begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt] 4206 x '1' x \`2\` x "3"x4206 x\`1\`x'2'x"3"x x 4 x 4207 4207 \end{lstlisting} 4208 4208 \begin{lstlisting}[showtabs=true,aboveskip=0pt] … … 4240 4240 \end{lstlisting} 4241 4241 \begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt] 4242 1 2 34242 1 2 3 4243 4243 \end{lstlisting} 4244 4244 \begin{lstlisting}[mathescape=off,aboveskip=0pt,aboveskip=0pt,belowskip=0pt] … … 4251 4251 \end{lstlisting} 4252 4252 %$ 4253 \VRef[Figure]{f:ExampleIO} shows an example of input and output I/O in \CFA. 4254 4255 \begin{figure} 4256 \begin{lstlisting}[mathescape=off] 4253 \begin{comment} 4257 4254 #include <fstream> 4258 4255 4259 4256 int main() { 4260 char c; // basic types 4261 short int si; 4262 unsigned short int usi; 4263 int i; 4264 unsigned int ui; 4265 long int li; 4266 unsigned long int uli; 4267 long long int lli; 4268 unsigned long long int ulli; 4269 float f; 4270 double d; 4271 long double ld; 4272 float _Complex fc; 4273 double _Complex dc; 4274 long double _Complex ldc; 4275 char s1[10], s2[10]; 4276 4277 ifstream in; // create / open file 4278 open( &in, "input.data", "r" ); 4279 4280 &in  &c // character 4281  &si  &usi  &i  &ui  &li  &uli  &lli  &ulli // integral 4282  &f  &d  &ld // floating point 4283  &fc  &dc  &ldc // floatingpoint complex 4284  cstr( s1 )  cstr( s2, 10 ); // C string, length unchecked and checked 4285 4286 sout  c  ' '  endl // character 4287  si  usi  i  ui  li  uli  lli  ulli  endl // integral 4288  f  d  ld  endl // floating point 4289  fc  dc  ldc  endl; // complex 4290 sout  endl; 4291 sout  f  ""  d  ""  ld  endl // floating point without separator 4292  sepDisable  fc  dc  ldc  sepEnable  endl // complex without separator 4293  sepOn  s1  sepOff  s2  endl // local separator removal 4294  s1  ""  s2  endl; // C string withou separator 4295 sout  endl; 4296 sepSet( sout, ", $" ); // change separator, maximum of 15 characters 4297 sout  f  d  ld  endl // floating point without separator 4298  fc  dc  ldc  endl // complex without separator 4299  s1  s2  endl; 4300 } 4301 4302 $ cat input.data 4303 A 1 2 3 4 5 6 7 8 1.1 1.2 1.3 1.1+2.3 1.12.3 1.12.3 abc xyz 4304 $ a.out 4305 A 4306 1 2 3 4 5 6 7 8 4307 1.1 1.2 1.3 4308 1.1+2.3i 1.12.3i 1.12.3i 4309 4310 1.11.21.3 4311 1.1+2.3i1.12.3i1.12.3i 4312 abcxyz 4313 abcxyz 4314 4315 1.1, $1.2, $1.3 4316 1.1+2.3i, $1.12.3i, $1.12.3i 4317 abc, $xyz 4318 \end{lstlisting} 4319 \caption{Example I/O} 4320 \label{f:ExampleIO} 4321 \end{figure} 4257 int x = 3, y = 5, z = 7; 4258 sout  x * 3  y + 1  z << 2  x == y  (x  y)  (x  y)  (x > z ? 1 : 2)  endl; 4259 sout  1  2  3  endl; 4260 sout  '1'  '2'  '3'  endl; 4261 sout  1  ""  2  ""  3  endl; 4262 sout  "x ("  1  "x ["  2  "x {"  3  "x $"  4  "x £"  5  "x ¥"  6  "x ¿"  7  "x «"  8  endl; 4263 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; 4265 sout  "x`"  1  "`x'"  2  "'x\""  3  "\"x"  "x "  4  " x"  endl; 4266 sout  "x\t"  1  "\tx"  endl; 4267 sout  sepOn  1  2  3  sepOn  endl; // separator at start of line 4268 sout  1  sepOff  2  3  endl; // turn off implicit separator temporarily 4269 sout  sepDisable  1  2  3  endl; // turn off implicit separation, affects all subsequent prints 4270 sout  1  sepOn  2  3  endl; // turn on implicit separator temporarily 4271 sout  sepEnable  1  2  3  endl; // turn on implicit separation, affects all subsequent prints 4272 sepSet( sout, ", $" ); // change separator from " " to ", $" 4273 sout  1  2  3  endl; 4274 4275 } 4276 4277 // Local Variables: // 4278 // tabwidth: 4 // 4279 // End: // 4280 \end{comment} 4281 %$ 4322 4282 4323 4283 … … 4335 4295 forall( otype T ) T * malloc( T * ptr, size_t size ); 4336 4296 forall( otype T ) T * malloc( T * ptr, size_t size, unsigned char fill ); 4337 forall( otype T ) T * calloc( size_t size);4297 forall( otype T ) T * calloc( size_t nmemb ); 4338 4298 forall( otype T ) T * realloc( T * ptr, size_t size ); 4339 4299 forall( otype T ) T * realloc( T * ptr, size_t size, unsigned char fill ); … … 4348 4308 4349 4309 4350 \subsection{ato /strto}4310 \subsection{ato / strto} 4351 4311 4352 4312 \begin{lstlisting} … … 4379 4339 4380 4340 4381 \subsection{bsearch /qsort}4341 \subsection{bsearch / qsort} 4382 4342 4383 4343 \begin{lstlisting} … … 4394 4354 \begin{lstlisting} 4395 4355 char abs( char ); 4396 extern "C" { 4397 int abs( int ); // use default C routine for int 4398 } // extern "C" 4356 int abs( int ); 4399 4357 long int abs( long int ); 4400 4358 long long int abs( long long int ); … … 4402 4360 double abs( double ); 4403 4361 long double abs( long double ); 4404 float _Complex abs( float _Complex ); 4405 double _Complex abs( double _Complex ); 4406 long double _Complex abs( long double _Complex ); 4407 \end{lstlisting} 4408 4409 4410 \subsection{floor/ceil} 4411 4412 \begin{lstlisting} 4413 float floor( float ); 4414 extern "C" { 4415 double floor( double ); // use C routine for double 4416 } // extern "C" 4417 long double floor( long double ); 4418 4419 float ceil( float ); 4420 extern "C" { 4421 double ceil( double ); // use C routine for double 4422 } // extern "C" 4423 long double ceil( long double ); 4362 float abs( float _Complex ); 4363 double abs( double _Complex ); 4364 long double abs( long double _Complex ); 4424 4365 \end{lstlisting} 4425 4366 … … 4442 4383 4443 4384 4444 \subsection{min /max/swap}4385 \subsection{min / max / swap} 4445 4386 4446 4387 \begin{lstlisting} … … 4453 4394 forall( otype T ) 4454 4395 void swap( T * t1, T * t2 ); 4396 \end{lstlisting} 4397 4398 4399 \section{Math Library} 4400 \label{s:Math Library} 4401 4402 The goal of the \CFA mathlibrary is to wrap many of the existing C math libraryroutines that are explicitly polymorphic into implicitly polymorphic versions. 4403 4404 4405 \subsection{General} 4406 4407 \begin{lstlisting} 4408 float fabs( float ); 4409 double fabs( double ); 4410 long double fabs( long double ); 4411 float cabs( float _Complex ); 4412 double cabs( double _Complex ); 4413 long double cabs( long double _Complex ); 4414 4415 float ?%?( float, float ); 4416 float fmod( float, float ); 4417 double ?%?( double, double ); 4418 double fmod( double, double ); 4419 long double ?%?( long double, long double ); 4420 long double fmod( long double, long double ); 4421 4422 float remainder( float, float ); 4423 double remainder( double, double ); 4424 long double remainder( long double, long double ); 4425 4426 [ int, float ] remquo( float, float ); 4427 float remquo( float, float, int * ); 4428 [ int, double ] remquo( double, double ); 4429 double remquo( double, double, int * ); 4430 [ int, long double ] remquo( long double, long double ); 4431 long double remquo( long double, long double, int * ); 4432 4433 [ int, float ] div( float, float ); // alternative name for remquo 4434 float div( float, float, int * ); 4435 [ int, double ] div( double, double ); 4436 double div( double, double, int * ); 4437 [ int, long double ] div( long double, long double ); 4438 long double div( long double, long double, int * ); 4439 4440 float fma( float, float, float ); 4441 double fma( double, double, double ); 4442 long double fma( long double, long double, long double ); 4443 4444 float fdim( float, float ); 4445 double fdim( double, double ); 4446 long double fdim( long double, long double ); 4447 4448 float nan( const char * ); 4449 double nan( const char * ); 4450 long double nan( const char * ); 4451 \end{lstlisting} 4452 4453 4454 \subsection{Exponential} 4455 4456 \begin{lstlisting} 4457 float exp( float ); 4458 double exp( double ); 4459 long double exp( long double ); 4460 float _Complex exp( float _Complex ); 4461 double _Complex exp( double _Complex ); 4462 long double _Complex exp( long double _Complex ); 4463 4464 float exp2( float ); 4465 double exp2( double ); 4466 long 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 ); 4472 double expm1( double ); 4473 long double expm1( long double ); 4474 4475 float log( float ); 4476 double log( double ); 4477 long double log( long double ); 4478 float _Complex log( float _Complex ); 4479 double _Complex log( double _Complex ); 4480 long double _Complex log( long double _Complex ); 4481 4482 float log2( float ); 4483 double log2( double ); 4484 long 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 ); 4490 double log10( double ); 4491 long 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 ); 4497 double log1p( double ); 4498 long double log1p( long double ); 4499 4500 int ilogb( float ); 4501 int ilogb( double ); 4502 int ilogb( long double ); 4503 4504 float logb( float ); 4505 double logb( double ); 4506 long double logb( long double ); 4507 \end{lstlisting} 4508 4509 4510 \subsection{Power} 4511 4512 \begin{lstlisting} 4513 float sqrt( float ); 4514 double sqrt( double ); 4515 long double sqrt( long double ); 4516 float _Complex sqrt( float _Complex ); 4517 double _Complex sqrt( double _Complex ); 4518 long double _Complex sqrt( long double _Complex ); 4519 4520 float cbrt( float ); 4521 double cbrt( double ); 4522 long double cbrt( long double ); 4523 4524 float hypot( float, float ); 4525 double hypot( double, double ); 4526 long double hypot( long double, long double ); 4527 4528 float pow( float, float ); 4529 double pow( double, double ); 4530 long double pow( long double, long double ); 4531 float _Complex pow( float _Complex, float _Complex ); 4532 double _Complex pow( double _Complex, double _Complex ); 4533 long double _Complex pow( long double _Complex, long double _Complex ); 4534 \end{lstlisting} 4535 4536 4537 \subsection{Trigonometric} 4538 4539 \begin{lstlisting} 4540 float sin( float ); 4541 double sin( double ); 4542 long double sin( long double ); 4543 float _Complex sin( float _Complex ); 4544 double _Complex sin( double _Complex ); 4545 long double _Complex sin( long double _Complex ); 4546 4547 float cos( float ); 4548 double cos( double ); 4549 long double cos( long double ); 4550 float _Complex cos( float _Complex ); 4551 double _Complex cos( double _Complex ); 4552 long double _Complex cos( long double _Complex ); 4553 4554 float tan( float ); 4555 double tan( double ); 4556 long double tan( long double ); 4557 float _Complex tan( float _Complex ); 4558 double _Complex tan( double _Complex ); 4559 long double _Complex tan( long double _Complex ); 4560 4561 float asin( float ); 4562 double asin( double ); 4563 long double asin( long double ); 4564 float _Complex asin( float _Complex ); 4565 double _Complex asin( double _Complex ); 4566 long double _Complex asin( long double _Complex ); 4567 4568 float acos( float ); 4569 double acos( double ); 4570 long double acos( long double ); 4571 float _Complex acos( float _Complex ); 4572 double _Complex acos( double _Complex ); 4573 long double _Complex acos( long double _Complex ); 4574 4575 float atan( float ); 4576 double atan( double ); 4577 long double atan( long double ); 4578 float _Complex atan( float _Complex ); 4579 double _Complex atan( double _Complex ); 4580 long double _Complex atan( long double _Complex ); 4581 4582 float atan2( float, float ); 4583 double atan2( double, double ); 4584 long double atan2( long double, long double ); 4585 4586 float atan( float, float ); // alternative name for atan2 4587 double atan( double, double ); 4588 long double atan( long double, long double ); 4589 \end{lstlisting} 4590 4591 4592 \subsection{Hyperbolic} 4593 4594 \begin{lstlisting} 4595 float sinh( float ); 4596 double sinh( double ); 4597 long double sinh( long double ); 4598 float _Complex sinh( float _Complex ); 4599 double _Complex sinh( double _Complex ); 4600 long double _Complex sinh( long double _Complex ); 4601 4602 float cosh( float ); 4603 double cosh( double ); 4604 long double cosh( long double ); 4605 float _Complex cosh( float _Complex ); 4606 double _Complex cosh( double _Complex ); 4607 long double _Complex cosh( long double _Complex ); 4608 4609 float tanh( float ); 4610 double tanh( double ); 4611 long double tanh( long double ); 4612 float _Complex tanh( float _Complex ); 4613 double _Complex tanh( double _Complex ); 4614 long double _Complex tanh( long double _Complex ); 4615 4616 float asinh( float ); 4617 double asinh( double ); 4618 long double asinh( long double ); 4619 float _Complex asinh( float _Complex ); 4620 double _Complex asinh( double _Complex ); 4621 long double _Complex asinh( long double _Complex ); 4622 4623 float acosh( float ); 4624 double acosh( double ); 4625 long double acosh( long double ); 4626 float _Complex acosh( float _Complex ); 4627 double _Complex acosh( double _Complex ); 4628 long double _Complex acosh( long double _Complex ); 4629 4630 float atanh( float ); 4631 double atanh( double ); 4632 long double atanh( long double ); 4633 float _Complex atanh( float _Complex ); 4634 double _Complex atanh( double _Complex ); 4635 long double _Complex atanh( long double _Complex ); 4636 \end{lstlisting} 4637 4638 4639 \subsection{Error / Gamma} 4640 4641 \begin{lstlisting} 4642 float erf( float ); 4643 double erf( double ); 4644 long 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 ); 4650 double erfc( double ); 4651 long 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 ); 4657 double lgamma( double ); 4658 long double lgamma( long double ); 4659 float lgamma( float, int * ); 4660 double lgamma( double, int * ); 4661 long double lgamma( long double, int * ); 4662 4663 float tgamma( float ); 4664 double tgamma( double ); 4665 long double tgamma( long double ); 4666 \end{lstlisting} 4667 4668 4669 \subsection{Nearest Integer} 4670 4671 \begin{lstlisting}[escapechar=^] 4672 float floor( float );^\index{floor@\lstinline$floor$}^ 4673 double floor( double ); 4674 long double floor( long double ); 4675 4676 float ceil( float );^\index{ceil@\lstinline$ceil$}^ 4677 double ceil( double ); 4678 long double ceil( long double ); 4679 4680 float trunc( float );^\index{trunc@\lstinline$trunc$}^ 4681 double trunc( double ); 4682 long double trunc( long double ); 4683 4684 float rint( float );^\index{rint@\lstinline$rint$}^ 4685 long double rint( long double ); 4686 long int rint( float ); 4687 long int rint( double ); 4688 long int rint( long double ); 4689 long long int rint( float ); 4690 long long int rint( double ); 4691 long long int rint( long double ); 4692 4693 long int lrint( float );^\index{lrint@\lstinline$lrint$}^ 4694 long int lrint( double ); 4695 long int lrint( long double ); 4696 long long int llrint( float ); 4697 long long int llrint( double ); 4698 long long int llrint( long double ); 4699 4700 float nearbyint( float );^\index{nearbyint@\lstinline$nearbyint$}^ 4701 double nearbyint( double ); 4702 long double nearbyint( long double ); 4703 4704 float round( float );^\index{round@\lstinline$round$}^ 4705 long double round( long double ); 4706 long int round( float ); 4707 long int round( double ); 4708 long int round( long double ); 4709 long long int round( float ); 4710 long long int round( double ); 4711 long long int round( long double ); 4712 4713 long int lround( float );^\index{lround@\lstinline$lround$}^ 4714 long int lround( double ); 4715 long int lround( long double ); 4716 long long int llround( float ); 4717 long long int llround( double ); 4718 long long int llround( long double ); 4719 \end{lstlisting} 4720 4721 4722 \subsection{Manipulation} 4723 4724 \begin{lstlisting}[escapechar=^] 4725 float copysign( float, float );^\index{copysign@\lstinline$copysign$}^ 4726 double copysign( double, double ); 4727 long double copysign( long double, long double ); 4728 4729 float frexp( float, int * );^\index{frexp@\lstinline$frexp$}^ 4730 double frexp( double, int * ); 4731 long double frexp( long double, int * ); 4732 4733 float ldexp( float, int );^\index{ldexp@\lstinline$ldexp$}^ 4734 double ldexp( double, int ); 4735 long double ldexp( long double, int ); 4736 4737 [ float, float ] modf( float );^\index{modf@\lstinline$modf$}^ 4738 float modf( float, float * ); 4739 [ double, double ] modf( double ); 4740 double modf( double, double * ); 4741 [ long double, long double ] modf( long double ); 4742 long double modf( long double, long double * ); 4743 4744 float nextafter( float, float );^\index{nextafter@\lstinline$nextafter$}^ 4745 double nextafter( double, double ); 4746 long double nextafter( long double, long double ); 4747 4748 float nexttoward( float, long double );^\index{nexttoward@\lstinline$nexttoward$}^ 4749 double nexttoward( double, long double ); 4750 long double nexttoward( long double, long double ); 4751 4752 float scalbn( float, int );^\index{scalbn@\lstinline$scalbn$}^ 4753 double scalbn( double, int ); 4754 long double scalbn( long double, int ); 4755 4756 float scalbln( float, long int );^\index{scalbln@\lstinline$scalbln$}^ 4757 double scalbln( double, long int ); 4758 long double scalbln( long double, long int ); 4455 4759 \end{lstlisting} 4456 4760
Note: See TracChangeset
for help on using the changeset viewer.