OSDN Git Service

Document ALLOCATED, ANINT, ANY, ASIN; Fix typos.
authorkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 Apr 2005 01:20:56 +0000 (01:20 +0000)
committerkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 Apr 2005 01:20:56 +0000 (01:20 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97473 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/intrinsic.texi

index 4fe971a..a3ecacd 100644 (file)
@@ -1,3 +1,7 @@
+2005-04-02  Steven G. Kargl  <kargls@comcast.net>
+
+       * intrinsic.texi: Document ALLOCATED, ANINT, ANY, ASIN; fix typos
+
 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
 
        * decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c,
index 61979dc..ed7911e 100644 (file)
@@ -32,16 +32,20 @@ This portion of the document is incomplete and undergoing massive expansion
 and editing.  All contributions and corrections are strongly encouraged. 
 
 @menu
-* Introduction:   Introduction
-* @code{ABORT}:   ABORT,    Abort the program     
-* @code{ABS}:     ABS,      Absolute value     
-* @code{ACHAR}:   ACHAR,    Character in @acronym{ASCII} collating sequence
-* @code{ACOS}:    ACOS,     Arccosine function
-* @code{ADJUSTL}: ADJUSTL,  Left adjust a string
-* @code{ADJUSTR}: ADJUSTR,  Right adjust a string
-* @code{AIMAG}:   AIMAG,    Imaginary part of complex number
-* @code{AINT}:    AINT,     Truncate to a whole number
-* @code{ALL}:     ALL,      Determine all values are true
+* Introduction:     Introduction
+* @code{ABORT}:     ABORT,     Abort the program     
+* @code{ABS}:       ABS,       Absolute value     
+* @code{ACHAR}:     ACHAR,     Character in @acronym{ASCII} collating sequence
+* @code{ACOS}:      ACOS,      Arccosine function
+* @code{ADJUSTL}:   ADJUSTL,   Left adjust a string
+* @code{ADJUSTR}:   ADJUSTR,   Right adjust a string
+* @code{AIMAG}:     AIMAG,     Imaginary part of complex number
+* @code{AINT}:      AINT,      Truncate to a whole number
+* @code{ALL}:       ALL,       Determine if all values are true
+* @code{ALLOCATED}: ALLOCATED, Status of allocatable entity
+* @code{ANINT}:     ANINT,     Nearest whole number
+* @code{ANY}:       ANY,       Determine if any values are true
+* @code{ASIN}:      ASIN,      Arcsine function
 @end menu
 
 @node Introduction
@@ -155,21 +159,21 @@ kind as the argument except the return value is @code{REAL(*)} for a
 
 @item @emph{Example}:
 @smallexample
-program test_abort
+program test_abs
   integer :: i = -1
   real :: x = -1.e0
   complex :: z = (-1.e0,0.e0)
   i = abs(i)
   x = abs(x)
   x = abs(z)
-end program test_abort
+end program test_abs
 @end smallexample
 
 @item @emph{Specific names}:
 @multitable @columnfractions .24 .24 .24 .24
 @item Name            @tab Argument            @tab Return type       @tab Option
 @item @code{CABS(Z)}  @tab @code{COMPLEX(4) Z} @tab @code{REAL(4)}    @tab f95, gnu
-@item @code{DABS(X)}  @tab @code{REAL(8) X}    @tab @code{REAL(8)}    @tab f95, gnu
+@item @code{DABS(X)}  @tab @code{REAL(8)    X} @tab @code{REAL(8)}    @tab f95, gnu
 @item @code{IABS(I)}  @tab @code{INTEGER(4) I} @tab @code{INTEGER(4)} @tab f95, gnu
 @item @code{ZABS(Z)}  @tab @code{COMPLEX(8) Z} @tab @code{COMPLEX(8)} @tab gnu
 @item @code{CDABS(Z)} @tab @code{COMPLEX(8) Z} @tab @code{COMPLEX(8)} @tab gnu
@@ -211,7 +215,7 @@ kind type parameter is the same as  @code{KIND('A')}.
 program test_achar
   character c
   c = achar(32)
-end program test_abort
+end program test_achar
 @end smallexample
 @end table
 
@@ -238,12 +242,14 @@ elemental function
 
 @item @emph{Arguments}:
 @multitable @columnfractions .15 .80
-@item @var{X} @tab The type shall be an @code{REAL(*)}.
+@item @var{X} @tab The type shall be an @code{REAL(*)}, and a magnitude that is
+less than one.
 @end multitable
 
 @item @emph{Return value}:
 The return value is of type @code{REAL(*)} and it lies in the
-range @math{ 0 \leq \arccos (x) \leq \pi}.
+range @math{ 0 \leq \arccos (x) \leq \pi}.  The kind type
+parameter is the same as @var{X}.
 
 @item @emph{Example}:
 @smallexample
@@ -510,16 +516,215 @@ end program test_all
 @end smallexample
 @end table
 
-@comment gen   allocated 
-@comment 
-@comment gen   anint
-@comment       dnint
-@comment 
-@comment gen   any
-@comment 
-@comment gen   asin
-@comment       dasin
-@comment 
+
+@node ALLOCATED
+@section @code{ALLOCATED} --- Status of an allocatable entity
+@findex @code{ALLOCATED} intrinsic
+@cindex allocation status
+
+@table @asis
+@item @emph{Description}:
+@code{ALLOCATED(X)} checks the status of wether @var{X} is allocated.
+
+@item @emph{Option}:
+f95, gnu
+
+@item @emph{Type}:
+inquiry function
+
+@item @emph{Syntax}:
+@code{L = ALLOCATED(X)}
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .80
+@item @var{X}    @tab The argument shall be an @code{ALLOCATABLE} array.
+@end multitable
+
+@item @emph{Return value}:
+The return value is a scalar @code{LOGICAL} with the default logical
+kind type parameter.  If @var{X} is allocated, @code{ALLOCATED(X)}
+is @code{.TRUE.}; otherwise, it returns the @code{.TRUE.} 
+
+@item @emph{Example}:
+@smallexample
+program test_allocated
+  integer :: i = 4
+  real(4), allocatable :: x(:)
+  if (allocated(x) .eqv. .false.) allocate(x(i)
+end program test_allocated
+@end smallexample
+@end table
+
+
+@node ANINT
+@section @code{ANINT} --- Imaginary part of complex number  
+@findex @code{ANINT} intrinsic
+@findex @code{DNINT} intrinsic
+@cindex whole number
+
+@table @asis
+@item @emph{Description}:
+@code{ANINT(X [, KIND])} rounds its argument to the nearest whole number.
+
+@item @emph{Option}:
+f95, gnu
+
+@item @emph{Type}:
+elemental function
+
+@item @emph{Syntax}:
+@code{X = ANINT(X)} @*
+@code{X = ANINT(X, KIND)}
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .80
+@item @var{X}    @tab The type of the argument shall be @code{REAL(*)}.
+@item @var{KIND} @tab (Optional) @var{KIND} shall be a scalar integer
+initialization expression.
+@end multitable
+
+@item @emph{Return value}:
+The return value is of type real with the kind type parameter of the
+argument if the optional @var{KIND} is absence; otherwise, the kind
+type parameter will be given by @var{KIND}.  If @var{X} is greater than
+zero, then @code{ANINT(X)} returns @code{AINT(X+0.5)}.  If @var{X} is
+less than or equal to zero, then return @code{AINT(X-0.5)}.
+
+@item @emph{Example}:
+@smallexample
+program test_anint
+  real(4) x4
+  real(8) x8
+  x4 = 1.234E0_4
+  x8 = 4.321_8
+  print *, anint(x4), dnint(x8)
+  x8 = anint(x4,8)
+end program test_anint
+@end smallexample
+
+@item @emph{Specific names}:
+@multitable @columnfractions .24 .24 .24 .24
+@item Name            @tab Argument         @tab Return type      @tab Option
+@item @code{DNINT(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)}   @tab f95, gnu
+@end multitable
+@end table
+
+
+@node ANY
+@section @code{ANY} --- Any value in @var{MASK} along @var{DIM} is true 
+  @findex @code{ANY} intrinsic
+@cindex true values
+
+@table @asis
+@item @emph{Description}:
+@code{ANY(MASK [, DIM])} determines if any of the values is true in @var{MASK}
+in the array along dimension @var{DIM}.
+
+@item @emph{Option}:
+f95, gnu
+
+@item @emph{Type}:
+transformational function
+
+@item @emph{Syntax}:
+@code{L = ANY(MASK)} @*
+@code{L = ANY(MASK, DIM)}
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .80
+@item @var{MASK} @tab The type of the argument shall be @code{LOGICAL(*)} and
+it shall not be scalar.
+@item @var{DIM}  @tab (Optional) @var{DIM} shall be a scalar integer
+with a value that lies between one and the rank of @var{MASK}.
+@end multitable
+
+@item @emph{Return value}:
+@code{ANY(MASK)} returns a scalar value of type @code{LOGICAL(*)} where
+the kind type parameter is the same as the kind type parameter of
+@var{MASK}.  If @var{DIM} is present, then @code{ANY(MASK, DIM)} returns
+an array with the rank of @var{MASK} minus 1.  The shape is determined from
+the shape of @var{MASK} where the @var{DIM} dimension is elided. 
+
+@table @asis
+@item (A)
+@code{ANY(MASK)} is true if any element of @var{MASK} is true;
+otherwise, it is false.  It also is false if @var{MASK} has zero size.
+@item (B)
+If the rank of @var{MASK} is one, then @code{ANY(MASK,DIM)} is equivalent
+to @code{ANY(MASK)}.  If the rank is greater than one, then @code{ANY(MASK,DIM)}
+is determined by applying @code{ANY} to the array sections.
+@end table
+
+@item @emph{Example}:
+@smallexample
+program test_any
+  logical l
+  l = any((/.true., .true., .true./))
+  print *, l
+  call section
+  contains
+    subroutine section
+      integer a(2,3), b(2,3)
+      a = 1
+      b = 1
+      b(2,2) = 2
+      print *, any(a .eq. b, 1)
+      print *, any(a .eq. b, 2)
+    end subroutine section
+end program test_any
+@end smallexample
+@end table
+
+
+@node ASIN
+@section @code{ASIN} --- Arcsine function 
+@findex @code{ASIN} intrinsic
+@findex @code{DASIN} intrinsic
+@cindex arcsine
+
+@table @asis
+@item @emph{Description}:
+@code{ASIN(X)} computes the arcsine of its @var{X}.
+
+@item @emph{Option}:
+f95, gnu
+
+@item @emph{Type}:
+elemental function
+
+@item @emph{Syntax}:
+@code{X = ASIN(X)}
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .80
+@item @var{X} @tab The type shall be an @code{REAL(*)}, and a magnitude that is
+less than one.
+@end multitable
+
+@item @emph{Return value}:
+The return value is of type @code{REAL(*)} and it lies in the
+range @math{ \pi / 2 \leq \arccos (x) \leq \pi / 2}.  The kind type
+parameter is the same as @var{X}.
+
+@item @emph{Example}:
+@smallexample
+program test_asin
+  real(8) :: x = 0.866_8
+  x = asin(x)
+end program test_asin
+@end smallexample
+
+@item @emph{Specific names}:
+@multitable @columnfractions .24 .24 .24 .24
+@item Name            @tab Argument          @tab Return type       @tab Option
+@item @code{DASIN(X)} @tab @code{REAL(8) X}  @tab @code{REAL(8)}    @tab f95, gnu
+@end multitable
+@end table
+
+
+
+
+
 @comment gen   associated
 @comment 
 @comment gen   atan