


      IIIINNNNTTTTRRRROOOO((((3333))))                                                 IIIINNNNTTTTRRRROOOO((((3333))))



      NNNNAAAAMMMMEEEE
           intro - introduction to subroutines and libraries

      SSSSYYYYNNNNTTTTAAAAXXXX
           ####iiiinnnncccclllluuuuddddeeee <<<<ssssttttddddiiiioooo....hhhh>>>>

           ####iiiinnnncccclllluuuuddddeeee <<<<mmmmaaaatttthhhh....hhhh>>>>

      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
           This section describes functions found in various libraries,
           other than those functions that directly invoke UNIX system
           primitives, which are described in Section 2 of this volume.
           Certain major collections are identified by a letter after
           the section number:

           (3A)  C-callable Subroutines
           (3B)  Pascal-callable Subroutines
           (3C)  These functions, together with those of Section 2 and
                 those marked (3S), constitute the Standard C Library
                 _l_i_b_c, which is automatically loaded by the C compiler,
                 _c_c(1).  The link editor _l_d(1) searches this library
                 under the ----llllcccc option.  Declarations for some of these
                 functions may be obtained from ####iiiinnnncccclllluuuuddddeeee files
                 indicated on the appropriate pages.
           (3F)  FORTRAN function library automatically accessed by F77
                 compiler.
           (3M)  These functions constitute the Math Library, _l_i_b_m.
                 They are automatically loaded as needed by the FORTRAN
                 compiler.  They are not automatically loaded by the C
                 compiler, _c_c(1); however, the link editor searches
                 this library under the ----llllmmmm option.  Declarations for
                 these functions may be obtained from the ####iiiinnnncccclllluuuuddddeeee file
                 <<<<mmmmaaaatttthhhh....hhhh>>>>.
           (3S)  These functions constitute the ``standard I/O
                 package'' (see _s_t_d_i_o(3S)).  These functions are in the
                 library _l_i_b_c, already mentioned.  Declarations for
                 these functions may be obtained from the ####iiiinnnncccclllluuuuddddeeee file
                 <<<<ssssttttddddiiiioooo....hhhh>>>>.
           (3X)  Various specialized libraries.  The files in which
                 these libraries are found are given on the appropriate
                 pages.

      DDDDEEEEFFFFIIIINNNNIIIITTTTIIIIOOOONNNNSSSS
           A _c_h_a_r_a_c_t_e_r is any bit pattern able to fit into a byte on
           the machine.  The _n_u_l_l _c_h_a_r_a_c_t_e_r is a character with value
           0, represented in the C language as '\0'.  A _c_h_a_r_a_c_t_e_r _a_r_r_a_y
           is a sequence of characters.  A _n_u_l_l-_t_e_r_m_i_n_a_t_e_d _c_h_a_r_a_c_t_e_r
           _a_r_r_a_y is a sequence of characters, the last of which is the
           _n_u_l_l _c_h_a_r_a_c_t_e_r.  A _s_t_r_i_n_g is a designation for a _n_u_l_l-
           _t_e_r_m_i_n_a_t_e_d _c_h_a_r_a_c_t_e_r _a_r_r_a_y.  The _n_u_l_l _s_t_r_i_n_g  is a character
           array containing only the null character.  A NNNNUUUULLLLLLLL pointer is
           the value that is obtained by casting 0000 into a pointer.  The



      Page 1                                                   (9010-E)






      IIIINNNNTTTTRRRROOOO((((3333))))                                                 IIIINNNNTTTTRRRROOOO((((3333))))



           C language guarantees that this value will not match that of
           any legitimate pointer, so many functions that return
           pointers return it to indicate an error.  NNNNUUUULLLLLLLL is defined as
           0000 in <<<<ssssttttddddiiiioooo....hhhh>>>>; the user can include his own definition if
           he is not using <<<<ssssttttddddiiiioooo....hhhh>>>>.

           Many groups of FORTRAN intrinsic functions have _g_e_n_e_r_i_c
           function names that do not require explicit or implicit type
           declaration.  The type of the function will be determined by
           the type of its argument(s).  For example, the generic
           function _m_a_x will return an integer value if given integer
           arguments (_m_a_x_0), a real value if given real arguments
           (_a_m_a_x_1), or a double-precision value if given double-
           precision arguments (_d_m_a_x_1).

      FFFFIIIILLLLEEEESSSS
           /lib/libc.a
           /lib/libm.a

      SSSSEEEEEEEE AAAALLLLSSSSOOOO
           ar(1), cc(1), ld(1), nm(1), intro(2), stdio(3S).

      DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
           Functions in the Math Library (3M) may return the
           conventional values 0000 or HHHHUUUUGGGGEEEE (the largest single-precision
           floating-point number) when the function is undefined for
           the given arguments or when the value is not representable.
           In these cases, the external variable _e_r_r_n_o (see _i_n_t_r_o(2))
           is set to the value EDOM or ERANGE.  As many of the FORTRAN
           intrinsic functions use the routines found in the Math
           Library, the same conventions apply.
























      Page 2                                                   (9010-E)



