/root/doris/contrib/openblas/kernel/arm/zaxpby.c
Line | Count | Source |
1 | | /*************************************************************************** |
2 | | Copyright (c) 2013, The OpenBLAS Project |
3 | | All rights reserved. |
4 | | Redistribution and use in source and binary forms, with or without |
5 | | modification, are permitted provided that the following conditions are |
6 | | met: |
7 | | 1. Redistributions of source code must retain the above copyright |
8 | | notice, this list of conditions and the following disclaimer. |
9 | | 2. Redistributions in binary form must reproduce the above copyright |
10 | | notice, this list of conditions and the following disclaimer in |
11 | | the documentation and/or other materials provided with the |
12 | | distribution. |
13 | | 3. Neither the name of the OpenBLAS project nor the names of |
14 | | its contributors may be used to endorse or promote products |
15 | | derived from this software without specific prior written permission. |
16 | | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
17 | | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
18 | | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
19 | | ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE |
20 | | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
21 | | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
22 | | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
23 | | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
24 | | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE |
25 | | USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | | *****************************************************************************/ |
27 | | |
28 | | /*************************************************************************** |
29 | | * 2014/06/07 Saar |
30 | | * |
31 | | ***************************************************************************/ |
32 | | |
33 | | #include "common.h" |
34 | | |
35 | | int CNAME(BLASLONG n, FLOAT alpha_r, FLOAT alpha_i, FLOAT *x, BLASLONG inc_x, FLOAT beta_r, FLOAT beta_i,FLOAT *y, BLASLONG inc_y) |
36 | 0 | { |
37 | 0 | BLASLONG i=0; |
38 | 0 | BLASLONG ix,iy; |
39 | 0 | FLOAT temp; |
40 | 0 | BLASLONG inc_x2, inc_y2; |
41 | |
|
42 | 0 | if ( n <= 0 ) return(0); |
43 | | |
44 | 0 | ix = 0; |
45 | 0 | iy = 0; |
46 | |
|
47 | 0 | inc_x2 = 2 * inc_x; |
48 | 0 | inc_y2 = 2 * inc_y; |
49 | |
|
50 | 0 | if ( beta_r == 0.0 && beta_i == 0.0) |
51 | 0 | { |
52 | 0 | if ( alpha_r == 0.0 && alpha_i == 0.0 ) |
53 | 0 | { |
54 | |
|
55 | 0 | while(i < n) |
56 | 0 | { |
57 | 0 | y[iy] = 0.0 ; |
58 | 0 | y[iy+1] = 0.0 ; |
59 | 0 | iy += inc_y2 ; |
60 | 0 | i++ ; |
61 | 0 | } |
62 | |
|
63 | 0 | } |
64 | 0 | else |
65 | 0 | { |
66 | |
|
67 | 0 | while(i < n) |
68 | 0 | { |
69 | 0 | y[iy] = ( alpha_r * x[ix] - alpha_i * x[ix+1] ) ; |
70 | 0 | y[iy+1] = ( alpha_r * x[ix+1] + alpha_i * x[ix] ) ; |
71 | 0 | ix += inc_x2 ; |
72 | 0 | iy += inc_y2 ; |
73 | 0 | i++ ; |
74 | 0 | } |
75 | | |
76 | |
|
77 | 0 | } |
78 | |
|
79 | 0 | } |
80 | 0 | else |
81 | 0 | { |
82 | 0 | if ( alpha_r == 0.0 && alpha_i == 0.0 ) |
83 | 0 | { |
84 | |
|
85 | 0 | while(i < n) |
86 | 0 | { |
87 | 0 | temp = ( beta_r * y[iy] - beta_i * y[iy+1] ) ; |
88 | 0 | y[iy+1] = ( beta_r * y[iy+1] + beta_i * y[iy] ) ; |
89 | 0 | y[iy] = temp; |
90 | 0 | iy += inc_y2 ; |
91 | 0 | i++ ; |
92 | 0 | } |
93 | |
|
94 | 0 | } |
95 | 0 | else |
96 | 0 | { |
97 | |
|
98 | 0 | while(i < n) |
99 | 0 | { |
100 | 0 | temp = ( alpha_r * x[ix] - alpha_i * x[ix+1] ) + ( beta_r * y[iy] - beta_i * y[iy+1] ) ; |
101 | 0 | y[iy+1] = ( alpha_r * x[ix+1] + alpha_i * x[ix] ) + ( beta_r * y[iy+1] + beta_i * y[iy] ) ; |
102 | 0 | y[iy] = temp; |
103 | 0 | ix += inc_x2 ; |
104 | 0 | iy += inc_y2 ; |
105 | 0 | i++ ; |
106 | 0 | } |
107 | | |
108 | |
|
109 | 0 | } |
110 | | |
111 | | |
112 | |
|
113 | 0 | } |
114 | 0 | return(0); |
115 | |
|
116 | 0 | } Unexecuted instantiation: caxpby_k_PRESCOTT Unexecuted instantiation: zaxpby_k_PRESCOTT Unexecuted instantiation: caxpby_k_CORE2 Unexecuted instantiation: zaxpby_k_CORE2 Unexecuted instantiation: caxpby_k_NEHALEM Unexecuted instantiation: zaxpby_k_NEHALEM Unexecuted instantiation: caxpby_k_BARCELONA Unexecuted instantiation: zaxpby_k_BARCELONA Unexecuted instantiation: caxpby_k_SANDYBRIDGE Unexecuted instantiation: zaxpby_k_SANDYBRIDGE Unexecuted instantiation: caxpby_k_BULLDOZER Unexecuted instantiation: zaxpby_k_BULLDOZER Unexecuted instantiation: caxpby_k_PILEDRIVER Unexecuted instantiation: zaxpby_k_PILEDRIVER Unexecuted instantiation: caxpby_k_STEAMROLLER Unexecuted instantiation: zaxpby_k_STEAMROLLER Unexecuted instantiation: caxpby_k_EXCAVATOR Unexecuted instantiation: zaxpby_k_EXCAVATOR Unexecuted instantiation: caxpby_k_HASWELL Unexecuted instantiation: zaxpby_k_HASWELL Unexecuted instantiation: caxpby_k_ZEN Unexecuted instantiation: zaxpby_k_ZEN |
117 | | |
118 | | |