  Test Results for generic Fortran 90 version of the
 modified Givens transformation (double precision)


>>> Straight-forward. Type = anti-diagonal. Equal unit stride.                      

 Input Data
 x-vector:  0.20000000E+01  0.30000000E+01
 d-vector:  0.40000000E+01  0.90000000E+01


 Type 1, H is unit anti-diagonal

 Diagonal elements:   0.29629630E+00  0.66666667E+00
 x-vector:            0.35925926E+01  0.00000000E+00
 d-vector:            0.75154639E+01  0.33402062E+01

Output vectors x and y: incx =   1, incy =   1
x-vector:
       0.52962963E+01  0.65925926E+01  0.78888889E+01  0.91851852E+01
y-vector:
       0.23333333E+01  0.20000000E+01  0.16666667E+01  0.13333333E+01

Output vectors (scaled to match _rot output)
x-vector:
       0.14519450E+02  0.18073162E+02  0.21626873E+02  0.25180585E+02
y-vector:
       0.42644539E+01  0.36552462E+01  0.30460385E+01  0.24368308E+01

--------------------------------------------------


>>> Straight-forward. Type = anti-diagonal. Equal non-unit stride                   

 Input Data
 x-vector:  0.20000000E+01  0.30000000E+01
 d-vector:  0.40000000E+01  0.90000000E+01


 Type 1, H is unit anti-diagonal

 Diagonal elements:   0.29629630E+00  0.66666667E+00
 x-vector:            0.35925926E+01  0.00000000E+00
 d-vector:            0.75154639E+01  0.33402062E+01

Output vectors x and y: incx =   2, incy =   2
x-vector:
       0.52962963E+01  0.65925926E+01  0.78888889E+01  0.91851852E+01
y-vector:
       0.23333333E+01  0.20000000E+01  0.16666667E+01  0.13333333E+01

Output vectors (scaled to match _rot output)
x-vector:
       0.14519450E+02  0.18073162E+02  0.21626873E+02  0.25180585E+02
y-vector:
       0.42644539E+01  0.36552462E+01  0.30460385E+01  0.24368308E+01

--------------------------------------------------


>>> Straight-forward. Type = anti-diagonal. Unequal non-unit stride.                

 Input Data
 x-vector:  0.20000000E+01  0.30000000E+01
 d-vector:  0.40000000E+01  0.90000000E+01


 Type 1, H is unit anti-diagonal

 Diagonal elements:   0.29629630E+00  0.66666667E+00
 x-vector:            0.35925926E+01  0.00000000E+00
 d-vector:            0.75154639E+01  0.33402062E+01

Output vectors x and y: incx =   2, incy =   3
x-vector:
       0.52962963E+01  0.65925926E+01  0.78888889E+01
y-vector:
       0.23333333E+01  0.20000000E+01  0.16666667E+01

Output vectors (scaled to match _rot output)
x-vector:
       0.14519450E+02  0.18073162E+02  0.21626873E+02
y-vector:
       0.42644539E+01  0.36552462E+01  0.30460385E+01

--------------------------------------------------


>>> Straight-forward. Type = unit diagonal                                          

 Input Data
 x-vector:  0.30000000E+01  0.20000000E+01
 d-vector:  0.90000000E+01  0.40000000E+01


 Type 0, H is unit diagonal

 Off-diagonal elements: -0.66666667E+00  0.29629630E+00
 x-vector:               0.35925926E+01  0.00000000E+00
 d-vector:               0.75154639E+01  0.33402062E+01

Output vectors x and y: incx =   2, incy =   2
x-vector:
       0.24814815E+01  0.37777778E+01  0.50740741E+01  0.63703704E+01
y-vector:
       0.43333333E+01  0.46666667E+01  0.50000000E+01  0.53333333E+01

Output vectors (scaled to match _rot output)
x-vector:
       0.68028193E+01  0.10356531E+02  0.13910242E+02  0.17463954E+02
