Télécharger dlabad.eso

Retour à la liste

Numérotation des lignes :

  1. C DLABAD SOURCE BP208322 15/10/13 21:15:23 8670
  2. *> \brief \b DLABAD
  3. *
  4. * =========== DOCUMENTATION ===========
  5. *
  6. * Online html documentation available at
  7. * http://www.netlib.org/lapack/explore-html/
  8. *
  9. *> \htmlonly
  10. *> Download DLABAD + dependencies
  11. *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlabad.f">
  12. *> [TGZ]</a>
  13. *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlabad.f">
  14. *> [ZIP]</a>
  15. *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlabad.f">
  16. *> [TXT]</a>
  17. *> \endhtmlonly
  18. *
  19. * Definition:
  20. * ===========
  21. *
  22. * SUBROUTINE DLABAD( SMALL, LARGE )
  23. *
  24. * .. Scalar Arguments ..
  25. * REAL*8 LARGE, SMALL
  26. * ..
  27. *
  28. *
  29. *> \par Purpose:
  30. * =============
  31. *>
  32. *> \verbatim
  33. *>
  34. *> DLABAD takes as input the values computed by DLAMCH for underflow and
  35. *> overflow, and returns the square root of each of these values if the
  36. *> log of LARGE is sufficiently large. This subroutine is intended to
  37. *> identify machines with a large exponent range, such as the Crays, and
  38. *> redefine the underflow and overflow limits to be the square roots of
  39. *> the values computed by DLAMCH. This subroutine is needed because
  40. *> DLAMCH does not compensate for poor arithmetic in the upper half of
  41. *> the exponent range, as is found on a Cray.
  42. *> \endverbatim
  43. *
  44. * Arguments:
  45. * ==========
  46. *
  47. *> \param[in,out] SMALL
  48. *> \verbatim
  49. *> SMALL is DOUBLE PRECISION
  50. *> On entry, the underflow threshold as computed by DLAMCH.
  51. *> On exit, if LOG10(LARGE) is sufficiently large, the square
  52. *> root of SMALL, otherwise unchanged.
  53. *> \endverbatim
  54. *>
  55. *> \param[in,out] LARGE
  56. *> \verbatim
  57. *> LARGE is DOUBLE PRECISION
  58. *> On entry, the overflow threshold as computed by DLAMCH.
  59. *> On exit, if LOG10(LARGE) is sufficiently large, the square
  60. *> root of LARGE, otherwise unchanged.
  61. *> \endverbatim
  62. *
  63. * Authors:
  64. * ========
  65. *
  66. *> \author Univ. of Tennessee
  67. *> \author Univ. of California Berkeley
  68. *> \author Univ. of Colorado Denver
  69. *> \author NAG Ltd.
  70. *
  71. *> \date November 2011
  72. *
  73. *> \ingroup auxOTHERauxiliary
  74. *
  75. * =====================================================================
  76. SUBROUTINE DLABAD( SMALL, LARGE )
  77. *
  78. * -- LAPACK auxiliary routine (version 3.4.0) --
  79. * -- LAPACK is a software package provided by Univ. of Tennessee, --
  80. * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
  81. * November 2011
  82. *
  83. * .. Scalar Arguments ..
  84. REAL*8 LARGE, SMALL
  85. * ..
  86. *
  87. * =====================================================================
  88. *
  89. ** .. Intrinsic Functions ..
  90. * INTRINSIC LOG10, SQRT
  91. ** ..
  92. ** .. Executable Statements ..
  93. *
  94. * If it looks like we're on a Cray, take the square root of
  95. * SMALL and LARGE to avoid overflow and underflow problems.
  96. *
  97. IF( LOG10( LARGE ).GT.2000.D0 ) THEN
  98. SMALL = SQRT( SMALL )
  99. LARGE = SQRT( LARGE )
  100. END IF
  101. *
  102. RETURN
  103. *
  104. * End of DLABAD
  105. *
  106. END
  107.  
  108.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales