OSDN Git Service

Document AIMAG, AINT, ALL
[pf3gnuchains/gcc-fork.git] / gcc / fortran / intrinsic.texi
1 @ignore
2 Copyright (C) 2005
3 Free Software Foundation, Inc.
4 This is part of the GFORTRAN manual.   
5 For copying conditions, see the file gfortran.texi.
6
7 Permission is granted to copy, distribute and/or modify this document
8 under the terms of the GNU Free Documentation License, Version 1.2 or
9 any later version published by the Free Software Foundation; with the
10 Invariant Sections being ``GNU General Public License'' and ``Funding
11 Free Software'', the Front-Cover texts being (a) (see below), and with
12 the Back-Cover Texts being (b) (see below).  A copy of the license is
13 included in the gfdl(7) man page.
14
15
16 Some basic guidelines for editing this document:
17
18   (1) The intrinsic procedures are to be listed in alphabetical order.
19   (2) The generic name is to be use.
20   (3) The specific names are included in the function index and in a
21       table at the end of the node (See ABS entry).
22   (4) Try to maintain the same style for each entry.
23
24
25 @end ignore
26
27 @node Intrinsic Procedures
28 @chapter Intrinsic Procedures
29 @cindex Intrinsic Procedures
30
31 This portion of the document is incomplete and undergoing massive expansion 
32 and editing.  All contributions and corrections are strongly encouraged. 
33
34 @menu
35 * Introduction:   Introduction
36 * @code{ABORT}:   ABORT,    Abort the program     
37 * @code{ABS}:     ABS,      Absolute value     
38 * @code{ACHAR}:   ACHAR,    Character in @acronym{ASCII} collating sequence
39 * @code{ACOS}:    ACOS,     Arccosine function
40 * @code{ADJUSTL}: ADJUSTL,  Left adjust a string
41 * @code{ADJUSTR}: ADJUSTR,  Right adjust a string
42 * @code{AIMAG}:   AIMAG,    Imaginary part of complex number
43 * @code{AINT}:    AINT,     Truncate to a whole number
44 * @code{ALL}:     ALL,      Determine all values are true
45 @end menu
46
47 @node Introduction
48 @section Introduction to intrinsic procedures
49
50 Gfortran provides a rich set of intrinsic procedures that includes all
51 the intrinsic procedures required by the Fortran 95 standard, a set of
52 intrinsic procedures for backwards compatibility with Gnu Fortran 77
53 (i.e., @command{g77}), and a small selection of intrinsic procedures
54 from the Fortran 2003 standard.  Any description here, which conflicts with a 
55 description in either the Fortran 95 standard or the Fortran 2003 standard,
56 is unintentional and the standard(s) should be considered authoritative.
57
58 The enumeration of the @code{KIND} type parameter is processor defined in
59 the Fortran 95 standard.  Gfortran defines the default integer type and
60 default real type by @code{INTEGER(KIND=4)} and @code{REAL(KIND=4)},
61 respectively.  The standard mandates that both data types shall have
62 another kind, which have more precision.  On typical target architectures
63 supports by @command{gfortran}, this kind type parameter is @code{KIND=8}.
64 Hence, @code{REAL(KIND=8)} and @code{DOUBLE PRECISION} are equivalent.
65 In the description of generic intrinsic procedures, the kind type parameter
66 will be specified by @code{KIND=*}, and in the description of specific
67 names for an intrinsic procedure the kind type parameter will be explicitly
68 given (e.g., @code{REAL(KIND=4)} or @code{REAL(KIND=8)}).  Finally, for
69 brevity the optional @code{KIND=} syntax will be omitted.
70
71 Many of the intrinsics procedures take one or more optional arguments.
72 This document follows the convention used in the Fortran 95 standard,
73 and denotes such arguments by square brackets.
74
75 @command{Gfortran} offers the @option{-std=f95} and @option{-std=gnu} options,
76 which can be used to restrict the set of intrinsic procedures to a 
77 given standard.  By default, @command{gfortran} sets the @option{-std=gnu}
78 option, and so all intrinsic procedures describe here are accepted.  There
79 is one caveat.  For a select group of intrinsic procedures, @command{g77}
80 implemented both a function and a subroutine.  Both classes 
81 have been implemented in @command{gfortran} for backwards compatibility
82 with @command{g77}.  It is noted here that these functions and subroutines
83 cannot be intermixed in a given subprogram.  In the descriptions that follow,
84 the applicable option(s) is noted.
85
86
87
88 @node ABORT
89 @section @code{ABORT} --- Abort the program  
90 @findex @code{ABORT}
91 @cindex abort
92
93 @table @asis
94 @item @emph{Description}:
95 @code{ABORT} causes immediate termination of the program.  On operating
96 systems that support a core dump, @code{ABORT} will produce a core dump,
97 which is suitable for debugging purposes.
98
99 @item @emph{Option}:
100 gnu
101
102 @item @emph{Type}:
103 non-elemental subroutine
104
105 @item @emph{Syntax}:
106 @code{CALL ABORT}
107
108 @item @emph{Return value}:
109 Does not return.
110
111 @item @emph{Example}:
112 @smallexample
113 program test_abort
114   integer :: i = 1, j = 2
115   if (i /= j) call abort
116 end program test_abort
117 @end smallexample
118 @end table
119
120
121
122 @node ABS
123 @section @code{ABS} --- Absolute value  
124 @findex @code{ABS} intrinsic
125 @findex @code{CABS} intrinsic
126 @findex @code{DABS} intrinsic
127 @findex @code{IABS} intrinsic
128 @findex @code{ZABS} intrinsic
129 @findex @code{CDABS} intrinsic
130 @cindex absolute value
131
132 @table @asis
133 @item @emph{Description}:
134 @code{ABS(X)} computes the absolute value of @code{X}.
135
136 @item @emph{Option}:
137 f95, gnu
138
139 @item @emph{Type}:
140 elemental function
141
142 @item @emph{Syntax}:
143 @code{X = ABS(X)}
144
145 @item @emph{Arguments}:
146 @multitable @columnfractions .15 .80
147 @item @var{X} @tab The type of the argument shall be an @code{INTEGER(*)},
148 @code{REAL(*)}, or @code{COMPLEX(*)}.
149 @end multitable
150
151 @item @emph{Return value}:
152 The return value is of the same type and
153 kind as the argument except the return value is @code{REAL(*)} for a
154 @code{COMPLEX(*)} argument.
155
156 @item @emph{Example}:
157 @smallexample
158 program test_abort
159   integer :: i = -1
160   real :: x = -1.e0
161   complex :: z = (-1.e0,0.e0)
162   i = abs(i)
163   x = abs(x)
164   x = abs(z)
165 end program test_abort
166 @end smallexample
167
168 @item @emph{Specific names}:
169 @multitable @columnfractions .24 .24 .24 .24
170 @item Name            @tab Argument            @tab Return type       @tab Option
171 @item @code{CABS(Z)}  @tab @code{COMPLEX(4) Z} @tab @code{REAL(4)}    @tab f95, gnu
172 @item @code{DABS(X)}  @tab @code{REAL(8) X}    @tab @code{REAL(8)}    @tab f95, gnu
173 @item @code{IABS(I)}  @tab @code{INTEGER(4) I} @tab @code{INTEGER(4)} @tab f95, gnu
174 @item @code{ZABS(Z)}  @tab @code{COMPLEX(8) Z} @tab @code{COMPLEX(8)} @tab gnu
175 @item @code{CDABS(Z)} @tab @code{COMPLEX(8) Z} @tab @code{COMPLEX(8)} @tab gnu
176 @end multitable
177 @end table
178
179
180
181 @node ACHAR
182 @section @code{ACHAR} --- Character in @acronym{ASCII} collating sequence 
183 @findex @code{ACHAR} intrinsic
184 @cindex @acronym{ASCII} collating sequence
185
186 @table @asis
187 @item @emph{Description}:
188 @code{ACHAR(I)} returns the character located at position @code{I}
189 in the @acronym{ASCII} collating sequence.
190
191 @item @emph{Option}:
192 f95, gnu
193
194 @item @emph{Type}:
195 elemental function
196
197 @item @emph{Syntax}:
198 @code{C = ACHAR(I)}
199
200 @item @emph{Arguments}:
201 @multitable @columnfractions .15 .80
202 @item @var{I} @tab The type shall be an @code{INTEGER(*)}.
203 @end multitable
204
205 @item @emph{Return value}:
206 The return value is of type @code{CHARACTER} with a length of one.  The
207 kind type parameter is the same as  @code{KIND('A')}.
208
209 @item @emph{Example}:
210 @smallexample
211 program test_achar
212   character c
213   c = achar(32)
214 end program test_abort
215 @end smallexample
216 @end table
217
218
219
220 @node ACOS
221 @section @code{ACOS} --- Arccosine function 
222 @findex @code{ACOS} intrinsic
223 @findex @code{DACOS} intrinsic
224 @cindex arccosine
225
226 @table @asis
227 @item @emph{Description}:
228 @code{ACOS(X)} computes the arccosine of its @var{X}.
229
230 @item @emph{Option}:
231 f95, gnu
232
233 @item @emph{Type}:
234 elemental function
235
236 @item @emph{Syntax}:
237 @code{X = ACOS(X)}
238
239 @item @emph{Arguments}:
240 @multitable @columnfractions .15 .80
241 @item @var{X} @tab The type shall be an @code{REAL(*)}.
242 @end multitable
243
244 @item @emph{Return value}:
245 The return value is of type @code{REAL(*)} and it lies in the
246 range @math{ 0 \leq \arccos (x) \leq \pi}.
247
248 @item @emph{Example}:
249 @smallexample
250 program test_acos
251   real(8) :: x = 0.866_8
252   x = achar(x)
253 end program test_acos
254 @end smallexample
255
256 @item @emph{Specific names}:
257 @multitable @columnfractions .24 .24 .24 .24
258 @item Name            @tab Argument          @tab Return type       @tab Option
259 @item @code{DACOS(X)} @tab @code{REAL(8) X}  @tab @code{REAL(8)}    @tab f95, gnu
260 @end multitable
261 @end table
262
263
264
265 @node ADJUSTL
266 @section @code{ADJUSTL} --- Left adjust a string 
267 @findex @code{ADJUSTL} intrinsic
268 @cindex adjust string
269
270 @table @asis
271 @item @emph{Description}:
272 @code{ADJUSTL(STR)} will left adjust a string by removing leading spaces.
273 Spaces are inserted at the end of the string as needed.
274
275 @item @emph{Option}:
276 f95, gnu
277
278 @item @emph{Type}:
279 elemental function
280
281 @item @emph{Syntax}:
282 @code{STR = ADJUSTL(STR)}
283
284 @item @emph{Arguments}:
285 @multitable @columnfractions .15 .80
286 @item @var{STR} @tab The type shall be @code{CHARACTER}.
287 @end multitable
288
289 @item @emph{Return value}:
290 The return value is of type @code{CHARACTER} where leading spaces 
291 are removed and the same number of spaces are inserted on the end
292 of @var{STR}.
293
294 @item @emph{Example}:
295 @smallexample
296 program test_adjustl
297   character(len=20) :: str = '   gfortran'
298   str = adjustl(str)
299   print *, str
300 end program test_adjustl
301 @end smallexample
302 @end table
303
304
305 @node ADJUSTR
306 @section @code{ADJUSTR} --- Right adjust a string 
307 @findex @code{ADJUSTR} intrinsic
308 @cindex adjust string
309
310 @table @asis
311 @item @emph{Description}:
312 @code{ADJUSTR(STR)} will right adjust a string by removing trailing spaces.
313 Spaces are inserted at the start of the string as needed.
314
315 @item @emph{Option}:
316 f95, gnu
317
318 @item @emph{Type}:
319 elemental function
320
321 @item @emph{Syntax}:
322 @code{STR = ADJUSTR(STR)}
323
324 @item @emph{Arguments}:
325 @multitable @columnfractions .15 .80
326 @item @var{STR} @tab The type shall be @code{CHARACTER}.
327 @end multitable
328
329 @item @emph{Return value}:
330 The return value is of type @code{CHARACTER} where trailing spaces 
331 are removed and the same number of spaces are inserted at the start
332 of @var{STR}.
333
334 @item @emph{Example}:
335 @smallexample
336 program test_adjustr
337   character(len=20) :: str = 'gfortran'
338   str = adjustr(str)
339   print *, str
340 end program test_adjustr
341 @end smallexample
342 @end table
343
344
345 @node AIMAG
346 @section @code{AIMAG} --- Imaginary part of complex number  
347 @findex @code{AIMAG} intrinsic
348 @findex @code{DIMAG} intrinsic
349 @cindex Imaginary part
350
351 @table @asis
352 @item @emph{Description}:
353 @code{AIMAG(Z)} yields the imaginary part of complex argument @code{Z}.
354
355 @item @emph{Option}:
356 f95, gnu
357
358 @item @emph{Type}:
359 elemental function
360
361 @item @emph{Syntax}:
362 @code{X = AIMAG(Z)}
363
364 @item @emph{Arguments}:
365 @multitable @columnfractions .15 .80
366 @item @var{Z} @tab The type of the argument shall be @code{COMPLEX(*)}.
367 @end multitable
368
369 @item @emph{Return value}:
370 The return value is of type real with the
371 kind type parameter of the argument.
372
373 @item @emph{Example}:
374 @smallexample
375 program test_aimag
376   complex(4) z4
377   complex(8) z8
378   z4 = cmplx(1.e0_4, 0.e0_4)
379   z8 = cmplx(0.e0_8, 1.e0_8)
380   print *, aimag(z4), dimag(z8)
381 end program test_aimag
382 @end smallexample
383
384 @item @emph{Specific names}:
385 @multitable @columnfractions .24 .24 .24 .24
386 @item Name            @tab Argument            @tab Return type       @tab Option
387 @item @code{DIMAG(Z)} @tab @code{COMPLEX(8) Z} @tab @code{REAL(8)}    @tab f95, gnu
388 @end multitable
389 @end table
390
391
392 @node AINT
393 @section @code{AINT} --- Imaginary part of complex number  
394 @findex @code{AINT} intrinsic
395 @findex @code{DINT} intrinsic
396 @cindex whole number
397
398 @table @asis
399 @item @emph{Description}:
400 @code{AINT(X [, KIND])} truncates its argument to a whole number.
401
402 @item @emph{Option}:
403 f95, gnu
404
405 @item @emph{Type}:
406 elemental function
407
408 @item @emph{Syntax}:
409 @code{X = AINT(X)} @*
410 @code{X = AINT(X, KIND)}
411
412 @item @emph{Arguments}:
413 @multitable @columnfractions .15 .80
414 @item @var{X}    @tab The type of the argument shall be @code{REAL(*)}.
415 @item @var{KIND} @tab (Optional) @var{KIND} shall be a scalar integer
416 initialization expression.
417 @end multitable
418
419 @item @emph{Return value}:
420 The return value is of type real with the kind type parameter of the
421 argument if the optional @var{KIND} is absence; otherwise, the kind
422 type parameter will be given by @var{KIND}.  If the magnitude of 
423 @var{X} is less than one, then @code{AINT(X)} returns zero.  If the
424 magnitude is equal to or greater than one, then it returns the largest
425 whole number that does not exceed its magnitude.  The sign is the same
426 as the sign of @var{X}. 
427
428 @item @emph{Example}:
429 @smallexample
430 program test_aint
431   real(4) x4
432   real(8) x8
433   x4 = 1.234E0_4
434   x8 = 4.321_8
435   print *, aint(x4), dint(x8)
436   x8 = aint(x4,8)
437 end program test_aint
438 @end smallexample
439
440 @item @emph{Specific names}:
441 @multitable @columnfractions .24 .24 .24 .24
442 @item Name           @tab Argument         @tab Return type      @tab Option
443 @item @code{DINT(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)}   @tab f95, gnu
444 @end multitable
445 @end table
446
447
448 @node ALL
449 @section @code{ALL} --- All values in @var{MASK} along @var{DIM} are true 
450   @findex @code{ALL} intrinsic
451 @cindex true values
452
453 @table @asis
454 @item @emph{Description}:
455 @code{ALL(MASK [, DIM])} determines if all the values are true in @var{MASK}
456 in the array along dimension @var{DIM}.
457
458 @item @emph{Option}:
459 f95, gnu
460
461 @item @emph{Type}:
462 transformational function
463
464 @item @emph{Syntax}:
465 @code{L = ALL(MASK)} @*
466 @code{L = ALL(MASK, DIM)}
467
468 @item @emph{Arguments}:
469 @multitable @columnfractions .15 .80
470 @item @var{MASK} @tab The type of the argument shall be @code{LOGICAL(*)} and
471 it shall not be scalar.
472 @item @var{DIM}  @tab (Optional) @var{DIM} shall be a scalar integer
473 with a value that lies between one and the rank of @var{MASK}.
474 @end multitable
475
476 @item @emph{Return value}:
477 @code{ALL(MASK)} returns a scalar value of type @code{LOGICAL(*)} where
478 the kind type parameter is the same as the kind type parameter of
479 @var{MASK}.  If @var{DIM} is present, then @code{ALL(MASK, DIM)} returns
480 an array with the rank of @var{MASK} minus 1.  The shape is determined from
481 the shape of @var{MASK} where the @var{DIM} dimension is elided. 
482
483 @table @asis
484 @item (A)
485 @code{ALL(MASK)} is true if all elements of @var{MASK} are true.
486 It also is true if @var{MASK} has zero size; otherwise, it is false.
487 @item (B)
488 If the rank of @var{MASK} is one, then @code{ALL(MASK,DIM)} is equivalent
489 to @code{ALL(MASK)}.  If the rank is greater than one, then @code{ALL(MASK,DIM)}
490 is determined by applying @code{ALL} to the array sections.
491 @end table
492
493 @item @emph{Example}:
494 @smallexample
495 program test_all
496   logical l
497   l = all((/.true., .true., .true./))
498   print *, l
499   call section
500   contains
501     subroutine section
502       integer a(2,3), b(2,3)
503       a = 1
504       b = 1
505       b(2,2) = 2
506       print *, all(a .eq. b, 1)
507       print *, all(a .eq. b, 2)
508     end subroutine section
509 end program test_all
510 @end smallexample
511 @end table
512
513 @comment gen   allocated 
514 @comment 
515 @comment gen   anint
516 @comment       dnint
517 @comment 
518 @comment gen   any
519 @comment 
520 @comment gen   asin
521 @comment       dasin
522 @comment 
523 @comment gen   associated
524 @comment 
525 @comment gen   atan
526 @comment       datan
527 @comment 
528 @comment gen   atan2
529 @comment       datan2
530 @comment 
531 @comment gen   besj0
532 @comment       dbesj0 
533 @comment 
534 @comment gen   besj1
535 @comment       dbesj1
536 @comment 
537 @comment gen   besjn
538 @comment       dbesjn
539 @comment 
540 @comment gen   besy0
541 @comment       dbesy0
542 @comment 
543 @comment gen   besy1
544 @comment       dbesy1
545 @comment 
546 @comment gen   besyn
547 @comment       dbesyn
548 @comment 
549 @comment gen   bit_size 
550 @comment 
551 @comment gen   btest
552 @comment 
553 @comment gen   ceiling
554 @comment 
555 @comment gen   char
556 @comment 
557 @comment gen   cmplx 
558 @comment 
559 @comment gen   command_argument_count
560 @comment 
561 @comment gen   conjg
562 @comment       dconjg
563 @comment 
564 @comment gen   cos
565 @comment       dcos
566 @comment       ccos
567 @comment       zcos,cdcos
568 @comment 
569 @comment gen   cosh
570 @comment       dcosh
571 @comment 
572 @comment gen   count
573 @comment 
574 @comment sub   cpu_time
575 @comment 
576 @comment gen   cshift
577 @comment 
578 @comment sub   date_and_time
579 @comment 
580 @comment gen   dble 
581 @comment       dfloat
582 @comment 
583 @comment gen   dcmplx
584 @comment 
585 @comment gen   digits
586 @comment 
587 @comment gen   dim
588 @comment       idim
589 @comment       ddim
590 @comment 
591 @comment gen   dot_product
592 @comment 
593 @comment gen   dprod
594 @comment 
595 @comment gen   dreal 
596 @comment 
597 @comment sub   dtime
598 @comment 
599 @comment gen   eoshift
600 @comment 
601 @comment gen   epsilon
602 @comment 
603 @comment gen   erf
604 @comment       derf
605 @comment 
606 @comment gen   erfc
607 @comment       derfc
608 @comment 
609 @comment gen   etime
610 @comment sub   etime
611 @comment 
612 @comment sub   exit
613 @comment 
614 @comment gen   exp
615 @comment       dexp
616 @comment       cexp
617 @comment       zexp,cdexp
618 @comment 
619 @comment gen   exponent
620 @comment 
621 @comment gen   floor
622 @comment 
623 @comment sub   flush
624 @comment 
625 @comment gen   fnum
626 @comment 
627 @comment gen   fraction
628 @comment 
629 @comment gen   fstat
630 @comment sub   fstat
631 @comment 
632 @comment sub   getarg
633 @comment 
634 @comment gen   getcwd
635 @comment sub   getcwd
636 @comment 
637 @comment sub   getenv
638 @comment 
639 @comment gen   getgid
640 @comment 
641 @comment gen   getpid
642 @comment 
643 @comment gen   getuid
644 @comment 
645 @comment sub   get_command
646 @comment 
647 @comment sub   get_command_argument
648 @comment 
649 @comment sub   get_environment_variable
650 @comment 
651 @comment gen   huge
652 @comment 
653 @comment gen   iachar
654 @comment 
655 @comment gen   iand
656 @comment 
657 @comment gen   iargc
658 @comment 
659 @comment gen   ibclr
660 @comment 
661 @comment gen   ibits
662 @comment 
663 @comment gen   ibset
664 @comment 
665 @comment gen   ichar
666 @comment 
667 @comment gen   ieor
668 @comment 
669 @comment gen   index
670 @comment 
671 @comment gen   int
672 @comment       ifix
673 @comment       idint
674 @comment 
675 @comment gen   ior
676 @comment 
677 @comment gen   irand
678 @comment 
679 @comment gen   ishft
680 @comment 
681 @comment gen   ishftc
682 @comment 
683 @comment gen   kind
684 @comment 
685 @comment gen   lbound
686 @comment 
687 @comment gen   len
688 @comment 
689 @comment gen   len_trim
690 @comment 
691 @comment gen   lge
692 @comment 
693 @comment gen   lgt
694 @comment 
695 @comment gen   lle
696 @comment 
697 @comment gen   llt
698 @comment 
699 @comment gen   log
700 @comment       alog
701 @comment       dlog
702 @comment       clog
703 @comment       zlog, cdlog
704 @comment 
705 @comment gen   log10
706 @comment       alog10
707 @comment       dlog10
708 @comment 
709 @comment gen   logical
710 @comment 
711 @comment gen   matmul
712 @comment 
713 @comment gen   max
714 @comment       max0
715 @comment       amax0
716 @comment       amax1
717 @comment       max1
718 @comment       dmax1
719 @comment 
720 @comment gen   maxexponent
721 @comment 
722 @comment gen   maxloc
723 @comment
724 @comment gen   maxval
725 @comment 
726 @comment gen   merge
727 @comment 
728 @comment gen   min
729 @comment       min0
730 @comment       amin0
731 @comment       amin1
732 @comment       min1
733 @comment       dmin1
734 @comment 
735 @comment gen   minexponent
736 @comment 
737 @comment gen   minloc
738 @comment 
739 @comment gen   minval
740 @comment 
741 @comment gen   mod
742 @comment       amod
743 @comment       dmod
744 @comment 
745 @comment gen   modulo
746 @comment 
747 @comment sub   mvbits
748 @comment 
749 @comment gen   nearest
750 @comment 
751 @comment gen   nint
752 @comment       idnint
753 @comment 
754 @comment gen   not
755 @comment 
756 @comment gen   null
757 @comment 
758 @comment gen   pack
759 @comment 
760 @comment gen   precision
761 @comment 
762 @comment gen   present
763 @comment 
764 @comment gen   product
765 @comment 
766 @comment gen   radix
767 @comment 
768 @comment gen   rand
769 @comment       ran 
770 @comment 
771 @comment sub   random_number
772 @comment 
773 @comment sub   random_seed
774 @comment 
775 @comment gen   range
776 @comment 
777 @comment gen   real
778 @comment       float
779 @comment       sngl
780 @comment 
781 @comment gen   repeat
782 @comment 
783 @comment gen   reshape
784 @comment 
785 @comment gen   rrspacing
786 @comment 
787 @comment gen   scale
788 @comment 
789 @comment gen   scan
790 @comment 
791 @comment gen   second
792 @comment sub   second
793 @comment 
794 @comment gen   selected_int_kind
795 @comment 
796 @comment gen   selected_real_kind
797 @comment 
798 @comment gen   set_exponent
799 @comment 
800 @comment gen   shape
801 @comment 
802 @comment gen   sign
803 @comment       isign
804 @comment       dsign
805 @comment 
806 @comment gen   sin
807 @comment       dsin
808 @comment       csin
809 @comment       zsin,cdsin
810 @comment 
811 @comment gen   sinh
812 @comment       dsinh
813 @comment 
814 @comment gen   size
815 @comment 
816 @comment gen   spacing
817 @comment 
818 @comment gen   spread
819 @comment 
820 @comment gen   sqrt
821 @comment       dsqrt
822 @comment       csqrt
823 @comment       zsqrt,cdsqrt
824 @comment 
825 @comment sub   srand
826 @comment 
827 @comment gen   stat
828 @comment sub   stat
829 @comment 
830 @comment gen   sum
831 @comment 
832 @comment gen   system
833 @comment sub   system
834 @comment 
835 @comment sub system_clock
836 @comment 
837 @comment gen   tan
838 @comment       dtan
839 @comment 
840 @comment gen   tanh
841 @comment       dtanh
842 @comment 
843 @comment gen   tiny
844 @comment 
845 @comment gen   transfer
846 @comment 
847 @comment gen   transpose
848 @comment 
849 @comment gen   trim
850 @comment 
851 @comment gen   ubound
852 @comment 
853 @comment gen   umask
854 @comment sub   umask
855 @comment 
856 @comment gen   unlink
857 @comment sub   unlink
858 @comment 
859 @comment gen   unpack
860 @comment 
861 @comment gen   verify
862
863  
864