y-vector:
       0.79197001E+01  0.85289078E+01  0.91381155E+01  0.97473232E+01

--------------------------------------------------


>>> Row removal. H=0. Type = diagonal. Equal unit stride.                           

 Input Data
 x-vector:  0.30000000E+01  0.20000000E+01
 d-vector: -0.10000000E+01  0.10000000E+01


 Type 0, H is unit diagonal

 Off-diagonal elements: -0.66666667E+00 -0.66666667E+00
 x-vector:               0.16666667E+01  0.00000000E+00
 d-vector:              -0.18000000E+01  0.18000000E+01

Output vectors x and y: incx =   1, incy =   1
x-vector:
      -0.23333333E+01 -0.20000000E+01 -0.16666667E+01 -0.13333333E+01
y-vector:
       0.43333333E+01  0.46666667E+01  0.50000000E+01  0.53333333E+01

Output vectors (scaled to match _rot output)
x-vector:
      -0.31304952E+01 -0.26832816E+01 -0.22360680E+01 -0.17888544E+01
y-vector:
       0.58137767E+01  0.62609903E+01  0.67082039E+01  0.71554175E+01

--------------------------------------------------


>>> Row removal. H=0. Type = diagonal. Equal non-unit stride.                       

 Input Data
 x-vector:  0.30000000E+01  0.20000000E+01
 d-vector: -0.10000000E+01  0.10000000E+01


 Type 0, H is unit diagonal

 Off-diagonal elements: -0.66666667E+00 -0.66666667E+00
 x-vector:               0.16666667E+01  0.00000000E+00
 d-vector:              -0.18000000E+01  0.18000000E+01

Output vectors x and y: incx =   2, incy =   2
x-vector:
      -0.23333333E+01 -0.20000000E+01 -0.16666667E+01 -0.13333333E+01
y-vector:
       0.43333333E+01  0.46666667E+01  0.50000000E+01  0.53333333E+01

Output vectors (scaled to match _rot output)
x-vector:
      -0.31304952E+01 -0.26832816E+01 -0.22360680E+01 -0.17888544E+01
y-vector:
       0.58137767E+01  0.62609903E+01  0.67082039E+01  0.71554175E+01

--------------------------------------------------


>>> Row removal. H=0. Type = diagonal. Unequal non-unit stride.                     

 Input Data
 x-vector:  0.30000000E+01  0.20000000E+01
 d-vector: -0.10000000E+01  0.10000000E+01


 Type 0, H is unit diagonal

 Off-diagonal elements: -0.66666667E+00 -0.66666667E+00
 x-vector:               0.16666667E+01  0.00000000E+00
 d-vector:              -0.18000000E+01  0.18000000E+01

Output vectors x and y: incx =   2, incy =   3
x-vector:
      -0.23333333E+01 -0.20000000E+01 -0.16666667E+01
y-vector:
       0.43333333E+01  0.46666667E+01  0.50000000E+01

Output vectors (scaled to match _rot output)
x-vector:
      -0.31304952E+01 -0.26832816E+01 -0.22360680E+01
y-vector:
       0.58137767E+01  0.62609903E+01  0.67082039E+01

--------------------------------------------------


>>> Attempted row removal but z1>w1. Error.                                         

 Input Data
 x-vector:  0.20000000E+01  0.30000000E+01
 d-vector: -0.10000000E+01  0.10000000E+01


 Error condition detected in Rotmg call

--------------------------------------------------


>>> Input vector is of the form (x1,0). H = I. Type = unit diagonal                 

 Input Data
 x-vector:  0.20000000E+01  0.00000000E+00
 d-vector:  0.40000000E+01  0.90000000E+01


 Type 0, H is unit diagonal

 Off-diagonal elements:  0.00000000E+00  0.00000000E+00
 x-vector:               0.20000000E+01  0.00000000E+00
 d-vector:               0.40000000E+01  0.90000000E+01

Output vectors x and y: incx =   1, incy =   1
x-vector:
       0.10000000E+01
