05 October 2018 08:27:24 PM

CBLAS_TEST
  C version
  Test the CBLAS library.

DASUM_TEST
  DASUM adds the absolute values of elements of a vector.

  X = 

       1       -2.000000
       2        4.000000
       3       -6.000000
       4        8.000000
       5      -10.000000
       6       12.000000
       7      -14.000000
       8       16.000000
       9      -18.000000
      10       20.000000

  DASUM ( NX,   X, 1 ) =    110.000000
  DASUM ( NX/2, X, 2 ) =    50.000000
  DASUM ( 2,    X, NX/2 ) = 14.000000

  Demonstrate with a matrix A:

       11.000000      -12.000000       13.000000      -14.000000
      -21.000000       22.000000      -23.000000       24.000000
       31.000000      -32.000000       33.000000      -34.000000
      -41.000000       42.000000      -43.000000       44.000000
       51.000000      -52.000000       53.000000      -54.000000

  DASUM(MA,A(1,2),1) =   160.000000
  DASUM(NA,A(2,1),LDA) = 90.000000

DAXPY_TEST
  DAXPY adds a multiple of vector X to vector Y.

  X =

       1        1.000000
       2        2.000000
       3        3.000000
       4        4.000000
       5        5.000000
       6        6.000000

  Y =

       1      100.000000
       2      200.000000
       3      300.000000
       4      400.000000
       5      500.000000
       6      600.000000

  DAXPY ( N, 1.000000, X, 1, Y, 1 )

  Y =

       1      101.000000
       2      202.000000
       3      303.000000
       4      404.000000
       5      505.000000
       6      606.000000

  DAXPY ( N,      -2.000000, X, 1, Y, 1 )

  Y =

       1       98.000000
       2      196.000000
       3      294.000000
       4      392.000000
       5      490.000000
       6      588.000000

  DAXPY ( 3, 3.000000, X, 2, Y, 1 )

  Y =

       1      103.000000
       2      209.000000
       3      315.000000
       4      400.000000
       5      500.000000
       6      600.000000

  DAXPY ( 3, -4.000000, X, 1, Y, 2 )

  Y =

       1       96.000000
       2      200.000000
       3      292.000000
       4      400.000000
       5      488.000000
       6      600.000000

DCOPY_TEST
  DCOPY copies one vector into another.


  X =

       1        1.000000
       2        2.000000
       3        3.000000
       4        4.000000
       5        5.000000
       6        6.000000
       7        7.000000
       8        8.000000
       9        9.000000
      10       10.000000

  Y =

       1       10.000000
       2       20.000000
       3       30.000000
       4       40.000000
       5       50.000000
       6       60.000000
       7       70.000000
       8       80.000000
       9       90.000000
      10      100.000000

  A =

       11.000000       12.000000       13.000000       14.000000       15.000000
       21.000000       22.000000       23.000000       24.000000       25.000000
       31.000000       32.000000       33.000000       34.000000       35.000000
       41.000000       42.000000       43.000000       44.000000       45.000000
       51.000000       52.000000       53.000000       54.000000       55.000000

  DCOPY ( 5, X, 1, Y, 1 )

       1        1.000000
       2        2.000000
       3        3.000000
       4        4.000000
       5        5.000000
       6       60.000000
       7       70.000000
       8       80.000000
       9       90.000000
      10      100.000000

  DCOPY ( 3, X, 2, Y, 3 )

       1        1.000000
       2       20.000000
       3       30.000000
       4        3.000000
       5       50.000000
       6       60.000000
       7        5.000000
       8       80.000000
       9       90.000000
      10      100.000000

  DCOPY ( 5, X, 1, A, 1 )

  A =

        1.000000       12.000000       13.000000       14.000000       15.000000
        2.000000       22.000000       23.000000       24.000000       25.000000
        3.000000       32.000000       33.000000       34.000000       35.000000
        4.000000       42.000000       43.000000       44.000000       45.000000
        5.000000       52.000000       53.000000       54.000000       55.000000

  DCOPY ( 5, X, 2, A, 5 )

  A =

        1.000000        3.000000        5.000000        7.000000        9.000000
       21.000000       22.000000       23.000000       24.000000       25.000000
       31.000000       32.000000       33.000000       34.000000       35.000000
       41.000000       42.000000       43.000000       44.000000       45.000000
       51.000000       52.000000       53.000000       54.000000       55.000000

