You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

scombssq.f 2.2 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. *> \brief \b SCOMBSSQ adds two scaled sum of squares quantities
  2. *
  3. * =========== DOCUMENTATION ===========
  4. *
  5. * Online html documentation available at
  6. * http://www.netlib.org/lapack/explore-html/
  7. *
  8. *
  9. * Definition:
  10. * ===========
  11. *
  12. * SUBROUTINE SCOMBSSQ( V1, V2 )
  13. *
  14. * .. Array Arguments ..
  15. * REAL V1( 2 ), V2( 2 )
  16. * ..
  17. *
  18. *
  19. *> \par Purpose:
  20. * =============
  21. *>
  22. *> \verbatim
  23. *>
  24. *> SCOMBSSQ adds two scaled sum of squares quantities, V1 := V1 + V2.
  25. *> That is,
  26. *>
  27. *> V1_scale**2 * V1_sumsq := V1_scale**2 * V1_sumsq
  28. *> + V2_scale**2 * V2_sumsq
  29. *> \endverbatim
  30. *
  31. * Arguments:
  32. * ==========
  33. *
  34. *> \param[in,out] V1
  35. *> \verbatim
  36. *> V1 is REAL array, dimension (2).
  37. *> The first scaled sum.
  38. *> V1(1) = V1_scale, V1(2) = V1_sumsq.
  39. *> \endverbatim
  40. *>
  41. *> \param[in] V2
  42. *> \verbatim
  43. *> V2 is REAL array, dimension (2).
  44. *> The second scaled sum.
  45. *> V2(1) = V2_scale, V2(2) = V2_sumsq.
  46. *> \endverbatim
  47. *
  48. * Authors:
  49. * ========
  50. *
  51. *> \author Univ. of Tennessee
  52. *> \author Univ. of California Berkeley
  53. *> \author Univ. of Colorado Denver
  54. *> \author NAG Ltd.
  55. *
  56. *> \date November 2018
  57. *
  58. *> \ingroup OTHERauxiliary
  59. *
  60. * =====================================================================
  61. SUBROUTINE SCOMBSSQ( V1, V2 )
  62. *
  63. * -- LAPACK auxiliary routine (version 3.7.0) --
  64. * -- LAPACK is a software package provided by Univ. of Tennessee, --
  65. * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
  66. * November 2018
  67. *
  68. * .. Array Arguments ..
  69. REAL V1( 2 ), V2( 2 )
  70. * ..
  71. *
  72. * =====================================================================
  73. *
  74. * .. Parameters ..
  75. REAL ZERO
  76. PARAMETER ( ZERO = 0.0D+0 )
  77. * ..
  78. * .. Executable Statements ..
  79. *
  80. IF( V1( 1 ).GE.V2( 1 ) ) THEN
  81. IF( V1( 1 ).NE.ZERO ) THEN
  82. V1( 2 ) = V1( 2 ) + ( V2( 1 ) / V1( 1 ) )**2 * V2( 2 )
  83. ELSE
  84. V1( 2 ) = V1( 2 ) + V2( 2 )
  85. END IF
  86. ELSE
  87. V1( 2 ) = V2( 2 ) + ( V1( 1 ) / V2( 1 ) )**2 * V1( 2 )
  88. V1( 1 ) = V2( 1 )
  89. END IF
  90. RETURN
  91. *
  92. * End of SCOMBSSQ
  93. *
  94. END