y-vector:
       0.20000000E+01

Output vectors (scaled to match _rot output)
x-vector:
       0.20000000E+01
y-vector:
       0.60000000E+01

--------------------------------------------------


>>> Input vector is of the form (0,0). H = I. Type = unit diagonal                  

 Input Data
 x-vector:  0.00000000E+00  0.00000000E+00
 d-vector:  0.40000000E+01  0.90000000E+01


 Type 0, H is unit diagonal

 Off-diagonal elements:  0.00000000E+00  0.00000000E+00
 x-vector:               0.00000000E+00  0.00000000E+00
 d-vector:               0.40000000E+01  0.90000000E+01

Output vectors x and y: incx =   1, incy =   1
x-vector:
       0.10000000E+01
y-vector:
       0.20000000E+01

Output vectors (scaled to match _rot output)
x-vector:
       0.20000000E+01
y-vector:
       0.60000000E+01

--------------------------------------------------


>>> Input vector is of the form (0,x1). Type = anti-diagonal. Diag elems = 0        

 Input Data
 x-vector:  0.00000000E+00  0.30000000E+01
 d-vector:  0.40000000E+01  0.90000000E+01


 Type 1, H is unit anti-diagonal

 Diagonal elements:   0.00000000E+00  0.00000000E+00
 x-vector:            0.30000000E+01  0.00000000E+00
 d-vector:            0.90000000E+01  0.40000000E+01

Output vectors x and y: incx =   1, incy =   1
x-vector:
       0.20000000E+01
y-vector:
      -0.10000000E+01

Output vectors (scaled to match _rot output)
x-vector:
       0.60000000E+01
y-vector:
      -0.20000000E+01

--------------------------------------------------


>>> Error: 1/d(2) = 0.                                                              

 Input Data
 x-vector:  0.20000000E+01  0.30000000E+01
 d-vector:  0.40000000E+01  0.00000000E+00


 Error condition detected in Rotmg call

--------------------------------------------------


>>> Error: 1/d(1) = 0.                                                              

 Input Data
 x-vector:  0.20000000E+01  0.30000000E+01
 d-vector:  0.00000000E+00  0.90000000E+01


 Error condition detected in Rotmg call

--------------------------------------------------


>>> Error: 1/d(2) = 0, x(2) = 0.                                                    

 Input Data
 x-vector:  0.20000000E+01  0.00000000E+00
 d-vector:  0.40000000E+01  0.00000000E+00


 Error condition detected in Rotmg call

--------------------------------------------------


>>> Error: 1/d(1) = 0, x(1) = 0.                                                    

 Input Data
 x-vector:  0.00000000E+00  0.30000000E+01
 d-vector:  0.00000000E+00  0.90000000E+01


 Error condition detected in Rotmg call

--------------------------------------------------


>>> Error: d(2) < 0.                                                                

 Input Data
 x-vector:  0.30000000E+01  0.20000000E+01
 d-vector:  0.90000000E+01 -0.40000000E+01


 Error condition detected in Rotmg call

--------------------------------------------------


>>> Scaling test d(1) = d(2) = 1/(2*g^2)                                            

 Input Data
 x-vector:  0.10000000E+01 -0.10000000E+01
 d-vector:  0.22471164+308  0.22471164+308


 Type -1, Rescaling has taken place
 Row 1:     0.17272337E-76 -0.17272337E-76
 Row 2:     0.17272337E-76  0.17272337E-76

 x-vector:  0.11579209E+78  0.00000000E+00
 d-vector:  0.74583407-154  0.74583407-154

Output vectors x and y: incx =   1, incy =   1
x-vector:
      -0.34544674E-76  0.69089348E-76
y-vector:
       0.00000000E+00  0.00000000E+00

Output vectors (scaled to match _rot output)
x-vector:
      -0.29833363-153  0.59666726-153
y-vector:
       0.00000000E+00  0.00000000E+00

