1 /*********************************************************************/
2 /*                                                                   */
3 /*             Optimized BLAS libraries                              */
4 /*                     By Kazushige Goto <kgoto@tacc.utexas.edu>     */
5 /*                                                                   */
6 /* Copyright (c) The University of Texas, 2009. All rights reserved. */
7 /* UNIVERSITY EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES CONCERNING  */
8 /* THIS SOFTWARE AND DOCUMENTATION, INCLUDING ANY WARRANTIES OF      */
9 /* MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE,              */
10 /* NON-INFRINGEMENT AND WARRANTIES OF PERFORMANCE, AND ANY WARRANTY  */
11 /* THAT MIGHT OTHERWISE ARISE FROM COURSE OF DEALING OR USAGE OF     */
12 /* TRADE. NO WARRANTY IS EITHER EXPRESS OR IMPLIED WITH RESPECT TO   */
13 /* THE USE OF THE SOFTWARE OR DOCUMENTATION.                         */
14 /* Under no circumstances shall University be liable for incidental, */
15 /* special, indirect, direct or consequential damages or loss of     */
16 /* profits, interruption of business, or related expenses which may  */
17 /* arise from use of Software or Documentation, including but not    */
18 /* limited to those resulting from defects in Software and/or        */
19 /* Documentation, or loss or inaccuracy of data of any kind.         */
20 /*********************************************************************/
21 
22 #include <stdio.h>
23 #include "common.h"
24 #ifdef FUNCTION_PROFILE
25 #include "functable.h"
26 #endif
27 
NAME(blasint * N,FLOAT * x,blasint * INCX,FLOAT * y,blasint * INCY,FLOAT * C,FLOAT * S)28 void NAME(blasint *N, FLOAT *x, blasint *INCX, FLOAT *y, blasint *INCY, FLOAT *C, FLOAT *S){
29 
30   BLASLONG n    = *N;
31   BLASLONG incx = *INCX;
32   BLASLONG incy = *INCY;
33   FLOAT c = *C;
34   FLOAT s = *S;
35 
36   PRINT_DEBUG_NAME;
37 
38   if (n <= 0) return;
39 
40   IDEBUG_START;
41 
42   FUNCTION_PROFILE_START();
43 
44   if (incx < 0) x -= (n - 1) * 2 * incx;
45   if (incy < 0) y -= (n - 1) * 2 * incy;
46 
47   ROT_K(n, x, incx, y, incy, c, s);
48 
49   FUNCTION_PROFILE_END(4, n, n);
50 
51   IDEBUG_END;
52 
53   return;
54 
55 }
56