home *** CD-ROM | disk | FTP | other *** search
- INTRO_INTRIN(3I) Last changed: 1-6-98
-
-
- NNAAMMEE
- IINNTTRROO__IINNTTRRIINN - Introduction to intrinsic procedures
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- See individual man pages for implementation details
-
- DDEESSCCRRIIPPTTIIOONN
- Intrinsic procedures are predefined by the computer programming
- language. They are invoked in the same way that other procedures are
- invoked.
-
- The Fortran 90 standard defines intrinsic procedures, and the CF90 and
- MIPSpro 7 Fortran 90 compilers include other intrinsics as extensions
- to the standard.
-
- There are four classes of Fortran intrinsic procedures as defined by
- the Fortran 90 standard: inquiry functions, elemental functions,
- transformational functions, and subroutines. Additional intrinsics
- provided with the CF90 and MIPSpro 7 Fortran 90 compiler include
- intrinsics that support IEEE floating-point arithmetic and other
- compiler extensions.
-
- The CF90 and MIPSpro 7 Fortran 90 compilers evaluate intrinsic
- procedures in line or by calling external code. Depending on your
- platform and your program, the following intrinsics can be evaluated
- in line:
-
- * AABBSS, DDAABBSS, IIAABBSS
-
- * AACCHHAARR
-
- * AAIIMMAAGG
-
- * AAIINNTT
-
- * AALLLL
-
- * AANNDD
-
- * AANNIINNTT
-
- * AANNYY
-
- * BBIITT__SSIIZZEE
-
- * MM@@CCLLRR, MM@@LLDD, MM@@MMXX, MM@@LLDDMMXX, MM@@UULL (the BMM intrinsics)
-
- * BBTTEESSTT
-
- * CCEEIILLIINNGG
-
- * CCHHAARR, IICCHHAARR
-
- * CCLLEEAARR__IIEEEEEE__EEXXCCEEPPTTIIOONN
-
- * CCLLOOCC
-
- * CCMMPPLLXX
-
- * CCOOMMPPLL
-
- * CCOONNJJGG
-
- * CCOOUUNNTT
-
- * CCSSHHIIFFTT
-
- * CCSSMMGG
-
- * CCVVMMGGMM, CCVVMMGGNN, CCVVMMGGPP, CCVVMMGGZZ, CCVVMMGGTT
-
- * DDBBLLEE, DDFFLLOOAATT
-
- * DDIIGGIITTSS
-
- * DDIIMM, IIDDIIMM
-
- * DDIISSAABBLLEE__IIEEEEEE__IINNTTEERRRRUUPPTT
-
- * DDOOTT__PPRROODDUUCCTT
-
- * DDPPRROODD
-
- * DDSSHHIIFFTTLL
-
- * DDSSHHIIFFTTRR
-
- * EENNAABBLLEE__IIEEEEEE__IINNTTEERRRRUUPPTT
-
- * EEOOSSHHIIFFTT
-
- * EEPPSSIILLOONN
-
- * EEQQVV
-
- * EEXXPPOONNEENNTT
-
- * FFCCDD
-
- * FFLLOOOORR
-
- * FFRRAACCTTIIOONN
-
- * GGEETT__IIEEEEEE__EEXXCCEEPPTTIIOONNSS
-
- * GGEETT__IIEEEEEE__IINNTTEERRRRUUPPTTSS
-
- * GGEETT__IIEEEEEE__RROOUUNNDDIINNGG__MMOODDEE
-
- * GGEETT__IIEEEEEE__SSTTAATTUUSS
-
- * HHUUGGEE
-
- * II2244MMUULLTT
-
- * IIAACCHHAARR
-
- * IIAANNDD
-
- * IIBBCCLLRR
-
- * IIBBIITTSS
-
- * IIBBSSEETT
-
- * IIEEEEEE__CCLLAASSSS
-
- * IIEEEEEE__CCOOPPYY__SSIIGGNN
-
- * IIEEEEEE__FFIINNIITTEE
-
- * IIEEEEEE__IINNTT
-
- * IIEEEEEE__IISS__NNAANN
-
- * IIEEEEEE__RREEAALL
-
- * IIEEEEEE__UUNNOORRDDEERREEDD
-
- * IIEEOORR
-
- * IINNTT, IIDDIINNTT, IIFFIIXX
-
- * IINNTT2244, LLIINNTT
-
- * IINNTT__MMUULLTT__UUPPPPEERR
-
- * IIOORR
-
- * IISSHHFFTT
-
- * IISSHHFFTTCC
-
- * KKIINNDD
-
- * LLBBOOUUNNDD
-
- * LLEEAADDZZ
-
- * LLEENN
-
- * LLGGEE, LLGGTT, LLLLEE, LLLLTT
-
- * LLOOCC
-
- * LLOOGGIICCAALL
-
- * MMAASSKK
-
- * MMAATTMMUULL
-
- * MMAAXX, MMAAXX00, AAMMAAXX11, DDMMAAXX11, AAMMAAXX00, MMAAXX11
-
- * MMAAXXEEXXPPOONNEENNTT
-
- * MMAAXXLLOOCC
-
- * MMAAXXVVAALL
-
- * MMEEMMOORRYY__BBAARRRRIIEERR
-
- * MMEERRGGEE
-
- * MMIINN, MMIINN00, AAMMIINN11, DDMMIINN11, AAMMIINN00, MMIINN11
-
- * MMIINNEEXXPPOONNEENNTT
-
- * MMIINNVVAALL
-
- * MMOODD, AAMMOODD
-
- * MMOODDUULLOO
-
- * MMVVBBIITTSS
-
- * MMYY__PPEE
-
- * NNEEAARREESSTT
-
- * NNEEQQVV, XXOORR
-
- * NNIINNTT, IIDDNNIINNTT
-
- * NNOOTT
-
- * NNUUMMAARRGG
-
- * OORR
-
- * PPOOPPCCNNTT
-
- * PPOOPPPPAARR
-
- * PPRREECCIISSIIOONN
-
- * PPRREESSEENNTT
-
- * PPRROODDUUCCTT
-
- * RRAADDIIXX
-
- * RRAANNGGEE
-
- * RREEAALL, FFLLOOAATT, SSNNGGLL
-
- * RREEMMOOTTEE__WWRRIITTEE__BBAARRRRIIEERR
-
- * RRRRSSPPAACCIINNGG
-
- * RRTTCC, IIRRTTCC
-
- * SSCCAALLEE
-
- * SSEELLEECCTTEEDD__IINNTT__KKIINNDD
-
- * SSEETT__EEXXPPOONNEENNTT
-
- * SSEETT__IIEEEEEE__EEXXCCEEPPTTIIOONN
-
- * SSEETT__IIEEEEEE__EEXXCCEEPPTTIIOONNSS
-
- * SSEETT__IIEEEEEE__IINNTTEERRRRUUPPTTSS
-
- * SSEETT__IIEEEEEE__RROOUUNNDDIINNGG__MMOODDEE
-
- * SSEETT__IIEEEEEE__SSTTAATTUUSS
-
- * SSHHAAPPEE
-
- * SSHHIIFFTT
-
- * SSHHIIFFTTAA
-
- * SSHHIIFFTTLL
-
- * SSHHIIFFTTRR
-
- * SSIIGGNN, DDSSIIGGNN, IISSIIGGNN
-
- * SSPPAACCIINNGG
-
- * SSPPRREEAADD
-
- * SSUUMM
-
- * SSYYSSTTEEMM__CCLLOOCCKK
-
- * TTEESSTT__IIEEEEEE__EEXXCCEEPPTTIIOONN
-
- * TTEESSTT__IIEEEEEE__IINNTTEERRRRUUPPTT
-
- * TTIINNYY
-
- * TTRRAANNSSFFEERR
-
- * TTRRAANNSSPPOOSSEE
-
- * UUBBOOUUNNDD
-
- * WWRRIITTEE__MMEEMMOORRYY__BBAARRRRIIEERR
-
- The CF90 compiler supports vector versions of some intrinsic
- procedures. Using one of these intrinsics means that the presence of
- the intrinsic itself, in a loop, does not inhibit the loop's ability
- to vectorize. Vector versions of the following CF90 intrinsic
- procedures exist on UNICOS platforms:
-
- * AABBSS, CCAABBSS, CCDDAABBSS, DDAABBSS, IIAABBSS
-
- * AACCOOSS, DDAACCOOSS
-
- * AAIIMMAAGG
-
- * AAIINNTT, DDIINNTT
-
- * AALLOOGG, CCDDLLOOGG, CCLLOOGG, DDLLOOGG
-
- * AALLOOGG1100, DDLLOOGG1100
-
- * AANNDD
-
- * AANNIINNTT, DDNNIINNTT
-
- * AASSIINN, DDAASSIINN
-
- * AATTAANN22, DDAATTAANN22
-
- * AATTAANN, DDAATTAANN
-
- * BBIITT__SSIIZZEE
-
- * MM@@CCLLRR, MM@@LLDD, MM@@MMXX, MM@@LLDDMMXX, and MM@@UULL (the BMM intrinsic functions)
-
- * BBTTEESSTT
-
- * CCEEIILLIINNGG
-
- * CCMMPPLLXX
-
- * CCOOMMPPLL
-
- * CCOONNJJGG
-
- * CCOOSS, CCCCOOSS, CCDDCCOOSS, DDCCOOSS
-
- * CCOOSSHH, DDCCOOSSHH
-
- * CCOOTT, DDCCOOTT
-
- * CCSSMMGG
-
- * CCVVMMGGMM, CCVVMMGGNN, CCVVMMGGPP, CCVVMMGGZZ, CCVVMMGGTT
-
- * DDBBLLEE, DDFFLLOOAATT
-
- * DDIIGGIITTSS
-
- * DDIIMM, DDDDIIMM, IIDDIIMM
-
- * DDPPRROODD
-
- * DDSSHHIIFFTTLL
-
- * DDSSHHIIFFTTRR
-
- * EEPPSSIILLOONN
-
- * EEQQVV
-
- * EEXXPP, CCDDEEXXPP, CCEEXXPP, DDEEXXPP
-
- * EEXXPPOONNEENNTT
-
- * FFLLOOOORR
-
- * FFRRAACCTTIIOONN
-
- * HHUUGGEE
-
- * II2244MMUULLTT
-
- * IIAANNDD
-
- * IIBBCCLLRR
-
- * IIBBIITTSS
-
- * IIBBSSEETT
-
- * IIEEEEEE__CCLLAASSSS
-
- * IIEEEEEE__CCOOPPYY__SSIIGGNN
-
- * IIEEEEEE__FFIINNIITTEE
-
- * IIEEEEEE__IINNTT
-
- * IIEEEEEE__IISS__NNAANN
-
- * IIEEEEEE__RREEAALL
-
- * IIEEEEEE__UUNNOORRDDEERREEDD
-
- * IIEEOORR
-
- * IINNTT, IIDDIINNTT, IIFFIIXX
-
- * IINNTT2244, LLIINNTT
-
- * IINNTT__MMUULLTT__UUPPPPEERR
-
- * IIOORR
-
- * IISSHHFFTT
-
- * IISSHHFFTTCC
-
- * KKIINNDD
-
- * LLEEAADDZZ
-
- * LLOOGGIICCAALL
-
- * MMAASSKK
-
- * MMAAXX, MMAAXX00, AAMMAAXX11, DDMMAAXX11, AAMMAAXX00, MMAAXX11
-
- * MMAAXXEEXXPPOONNEENNTT
-
- * MMEERRGGEE
-
- * MMIINN, MMIINN00, AAMMIINN11, DDMMIINN11, AAMMIINN00, MMIINN11
-
- * MMIINNEEXXPPOONNEENNTT
-
- * MMOODD, AAMMOODD, DDMMOODD
-
- * MMVVBBIITTSS
-
- * NNEEAARREESSTT
-
- * NNEEQQVV, XXOORR
-
- * NNIINNTT, IIDDNNIINNTT
-
- * NNOOTT
-
- * OORR
-
- * PPOOPPCCNNTT
-
- * PPOOPPPPAARR
-
- * PPRREECCIISSIIOONN
-
- * PPRREESSEENNTT
-
- * RRAADDIIXX
-
- * RRAANNDDOOMM__NNUUMMBBEERR
-
- * RRAANNFF
-
- * RRAANNGGEE
-
- * RREEAALL, FFLLOOAATT, SSNNGGLL
-
- * RRRRSSPPAACCIINNGG
-
- * SSCCAALLEE
-
- * SSEELLEECCTTEEDD__IINNTT__KKIINNDD
-
- * SSEETT__EEXXPPOONNEENNTT
-
- * SSHHIIFFTT
-
- * SSHHIIFFTTAA
-
- * SSHHIIFFTTLL
-
- * SSHHIIFFTTRR
-
- * SSIIGGNN, DDSSIIGGNN, IISSIIGGNN
-
- * SSIINN, CCDDSSIINN, CCSSIINN, DDSSIINN
-
- * SSIINNHH, DDSSIINNHH
-
- * SSPPAACCIINNGG
-
- * SSPPRREEAADD
-
- * SSQQRRTT, CCDDSSQQRRTT, CCSSQQRRTT, DDSSQQRRTT
-
- * TTAANN, DDTTAANN
-
- * TTAANNHH, DDTTAANNHH
-
- * TTIINNYY
-
- The CF90 compiler supports vector versions of some intrinsic
- procedures on UNICOS/mk platforms, too. Using one of these intrinsics
- means that the presence of the intrinsic itself, in a loop, does not
- inhibit the loop's ability to vectorize. On UNICOS/mk platforms, you
- must specify --OO vveeccttoorr33 and --ll mmffaassttvv on your ff9900(1) command line in
- order for the compiler to be able to use vector versions of the
- following intrinsic procedures:
-
- * CCOOSS
-
- * CCOOSSSS
-
- * EEXXPP
-
- * LLOOGG
-
- * PPOOPPCCNNTT
-
- * RRAANNFF
-
- * SSIINN
-
- * SSQQRRTT
-
- For details about the Fortran 90 intrinsics, see the man pages
- themselves and the _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _2,
- publication SR-3903.
-
- The C/C++ intrinsics either allow direct access to hardware
- instructions or result in the generation of inline code to perform
- specialized functions. The intrinsic functions are processed
- completely by the compiler, and no calls to external functions are
- generated. For details about the C intrinsic procedures, see the _C_r_a_y
- _C/_C++ _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2179.
-
- For information about the math intrinsics, see the IINNTTRROO__LLIIBBMM(3M) man
- page. When using the MIPSpro 7 Fortran 90 compiler, the math
- intrinsic functions described in the _I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e
- _M_a_n_u_a_l, publication SR-2138, are not used. See the SGI math library
- documentation for information about math intrinsics supported on IRIX
- systems.
-
- SSEEEE AALLSSOO
- IINNTTRROO__LLIIBBMM(3M), IINNTTRROO__SSHHMMEEMM(3)
-
- _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _2, publication SR-3903
-
- _C_r_a_y _C/_C++ _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2179
-
- _I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2138, for the
- printed version of this man page.
-
-