--------------------------------------------------


>>> d(1) = d(2) = huge/four; Type = anti-diagonal                                   

 Input Data
 x-vector:  0.10000000E+01 -0.10000000E+01
 d-vector:  0.22250739-307  0.22250739-307


 Type 0, H is unit diagonal

 Off-diagonal elements:  0.10000000E+01 -0.10000000E+01
 x-vector:               0.20000000E+01  0.00000000E+00
 d-vector:               0.22471164+308  0.22471164+308

--------------------------------------------------


>>> Scaling test d(1) = d(2) = two*tiny                                             

 Input Data
 x-vector:  0.10000000E+01 -0.10000000E+01
 d-vector:  0.22471164+308  0.22471164+308


 Type -1, Rescaling has taken place
 Row 1:     0.17272337E-76 -0.17272337E-76
 Row 2:     0.17272337E-76  0.17272337E-76

 x-vector:  0.11579209E+78  0.00000000E+00
 d-vector:  0.74583407-154  0.74583407-154

--------------------------------------------------


>>> Scaling test d(1) = huge/four, d(2) = two*tiny                                  

 Input Data
 x-vector:  0.10000000E+01 -0.10000000E+01
 d-vector:  0.22250739-307  0.22471164+308


 Type -1, Rescaling has taken place
 Row 1:     0.10000000E+01 -0.00000000E+00
 Row 2:     0.17272337E-76  0.17272337E-76

 x-vector:  0.10000000E+01  0.00000000E+00
 d-vector:  0.44942328+308  0.14916681-153

--------------------------------------------------


>>> Scaling test d(1) = two*tiny, d(2) = huge/four                                  

 Input Data
 x-vector:  0.10000000E+01 -0.10000000E+01
 d-vector:  0.22471164+308  0.22250739-307


 Type -1, Rescaling has taken place
 Row 1:    -0.00000000E+00  0.10000000E+01
 Row 2:    -0.17272337E-76 -0.17272337E-76

 x-vector: -0.10000000E+01  0.00000000E+00
 d-vector:  0.44942328+308  0.14916681-153

--------------------------------------------------


>>> d(1) = huge/four, d(2) = one; type = anti-diagonal                              

 Input Data
 x-vector:  0.10000000E+01 -0.10000000E+01
 d-vector:  0.22250739-307  0.10000000E+01


 Type 0, H is unit diagonal

 Off-diagonal elements:  0.10000000E+01 -0.22250739-307
 x-vector:               0.10000000E+01  0.00000000E+00
 d-vector:               0.44942328+308  0.10000000E+01

--------------------------------------------------


>>> Scaling test d(1) = -huge/four, d(2) = two*tiny                                 

 Input Data
 x-vector:  0.10000000E+01 -0.10000000E+01
 d-vector: -0.22250739-307  0.22471164+308


 Type -1, Rescaling has taken place
 Row 1:     0.10000000E+01  0.00000000E+00
 Row 2:     0.17272337E-76  0.17272337E-76

 x-vector:  0.10000000E+01  0.00000000E+00
 d-vector: -0.44942328+308  0.14916681-153

--------------------------------------------------


>>> d(1) = -two*tiny, d(2) = huge/four, x(1) = 0; Type = anti-diagonal              

 Input Data
 x-vector:  0.00000000E+00 -0.10000000E+01
 d-vector: -0.22471164+308  0.22250739-307


 Error condition detected in Rotmg call

--------------------------------------------------


>>> d(1) = two*tiny, d(2) = -huge/four, x(2) = 0; Type = diagonal                   

 Input Data
 x-vector:  0.10000000E+01  0.00000000E+00
 d-vector: -0.22471164+308  0.22250739-307


 Type 0, H is unit diagonal

 Off-diagonal elements:  0.00000000E+00  0.00000000E+00
 x-vector:               0.10000000E+01  0.00000000E+00
 d-vector:              -0.44501477-307  0.44942328+308

--------------------------------------------------