DDOT_TEST
  DDOT computes the dot product of vectors.


  Dot product of X and Y is -385.000000

  Product of row 2 of A and X is 463.000000

  Product of column 2 of A and X is -162.000000

  Matrix product computed with DDOT:

      356     -488    -9088   -18726     -744      254      152       50      -52     -154
       23     1053    -9267   -20471    -4437      283      171       59      -53     -165
     -630     2434    -8966   -22096    -9206      312      190       68      -54     -176
    -1305     6279    -9261   -23075   -13617      309      185       61      -63     -187
    -1602    -5326    -7410      722      236      146       56      -34     -124     -214
    -1091    -8331   -12783      343      265      165       65      -35     -135     -235
     -488    -9088   -18726     -744      254      152       50      -52     -154     -256
     1053    -9267   -20471    -4437      283      171       59      -53     -165     -277
     2434    -8966   -22096    -9206      312      190       68      -54     -176     -298
     6279    -9261   -23075   -13617      309      185       61      -63     -187     -311

DNRM2_TEST
  For a double precision real vector (D)
  DNRM2 computes the Euclidean norm.

  The vector X:

         0:       1.000000
         1:       2.000000
         2:       3.000000

  VALUE = 3.74166

DROT_TEST
  DROT carries out a Givens rotation.

  X and Y

       1        1.000000      -11.000000
       2        2.000000       -8.000000
       3        3.000000       -3.000000
       4        4.000000        4.000000
       5        5.000000       13.000000
       6        6.000000       24.000000

  DROT ( N, X, 1, Y, 1, 0.500000, 0.866025 )

       1       -9.026279       -6.366025
       2       -5.928203       -5.732051
       3       -1.098076       -4.098076
       4        5.464102       -1.464102
       5       13.758330        2.169873
       6       23.784610        6.803848

  DROT ( N, X, 1, Y, 1, 0.090536, -0.995893 )

       1       11.045361        0.000000
       2        8.148217        1.267500
       3        3.259287        2.716072
       4       -3.621430        4.345716
       5      -12.493933        6.156431
       6      -23.358222        8.148217

DROTG_TEST
  DROTG generates a real Givens rotation
    (  C  S ) * ( A ) = ( R )
    ( -S  C )   ( B )   ( 0 )


  A =  0.218418,  B =  0.956318
  C =  0.222661,  S =  0.974896
  R =  0.980944,  Z =  4.491130
   C*A+S*B = 0.980944
  -S*A+C*B = 0.000000

  A =  0.829509,  B =  0.561695
  C =  0.828025,  S =  0.560690
  R =  1.001792,  Z =  0.560690
   C*A+S*B = 1.001792
  -S*A+C*B = 0.000000

  A =  0.415307,  B =  0.066119
  C =  0.987563,  S =  0.157225
  R =  0.420537,  Z =  0.157225
   C*A+S*B = 0.420537
  -S*A+C*B = -0.000000

  A =  0.257578,  B =  0.109957
  C =  0.919705,  S =  0.392611
  R =  0.280066,  Z =  0.392611
   C*A+S*B = 0.280066
  -S*A+C*B = 0.000000

  A =  0.043829,  B =  0.633966
  C =  0.068970,  S =  0.997619
  R =  0.635479,  Z =  14.499059
   C*A+S*B = 0.635479
  -S*A+C*B = -0.000000

DSCAL_TEST
  DSCAL multiplies a vector by a scalar.

  X =

       1        1.000000
       2        2.000000
       3        3.000000
       4        4.000000
       5        5.000000
       6        6.000000

  DSCAL ( N, 5.000000, X, 1 )

       1        5.000000
       2       10.000000
       3       15.000000
       4       20.000000
       5       25.000000
       6       30.000000

  DSCAL ( 3, -2.000000, X, 2 )

       1       -2.000000
       2        2.000000
       3       -6.000000
       4        4.000000
       5      -10.000000
       6        6.000000

DSWAP_TEST
  DSWAP swaps two vectors.

  X and Y:

       1        1.000000      100.000000
       2        2.000000      200.000000
       3        3.000000      300.000000
       4        4.000000      400.000000
       5        5.000000      500.000000
       6        6.000000      600.000000

  DSWAP ( N, X, 1, Y, 1 )

  X and Y:

       1      100.000000        1.000000
       2      200.000000        2.000000
       3      300.000000        3.000000
       4      400.000000        4.000000
       5      500.000000        5.000000
       6      600.000000        6.000000

  DSWAP ( 3, X, 2, Y, 1 )

  X and Y:

       1      100.000000        1.000000
       2        2.000000        3.000000
       3      200.000000        5.000000
       4        4.000000      400.000000
       5      300.000000      500.000000
       6        6.000000      600.000000

IDAMAX_TEST
  IDAMAX returns the index of maximum magnitude;

  The vector X:

       1        2.000000
       2       -2.000000
       3        5.000000
       4        1.000000
       5       -3.000000
       6        4.000000
       7        0.000000
       8       -4.000000
       9        3.000000
      10       -1.000000
      11       -5.000000

  The index of maximum magnitude = 3

CBLAS_TEST:
  Normal end of execution.

05 October 2018 08:27:24 PM