1 /**
2 * @file
3 *
4 * @author jeffrey.daily@gmail.com
5 *
6 * Copyright (c) 2015 Battelle Memorial Institute.
7 */
8 #include "config.h"
9
10 #include <stdint.h>
11 #include <stdlib.h>
12
13 #include "parasail.h"
14 #include "parasail/cpuid.h"
15
16 /* forward declare the dispatcher functions */
17 parasail_function_t parasail_sg_qb_de_scan_64_dispatcher;
18 parasail_function_t parasail_sg_qb_de_scan_32_dispatcher;
19 parasail_function_t parasail_sg_qb_de_scan_16_dispatcher;
20 parasail_function_t parasail_sg_qb_de_scan_8_dispatcher;
21 parasail_function_t parasail_sg_qb_de_striped_64_dispatcher;
22 parasail_function_t parasail_sg_qb_de_striped_32_dispatcher;
23 parasail_function_t parasail_sg_qb_de_striped_16_dispatcher;
24 parasail_function_t parasail_sg_qb_de_striped_8_dispatcher;
25 parasail_function_t parasail_sg_qb_de_diag_64_dispatcher;
26 parasail_function_t parasail_sg_qb_de_diag_32_dispatcher;
27 parasail_function_t parasail_sg_qb_de_diag_16_dispatcher;
28 parasail_function_t parasail_sg_qb_de_diag_8_dispatcher;
29 parasail_function_t parasail_sg_qb_de_stats_scan_64_dispatcher;
30 parasail_function_t parasail_sg_qb_de_stats_scan_32_dispatcher;
31 parasail_function_t parasail_sg_qb_de_stats_scan_16_dispatcher;
32 parasail_function_t parasail_sg_qb_de_stats_scan_8_dispatcher;
33 parasail_function_t parasail_sg_qb_de_stats_striped_64_dispatcher;
34 parasail_function_t parasail_sg_qb_de_stats_striped_32_dispatcher;
35 parasail_function_t parasail_sg_qb_de_stats_striped_16_dispatcher;
36 parasail_function_t parasail_sg_qb_de_stats_striped_8_dispatcher;
37 parasail_function_t parasail_sg_qb_de_stats_diag_64_dispatcher;
38 parasail_function_t parasail_sg_qb_de_stats_diag_32_dispatcher;
39 parasail_function_t parasail_sg_qb_de_stats_diag_16_dispatcher;
40 parasail_function_t parasail_sg_qb_de_stats_diag_8_dispatcher;
41 parasail_function_t parasail_sg_qb_de_table_scan_64_dispatcher;
42 parasail_function_t parasail_sg_qb_de_table_scan_32_dispatcher;
43 parasail_function_t parasail_sg_qb_de_table_scan_16_dispatcher;
44 parasail_function_t parasail_sg_qb_de_table_scan_8_dispatcher;
45 parasail_function_t parasail_sg_qb_de_table_striped_64_dispatcher;
46 parasail_function_t parasail_sg_qb_de_table_striped_32_dispatcher;
47 parasail_function_t parasail_sg_qb_de_table_striped_16_dispatcher;
48 parasail_function_t parasail_sg_qb_de_table_striped_8_dispatcher;
49 parasail_function_t parasail_sg_qb_de_table_diag_64_dispatcher;
50 parasail_function_t parasail_sg_qb_de_table_diag_32_dispatcher;
51 parasail_function_t parasail_sg_qb_de_table_diag_16_dispatcher;
52 parasail_function_t parasail_sg_qb_de_table_diag_8_dispatcher;
53 parasail_function_t parasail_sg_qb_de_stats_table_scan_64_dispatcher;
54 parasail_function_t parasail_sg_qb_de_stats_table_scan_32_dispatcher;
55 parasail_function_t parasail_sg_qb_de_stats_table_scan_16_dispatcher;
56 parasail_function_t parasail_sg_qb_de_stats_table_scan_8_dispatcher;
57 parasail_function_t parasail_sg_qb_de_stats_table_striped_64_dispatcher;
58 parasail_function_t parasail_sg_qb_de_stats_table_striped_32_dispatcher;
59 parasail_function_t parasail_sg_qb_de_stats_table_striped_16_dispatcher;
60 parasail_function_t parasail_sg_qb_de_stats_table_striped_8_dispatcher;
61 parasail_function_t parasail_sg_qb_de_stats_table_diag_64_dispatcher;
62 parasail_function_t parasail_sg_qb_de_stats_table_diag_32_dispatcher;
63 parasail_function_t parasail_sg_qb_de_stats_table_diag_16_dispatcher;
64 parasail_function_t parasail_sg_qb_de_stats_table_diag_8_dispatcher;
65 parasail_function_t parasail_sg_qb_de_rowcol_scan_64_dispatcher;
66 parasail_function_t parasail_sg_qb_de_rowcol_scan_32_dispatcher;
67 parasail_function_t parasail_sg_qb_de_rowcol_scan_16_dispatcher;
68 parasail_function_t parasail_sg_qb_de_rowcol_scan_8_dispatcher;
69 parasail_function_t parasail_sg_qb_de_rowcol_striped_64_dispatcher;
70 parasail_function_t parasail_sg_qb_de_rowcol_striped_32_dispatcher;
71 parasail_function_t parasail_sg_qb_de_rowcol_striped_16_dispatcher;
72 parasail_function_t parasail_sg_qb_de_rowcol_striped_8_dispatcher;
73 parasail_function_t parasail_sg_qb_de_rowcol_diag_64_dispatcher;
74 parasail_function_t parasail_sg_qb_de_rowcol_diag_32_dispatcher;
75 parasail_function_t parasail_sg_qb_de_rowcol_diag_16_dispatcher;
76 parasail_function_t parasail_sg_qb_de_rowcol_diag_8_dispatcher;
77 parasail_function_t parasail_sg_qb_de_stats_rowcol_scan_64_dispatcher;
78 parasail_function_t parasail_sg_qb_de_stats_rowcol_scan_32_dispatcher;
79 parasail_function_t parasail_sg_qb_de_stats_rowcol_scan_16_dispatcher;
80 parasail_function_t parasail_sg_qb_de_stats_rowcol_scan_8_dispatcher;
81 parasail_function_t parasail_sg_qb_de_stats_rowcol_striped_64_dispatcher;
82 parasail_function_t parasail_sg_qb_de_stats_rowcol_striped_32_dispatcher;
83 parasail_function_t parasail_sg_qb_de_stats_rowcol_striped_16_dispatcher;
84 parasail_function_t parasail_sg_qb_de_stats_rowcol_striped_8_dispatcher;
85 parasail_function_t parasail_sg_qb_de_stats_rowcol_diag_64_dispatcher;
86 parasail_function_t parasail_sg_qb_de_stats_rowcol_diag_32_dispatcher;
87 parasail_function_t parasail_sg_qb_de_stats_rowcol_diag_16_dispatcher;
88 parasail_function_t parasail_sg_qb_de_stats_rowcol_diag_8_dispatcher;
89 parasail_function_t parasail_sg_qb_de_trace_scan_64_dispatcher;
90 parasail_function_t parasail_sg_qb_de_trace_scan_32_dispatcher;
91 parasail_function_t parasail_sg_qb_de_trace_scan_16_dispatcher;
92 parasail_function_t parasail_sg_qb_de_trace_scan_8_dispatcher;
93 parasail_function_t parasail_sg_qb_de_trace_striped_64_dispatcher;
94 parasail_function_t parasail_sg_qb_de_trace_striped_32_dispatcher;
95 parasail_function_t parasail_sg_qb_de_trace_striped_16_dispatcher;
96 parasail_function_t parasail_sg_qb_de_trace_striped_8_dispatcher;
97 parasail_function_t parasail_sg_qb_de_trace_diag_64_dispatcher;
98 parasail_function_t parasail_sg_qb_de_trace_diag_32_dispatcher;
99 parasail_function_t parasail_sg_qb_de_trace_diag_16_dispatcher;
100 parasail_function_t parasail_sg_qb_de_trace_diag_8_dispatcher;
101 parasail_pfunction_t parasail_sg_qb_de_scan_profile_64_dispatcher;
102 parasail_pfunction_t parasail_sg_qb_de_scan_profile_32_dispatcher;
103 parasail_pfunction_t parasail_sg_qb_de_scan_profile_16_dispatcher;
104 parasail_pfunction_t parasail_sg_qb_de_scan_profile_8_dispatcher;
105 parasail_pfunction_t parasail_sg_qb_de_striped_profile_64_dispatcher;
106 parasail_pfunction_t parasail_sg_qb_de_striped_profile_32_dispatcher;
107 parasail_pfunction_t parasail_sg_qb_de_striped_profile_16_dispatcher;
108 parasail_pfunction_t parasail_sg_qb_de_striped_profile_8_dispatcher;
109 parasail_pfunction_t parasail_sg_qb_de_stats_scan_profile_64_dispatcher;
110 parasail_pfunction_t parasail_sg_qb_de_stats_scan_profile_32_dispatcher;
111 parasail_pfunction_t parasail_sg_qb_de_stats_scan_profile_16_dispatcher;
112 parasail_pfunction_t parasail_sg_qb_de_stats_scan_profile_8_dispatcher;
113 parasail_pfunction_t parasail_sg_qb_de_stats_striped_profile_64_dispatcher;
114 parasail_pfunction_t parasail_sg_qb_de_stats_striped_profile_32_dispatcher;
115 parasail_pfunction_t parasail_sg_qb_de_stats_striped_profile_16_dispatcher;
116 parasail_pfunction_t parasail_sg_qb_de_stats_striped_profile_8_dispatcher;
117 parasail_pfunction_t parasail_sg_qb_de_table_scan_profile_64_dispatcher;
118 parasail_pfunction_t parasail_sg_qb_de_table_scan_profile_32_dispatcher;
119 parasail_pfunction_t parasail_sg_qb_de_table_scan_profile_16_dispatcher;
120 parasail_pfunction_t parasail_sg_qb_de_table_scan_profile_8_dispatcher;
121 parasail_pfunction_t parasail_sg_qb_de_table_striped_profile_64_dispatcher;
122 parasail_pfunction_t parasail_sg_qb_de_table_striped_profile_32_dispatcher;
123 parasail_pfunction_t parasail_sg_qb_de_table_striped_profile_16_dispatcher;
124 parasail_pfunction_t parasail_sg_qb_de_table_striped_profile_8_dispatcher;
125 parasail_pfunction_t parasail_sg_qb_de_stats_table_scan_profile_64_dispatcher;
126 parasail_pfunction_t parasail_sg_qb_de_stats_table_scan_profile_32_dispatcher;
127 parasail_pfunction_t parasail_sg_qb_de_stats_table_scan_profile_16_dispatcher;
128 parasail_pfunction_t parasail_sg_qb_de_stats_table_scan_profile_8_dispatcher;
129 parasail_pfunction_t parasail_sg_qb_de_stats_table_striped_profile_64_dispatcher;
130 parasail_pfunction_t parasail_sg_qb_de_stats_table_striped_profile_32_dispatcher;
131 parasail_pfunction_t parasail_sg_qb_de_stats_table_striped_profile_16_dispatcher;
132 parasail_pfunction_t parasail_sg_qb_de_stats_table_striped_profile_8_dispatcher;
133 parasail_pfunction_t parasail_sg_qb_de_rowcol_scan_profile_64_dispatcher;
134 parasail_pfunction_t parasail_sg_qb_de_rowcol_scan_profile_32_dispatcher;
135 parasail_pfunction_t parasail_sg_qb_de_rowcol_scan_profile_16_dispatcher;
136 parasail_pfunction_t parasail_sg_qb_de_rowcol_scan_profile_8_dispatcher;
137 parasail_pfunction_t parasail_sg_qb_de_rowcol_striped_profile_64_dispatcher;
138 parasail_pfunction_t parasail_sg_qb_de_rowcol_striped_profile_32_dispatcher;
139 parasail_pfunction_t parasail_sg_qb_de_rowcol_striped_profile_16_dispatcher;
140 parasail_pfunction_t parasail_sg_qb_de_rowcol_striped_profile_8_dispatcher;
141 parasail_pfunction_t parasail_sg_qb_de_stats_rowcol_scan_profile_64_dispatcher;
142 parasail_pfunction_t parasail_sg_qb_de_stats_rowcol_scan_profile_32_dispatcher;
143 parasail_pfunction_t parasail_sg_qb_de_stats_rowcol_scan_profile_16_dispatcher;
144 parasail_pfunction_t parasail_sg_qb_de_stats_rowcol_scan_profile_8_dispatcher;
145 parasail_pfunction_t parasail_sg_qb_de_stats_rowcol_striped_profile_64_dispatcher;
146 parasail_pfunction_t parasail_sg_qb_de_stats_rowcol_striped_profile_32_dispatcher;
147 parasail_pfunction_t parasail_sg_qb_de_stats_rowcol_striped_profile_16_dispatcher;
148 parasail_pfunction_t parasail_sg_qb_de_stats_rowcol_striped_profile_8_dispatcher;
149 parasail_pfunction_t parasail_sg_qb_de_trace_scan_profile_64_dispatcher;
150 parasail_pfunction_t parasail_sg_qb_de_trace_scan_profile_32_dispatcher;
151 parasail_pfunction_t parasail_sg_qb_de_trace_scan_profile_16_dispatcher;
152 parasail_pfunction_t parasail_sg_qb_de_trace_scan_profile_8_dispatcher;
153 parasail_pfunction_t parasail_sg_qb_de_trace_striped_profile_64_dispatcher;
154 parasail_pfunction_t parasail_sg_qb_de_trace_striped_profile_32_dispatcher;
155 parasail_pfunction_t parasail_sg_qb_de_trace_striped_profile_16_dispatcher;
156 parasail_pfunction_t parasail_sg_qb_de_trace_striped_profile_8_dispatcher;
157
158 /* declare and initialize the pointer to the dispatcher function */
159 #if 0
160 parasail_function_t * parasail_sg_qb_de_scan_64_pointer = parasail_sg_qb_de_scan_64_dispatcher;
161 parasail_function_t * parasail_sg_qb_de_scan_32_pointer = parasail_sg_qb_de_scan_32_dispatcher;
162 parasail_function_t * parasail_sg_qb_de_scan_16_pointer = parasail_sg_qb_de_scan_16_dispatcher;
163 parasail_function_t * parasail_sg_qb_de_scan_8_pointer = parasail_sg_qb_de_scan_8_dispatcher;
164 parasail_function_t * parasail_sg_qb_de_striped_64_pointer = parasail_sg_qb_de_striped_64_dispatcher;
165 parasail_function_t * parasail_sg_qb_de_striped_32_pointer = parasail_sg_qb_de_striped_32_dispatcher;
166 parasail_function_t * parasail_sg_qb_de_striped_16_pointer = parasail_sg_qb_de_striped_16_dispatcher;
167 parasail_function_t * parasail_sg_qb_de_striped_8_pointer = parasail_sg_qb_de_striped_8_dispatcher;
168 parasail_function_t * parasail_sg_qb_de_diag_64_pointer = parasail_sg_qb_de_diag_64_dispatcher;
169 parasail_function_t * parasail_sg_qb_de_diag_32_pointer = parasail_sg_qb_de_diag_32_dispatcher;
170 parasail_function_t * parasail_sg_qb_de_diag_16_pointer = parasail_sg_qb_de_diag_16_dispatcher;
171 parasail_function_t * parasail_sg_qb_de_diag_8_pointer = parasail_sg_qb_de_diag_8_dispatcher;
172 parasail_function_t * parasail_sg_qb_de_stats_scan_64_pointer = parasail_sg_qb_de_stats_scan_64_dispatcher;
173 parasail_function_t * parasail_sg_qb_de_stats_scan_32_pointer = parasail_sg_qb_de_stats_scan_32_dispatcher;
174 parasail_function_t * parasail_sg_qb_de_stats_scan_16_pointer = parasail_sg_qb_de_stats_scan_16_dispatcher;
175 parasail_function_t * parasail_sg_qb_de_stats_scan_8_pointer = parasail_sg_qb_de_stats_scan_8_dispatcher;
176 parasail_function_t * parasail_sg_qb_de_stats_striped_64_pointer = parasail_sg_qb_de_stats_striped_64_dispatcher;
177 parasail_function_t * parasail_sg_qb_de_stats_striped_32_pointer = parasail_sg_qb_de_stats_striped_32_dispatcher;
178 parasail_function_t * parasail_sg_qb_de_stats_striped_16_pointer = parasail_sg_qb_de_stats_striped_16_dispatcher;
179 parasail_function_t * parasail_sg_qb_de_stats_striped_8_pointer = parasail_sg_qb_de_stats_striped_8_dispatcher;
180 parasail_function_t * parasail_sg_qb_de_stats_diag_64_pointer = parasail_sg_qb_de_stats_diag_64_dispatcher;
181 parasail_function_t * parasail_sg_qb_de_stats_diag_32_pointer = parasail_sg_qb_de_stats_diag_32_dispatcher;
182 parasail_function_t * parasail_sg_qb_de_stats_diag_16_pointer = parasail_sg_qb_de_stats_diag_16_dispatcher;
183 parasail_function_t * parasail_sg_qb_de_stats_diag_8_pointer = parasail_sg_qb_de_stats_diag_8_dispatcher;
184 parasail_function_t * parasail_sg_qb_de_table_scan_64_pointer = parasail_sg_qb_de_table_scan_64_dispatcher;
185 parasail_function_t * parasail_sg_qb_de_table_scan_32_pointer = parasail_sg_qb_de_table_scan_32_dispatcher;
186 parasail_function_t * parasail_sg_qb_de_table_scan_16_pointer = parasail_sg_qb_de_table_scan_16_dispatcher;
187 parasail_function_t * parasail_sg_qb_de_table_scan_8_pointer = parasail_sg_qb_de_table_scan_8_dispatcher;
188 parasail_function_t * parasail_sg_qb_de_table_striped_64_pointer = parasail_sg_qb_de_table_striped_64_dispatcher;
189 parasail_function_t * parasail_sg_qb_de_table_striped_32_pointer = parasail_sg_qb_de_table_striped_32_dispatcher;
190 parasail_function_t * parasail_sg_qb_de_table_striped_16_pointer = parasail_sg_qb_de_table_striped_16_dispatcher;
191 parasail_function_t * parasail_sg_qb_de_table_striped_8_pointer = parasail_sg_qb_de_table_striped_8_dispatcher;
192 parasail_function_t * parasail_sg_qb_de_table_diag_64_pointer = parasail_sg_qb_de_table_diag_64_dispatcher;
193 parasail_function_t * parasail_sg_qb_de_table_diag_32_pointer = parasail_sg_qb_de_table_diag_32_dispatcher;
194 parasail_function_t * parasail_sg_qb_de_table_diag_16_pointer = parasail_sg_qb_de_table_diag_16_dispatcher;
195 parasail_function_t * parasail_sg_qb_de_table_diag_8_pointer = parasail_sg_qb_de_table_diag_8_dispatcher;
196 parasail_function_t * parasail_sg_qb_de_stats_table_scan_64_pointer = parasail_sg_qb_de_stats_table_scan_64_dispatcher;
197 parasail_function_t * parasail_sg_qb_de_stats_table_scan_32_pointer = parasail_sg_qb_de_stats_table_scan_32_dispatcher;
198 parasail_function_t * parasail_sg_qb_de_stats_table_scan_16_pointer = parasail_sg_qb_de_stats_table_scan_16_dispatcher;
199 parasail_function_t * parasail_sg_qb_de_stats_table_scan_8_pointer = parasail_sg_qb_de_stats_table_scan_8_dispatcher;
200 parasail_function_t * parasail_sg_qb_de_stats_table_striped_64_pointer = parasail_sg_qb_de_stats_table_striped_64_dispatcher;
201 parasail_function_t * parasail_sg_qb_de_stats_table_striped_32_pointer = parasail_sg_qb_de_stats_table_striped_32_dispatcher;
202 parasail_function_t * parasail_sg_qb_de_stats_table_striped_16_pointer = parasail_sg_qb_de_stats_table_striped_16_dispatcher;
203 parasail_function_t * parasail_sg_qb_de_stats_table_striped_8_pointer = parasail_sg_qb_de_stats_table_striped_8_dispatcher;
204 parasail_function_t * parasail_sg_qb_de_stats_table_diag_64_pointer = parasail_sg_qb_de_stats_table_diag_64_dispatcher;
205 parasail_function_t * parasail_sg_qb_de_stats_table_diag_32_pointer = parasail_sg_qb_de_stats_table_diag_32_dispatcher;
206 parasail_function_t * parasail_sg_qb_de_stats_table_diag_16_pointer = parasail_sg_qb_de_stats_table_diag_16_dispatcher;
207 parasail_function_t * parasail_sg_qb_de_stats_table_diag_8_pointer = parasail_sg_qb_de_stats_table_diag_8_dispatcher;
208 parasail_function_t * parasail_sg_qb_de_rowcol_scan_64_pointer = parasail_sg_qb_de_rowcol_scan_64_dispatcher;
209 parasail_function_t * parasail_sg_qb_de_rowcol_scan_32_pointer = parasail_sg_qb_de_rowcol_scan_32_dispatcher;
210 parasail_function_t * parasail_sg_qb_de_rowcol_scan_16_pointer = parasail_sg_qb_de_rowcol_scan_16_dispatcher;
211 parasail_function_t * parasail_sg_qb_de_rowcol_scan_8_pointer = parasail_sg_qb_de_rowcol_scan_8_dispatcher;
212 parasail_function_t * parasail_sg_qb_de_rowcol_striped_64_pointer = parasail_sg_qb_de_rowcol_striped_64_dispatcher;
213 parasail_function_t * parasail_sg_qb_de_rowcol_striped_32_pointer = parasail_sg_qb_de_rowcol_striped_32_dispatcher;
214 parasail_function_t * parasail_sg_qb_de_rowcol_striped_16_pointer = parasail_sg_qb_de_rowcol_striped_16_dispatcher;
215 parasail_function_t * parasail_sg_qb_de_rowcol_striped_8_pointer = parasail_sg_qb_de_rowcol_striped_8_dispatcher;
216 parasail_function_t * parasail_sg_qb_de_rowcol_diag_64_pointer = parasail_sg_qb_de_rowcol_diag_64_dispatcher;
217 parasail_function_t * parasail_sg_qb_de_rowcol_diag_32_pointer = parasail_sg_qb_de_rowcol_diag_32_dispatcher;
218 parasail_function_t * parasail_sg_qb_de_rowcol_diag_16_pointer = parasail_sg_qb_de_rowcol_diag_16_dispatcher;
219 parasail_function_t * parasail_sg_qb_de_rowcol_diag_8_pointer = parasail_sg_qb_de_rowcol_diag_8_dispatcher;
220 parasail_function_t * parasail_sg_qb_de_stats_rowcol_scan_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_64_dispatcher;
221 parasail_function_t * parasail_sg_qb_de_stats_rowcol_scan_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_32_dispatcher;
222 parasail_function_t * parasail_sg_qb_de_stats_rowcol_scan_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_16_dispatcher;
223 parasail_function_t * parasail_sg_qb_de_stats_rowcol_scan_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_8_dispatcher;
224 parasail_function_t * parasail_sg_qb_de_stats_rowcol_striped_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_64_dispatcher;
225 parasail_function_t * parasail_sg_qb_de_stats_rowcol_striped_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_32_dispatcher;
226 parasail_function_t * parasail_sg_qb_de_stats_rowcol_striped_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_16_dispatcher;
227 parasail_function_t * parasail_sg_qb_de_stats_rowcol_striped_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_8_dispatcher;
228 parasail_function_t * parasail_sg_qb_de_stats_rowcol_diag_64_pointer = parasail_sg_qb_de_stats_rowcol_diag_64_dispatcher;
229 parasail_function_t * parasail_sg_qb_de_stats_rowcol_diag_32_pointer = parasail_sg_qb_de_stats_rowcol_diag_32_dispatcher;
230 parasail_function_t * parasail_sg_qb_de_stats_rowcol_diag_16_pointer = parasail_sg_qb_de_stats_rowcol_diag_16_dispatcher;
231 parasail_function_t * parasail_sg_qb_de_stats_rowcol_diag_8_pointer = parasail_sg_qb_de_stats_rowcol_diag_8_dispatcher;
232 parasail_function_t * parasail_sg_qb_de_trace_scan_64_pointer = parasail_sg_qb_de_trace_scan_64_dispatcher;
233 parasail_function_t * parasail_sg_qb_de_trace_scan_32_pointer = parasail_sg_qb_de_trace_scan_32_dispatcher;
234 parasail_function_t * parasail_sg_qb_de_trace_scan_16_pointer = parasail_sg_qb_de_trace_scan_16_dispatcher;
235 parasail_function_t * parasail_sg_qb_de_trace_scan_8_pointer = parasail_sg_qb_de_trace_scan_8_dispatcher;
236 parasail_function_t * parasail_sg_qb_de_trace_striped_64_pointer = parasail_sg_qb_de_trace_striped_64_dispatcher;
237 #endif
238 parasail_function_t * parasail_sg_qb_de_trace_striped_32_pointer = parasail_sg_qb_de_trace_striped_32_dispatcher;
239 parasail_function_t * parasail_sg_qb_de_trace_striped_16_pointer = parasail_sg_qb_de_trace_striped_16_dispatcher;
240 #if 0
241 parasail_function_t * parasail_sg_qb_de_trace_striped_8_pointer = parasail_sg_qb_de_trace_striped_8_dispatcher;
242 parasail_function_t * parasail_sg_qb_de_trace_diag_64_pointer = parasail_sg_qb_de_trace_diag_64_dispatcher;
243 parasail_function_t * parasail_sg_qb_de_trace_diag_32_pointer = parasail_sg_qb_de_trace_diag_32_dispatcher;
244 parasail_function_t * parasail_sg_qb_de_trace_diag_16_pointer = parasail_sg_qb_de_trace_diag_16_dispatcher;
245 parasail_function_t * parasail_sg_qb_de_trace_diag_8_pointer = parasail_sg_qb_de_trace_diag_8_dispatcher;
246 parasail_pfunction_t * parasail_sg_qb_de_scan_profile_64_pointer = parasail_sg_qb_de_scan_profile_64_dispatcher;
247 parasail_pfunction_t * parasail_sg_qb_de_scan_profile_32_pointer = parasail_sg_qb_de_scan_profile_32_dispatcher;
248 parasail_pfunction_t * parasail_sg_qb_de_scan_profile_16_pointer = parasail_sg_qb_de_scan_profile_16_dispatcher;
249 parasail_pfunction_t * parasail_sg_qb_de_scan_profile_8_pointer = parasail_sg_qb_de_scan_profile_8_dispatcher;
250 parasail_pfunction_t * parasail_sg_qb_de_striped_profile_64_pointer = parasail_sg_qb_de_striped_profile_64_dispatcher;
251 parasail_pfunction_t * parasail_sg_qb_de_striped_profile_32_pointer = parasail_sg_qb_de_striped_profile_32_dispatcher;
252 parasail_pfunction_t * parasail_sg_qb_de_striped_profile_16_pointer = parasail_sg_qb_de_striped_profile_16_dispatcher;
253 parasail_pfunction_t * parasail_sg_qb_de_striped_profile_8_pointer = parasail_sg_qb_de_striped_profile_8_dispatcher;
254 parasail_pfunction_t * parasail_sg_qb_de_stats_scan_profile_64_pointer = parasail_sg_qb_de_stats_scan_profile_64_dispatcher;
255 parasail_pfunction_t * parasail_sg_qb_de_stats_scan_profile_32_pointer = parasail_sg_qb_de_stats_scan_profile_32_dispatcher;
256 parasail_pfunction_t * parasail_sg_qb_de_stats_scan_profile_16_pointer = parasail_sg_qb_de_stats_scan_profile_16_dispatcher;
257 parasail_pfunction_t * parasail_sg_qb_de_stats_scan_profile_8_pointer = parasail_sg_qb_de_stats_scan_profile_8_dispatcher;
258 parasail_pfunction_t * parasail_sg_qb_de_stats_striped_profile_64_pointer = parasail_sg_qb_de_stats_striped_profile_64_dispatcher;
259 parasail_pfunction_t * parasail_sg_qb_de_stats_striped_profile_32_pointer = parasail_sg_qb_de_stats_striped_profile_32_dispatcher;
260 parasail_pfunction_t * parasail_sg_qb_de_stats_striped_profile_16_pointer = parasail_sg_qb_de_stats_striped_profile_16_dispatcher;
261 parasail_pfunction_t * parasail_sg_qb_de_stats_striped_profile_8_pointer = parasail_sg_qb_de_stats_striped_profile_8_dispatcher;
262 parasail_pfunction_t * parasail_sg_qb_de_table_scan_profile_64_pointer = parasail_sg_qb_de_table_scan_profile_64_dispatcher;
263 parasail_pfunction_t * parasail_sg_qb_de_table_scan_profile_32_pointer = parasail_sg_qb_de_table_scan_profile_32_dispatcher;
264 parasail_pfunction_t * parasail_sg_qb_de_table_scan_profile_16_pointer = parasail_sg_qb_de_table_scan_profile_16_dispatcher;
265 parasail_pfunction_t * parasail_sg_qb_de_table_scan_profile_8_pointer = parasail_sg_qb_de_table_scan_profile_8_dispatcher;
266 parasail_pfunction_t * parasail_sg_qb_de_table_striped_profile_64_pointer = parasail_sg_qb_de_table_striped_profile_64_dispatcher;
267 parasail_pfunction_t * parasail_sg_qb_de_table_striped_profile_32_pointer = parasail_sg_qb_de_table_striped_profile_32_dispatcher;
268 parasail_pfunction_t * parasail_sg_qb_de_table_striped_profile_16_pointer = parasail_sg_qb_de_table_striped_profile_16_dispatcher;
269 parasail_pfunction_t * parasail_sg_qb_de_table_striped_profile_8_pointer = parasail_sg_qb_de_table_striped_profile_8_dispatcher;
270 parasail_pfunction_t * parasail_sg_qb_de_stats_table_scan_profile_64_pointer = parasail_sg_qb_de_stats_table_scan_profile_64_dispatcher;
271 parasail_pfunction_t * parasail_sg_qb_de_stats_table_scan_profile_32_pointer = parasail_sg_qb_de_stats_table_scan_profile_32_dispatcher;
272 parasail_pfunction_t * parasail_sg_qb_de_stats_table_scan_profile_16_pointer = parasail_sg_qb_de_stats_table_scan_profile_16_dispatcher;
273 parasail_pfunction_t * parasail_sg_qb_de_stats_table_scan_profile_8_pointer = parasail_sg_qb_de_stats_table_scan_profile_8_dispatcher;
274 parasail_pfunction_t * parasail_sg_qb_de_stats_table_striped_profile_64_pointer = parasail_sg_qb_de_stats_table_striped_profile_64_dispatcher;
275 parasail_pfunction_t * parasail_sg_qb_de_stats_table_striped_profile_32_pointer = parasail_sg_qb_de_stats_table_striped_profile_32_dispatcher;
276 parasail_pfunction_t * parasail_sg_qb_de_stats_table_striped_profile_16_pointer = parasail_sg_qb_de_stats_table_striped_profile_16_dispatcher;
277 parasail_pfunction_t * parasail_sg_qb_de_stats_table_striped_profile_8_pointer = parasail_sg_qb_de_stats_table_striped_profile_8_dispatcher;
278 parasail_pfunction_t * parasail_sg_qb_de_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_rowcol_scan_profile_64_dispatcher;
279 parasail_pfunction_t * parasail_sg_qb_de_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_rowcol_scan_profile_32_dispatcher;
280 parasail_pfunction_t * parasail_sg_qb_de_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_rowcol_scan_profile_16_dispatcher;
281 parasail_pfunction_t * parasail_sg_qb_de_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_rowcol_scan_profile_8_dispatcher;
282 parasail_pfunction_t * parasail_sg_qb_de_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_rowcol_striped_profile_64_dispatcher;
283 parasail_pfunction_t * parasail_sg_qb_de_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_rowcol_striped_profile_32_dispatcher;
284 parasail_pfunction_t * parasail_sg_qb_de_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_rowcol_striped_profile_16_dispatcher;
285 parasail_pfunction_t * parasail_sg_qb_de_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_rowcol_striped_profile_8_dispatcher;
286 parasail_pfunction_t * parasail_sg_qb_de_stats_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_64_dispatcher;
287 parasail_pfunction_t * parasail_sg_qb_de_stats_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_32_dispatcher;
288 parasail_pfunction_t * parasail_sg_qb_de_stats_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_16_dispatcher;
289 parasail_pfunction_t * parasail_sg_qb_de_stats_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_8_dispatcher;
290 parasail_pfunction_t * parasail_sg_qb_de_stats_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_64_dispatcher;
291 parasail_pfunction_t * parasail_sg_qb_de_stats_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_32_dispatcher;
292 parasail_pfunction_t * parasail_sg_qb_de_stats_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_16_dispatcher;
293 parasail_pfunction_t * parasail_sg_qb_de_stats_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_8_dispatcher;
294 parasail_pfunction_t * parasail_sg_qb_de_trace_scan_profile_64_pointer = parasail_sg_qb_de_trace_scan_profile_64_dispatcher;
295 parasail_pfunction_t * parasail_sg_qb_de_trace_scan_profile_32_pointer = parasail_sg_qb_de_trace_scan_profile_32_dispatcher;
296 parasail_pfunction_t * parasail_sg_qb_de_trace_scan_profile_16_pointer = parasail_sg_qb_de_trace_scan_profile_16_dispatcher;
297 parasail_pfunction_t * parasail_sg_qb_de_trace_scan_profile_8_pointer = parasail_sg_qb_de_trace_scan_profile_8_dispatcher;
298 parasail_pfunction_t * parasail_sg_qb_de_trace_striped_profile_64_pointer = parasail_sg_qb_de_trace_striped_profile_64_dispatcher;
299 parasail_pfunction_t * parasail_sg_qb_de_trace_striped_profile_32_pointer = parasail_sg_qb_de_trace_striped_profile_32_dispatcher;
300 parasail_pfunction_t * parasail_sg_qb_de_trace_striped_profile_16_pointer = parasail_sg_qb_de_trace_striped_profile_16_dispatcher;
301 parasail_pfunction_t * parasail_sg_qb_de_trace_striped_profile_8_pointer = parasail_sg_qb_de_trace_striped_profile_8_dispatcher;
302 #endif
303
304 /* dispatcher function implementations */
305
306 #if 0
307 parasail_result_t* parasail_sg_qb_de_scan_64_dispatcher(
308 const char * const restrict s1, const int s1Len,
309 const char * const restrict s2, const int s2Len,
310 const int open, const int gap,
311 const parasail_matrix_t *matrix)
312 {
313 #if HAVE_AVX2
314 if (parasail_can_use_avx2()) {
315 parasail_sg_qb_de_scan_64_pointer = parasail_sg_qb_de_scan_avx2_256_64;
316 }
317 else
318 #endif
319 #if HAVE_SSE41
320 if (parasail_can_use_sse41()) {
321 parasail_sg_qb_de_scan_64_pointer = parasail_sg_qb_de_scan_sse41_128_64;
322 }
323 else
324 #endif
325 #if HAVE_SSE2
326 if (parasail_can_use_sse2()) {
327 parasail_sg_qb_de_scan_64_pointer = parasail_sg_qb_de_scan_sse2_128_64;
328 }
329 else
330 #endif
331 #if HAVE_ALTIVEC
332 if (parasail_can_use_altivec()) {
333 parasail_sg_qb_de_scan_64_pointer = parasail_sg_qb_de_scan_altivec_128_64;
334 }
335 else
336 #endif
337 #if HAVE_NEON
338 if (parasail_can_use_neon()) {
339 parasail_sg_qb_de_scan_64_pointer = parasail_sg_qb_de_scan_neon_128_64;
340 }
341 else
342 #endif
343 {
344 parasail_sg_qb_de_scan_64_pointer = parasail_sg_qb_de_scan;
345 }
346 return parasail_sg_qb_de_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
347 }
348
349 parasail_result_t* parasail_sg_qb_de_scan_32_dispatcher(
350 const char * const restrict s1, const int s1Len,
351 const char * const restrict s2, const int s2Len,
352 const int open, const int gap,
353 const parasail_matrix_t *matrix)
354 {
355 #if HAVE_AVX2
356 if (parasail_can_use_avx2()) {
357 parasail_sg_qb_de_scan_32_pointer = parasail_sg_qb_de_scan_avx2_256_32;
358 }
359 else
360 #endif
361 #if HAVE_SSE41
362 if (parasail_can_use_sse41()) {
363 parasail_sg_qb_de_scan_32_pointer = parasail_sg_qb_de_scan_sse41_128_32;
364 }
365 else
366 #endif
367 #if HAVE_SSE2
368 if (parasail_can_use_sse2()) {
369 parasail_sg_qb_de_scan_32_pointer = parasail_sg_qb_de_scan_sse2_128_32;
370 }
371 else
372 #endif
373 #if HAVE_ALTIVEC
374 if (parasail_can_use_altivec()) {
375 parasail_sg_qb_de_scan_32_pointer = parasail_sg_qb_de_scan_altivec_128_32;
376 }
377 else
378 #endif
379 #if HAVE_NEON
380 if (parasail_can_use_neon()) {
381 parasail_sg_qb_de_scan_32_pointer = parasail_sg_qb_de_scan_neon_128_32;
382 }
383 else
384 #endif
385 {
386 parasail_sg_qb_de_scan_32_pointer = parasail_sg_qb_de_scan;
387 }
388 return parasail_sg_qb_de_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
389 }
390
391 parasail_result_t* parasail_sg_qb_de_scan_16_dispatcher(
392 const char * const restrict s1, const int s1Len,
393 const char * const restrict s2, const int s2Len,
394 const int open, const int gap,
395 const parasail_matrix_t *matrix)
396 {
397 #if HAVE_AVX2
398 if (parasail_can_use_avx2()) {
399 parasail_sg_qb_de_scan_16_pointer = parasail_sg_qb_de_scan_avx2_256_16;
400 }
401 else
402 #endif
403 #if HAVE_SSE41
404 if (parasail_can_use_sse41()) {
405 parasail_sg_qb_de_scan_16_pointer = parasail_sg_qb_de_scan_sse41_128_16;
406 }
407 else
408 #endif
409 #if HAVE_SSE2
410 if (parasail_can_use_sse2()) {
411 parasail_sg_qb_de_scan_16_pointer = parasail_sg_qb_de_scan_sse2_128_16;
412 }
413 else
414 #endif
415 #if HAVE_ALTIVEC
416 if (parasail_can_use_altivec()) {
417 parasail_sg_qb_de_scan_16_pointer = parasail_sg_qb_de_scan_altivec_128_16;
418 }
419 else
420 #endif
421 #if HAVE_NEON
422 if (parasail_can_use_neon()) {
423 parasail_sg_qb_de_scan_16_pointer = parasail_sg_qb_de_scan_neon_128_16;
424 }
425 else
426 #endif
427 {
428 parasail_sg_qb_de_scan_16_pointer = parasail_sg_qb_de_scan;
429 }
430 return parasail_sg_qb_de_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
431 }
432
433 parasail_result_t* parasail_sg_qb_de_scan_8_dispatcher(
434 const char * const restrict s1, const int s1Len,
435 const char * const restrict s2, const int s2Len,
436 const int open, const int gap,
437 const parasail_matrix_t *matrix)
438 {
439 #if HAVE_AVX2
440 if (parasail_can_use_avx2()) {
441 parasail_sg_qb_de_scan_8_pointer = parasail_sg_qb_de_scan_avx2_256_8;
442 }
443 else
444 #endif
445 #if HAVE_SSE41
446 if (parasail_can_use_sse41()) {
447 parasail_sg_qb_de_scan_8_pointer = parasail_sg_qb_de_scan_sse41_128_8;
448 }
449 else
450 #endif
451 #if HAVE_SSE2
452 if (parasail_can_use_sse2()) {
453 parasail_sg_qb_de_scan_8_pointer = parasail_sg_qb_de_scan_sse2_128_8;
454 }
455 else
456 #endif
457 #if HAVE_ALTIVEC
458 if (parasail_can_use_altivec()) {
459 parasail_sg_qb_de_scan_8_pointer = parasail_sg_qb_de_scan_altivec_128_8;
460 }
461 else
462 #endif
463 #if HAVE_NEON
464 if (parasail_can_use_neon()) {
465 parasail_sg_qb_de_scan_8_pointer = parasail_sg_qb_de_scan_neon_128_8;
466 }
467 else
468 #endif
469 {
470 parasail_sg_qb_de_scan_8_pointer = parasail_sg_qb_de_scan;
471 }
472 return parasail_sg_qb_de_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
473 }
474
475 parasail_result_t* parasail_sg_qb_de_striped_64_dispatcher(
476 const char * const restrict s1, const int s1Len,
477 const char * const restrict s2, const int s2Len,
478 const int open, const int gap,
479 const parasail_matrix_t *matrix)
480 {
481 #if HAVE_AVX2
482 if (parasail_can_use_avx2()) {
483 parasail_sg_qb_de_striped_64_pointer = parasail_sg_qb_de_striped_avx2_256_64;
484 }
485 else
486 #endif
487 #if HAVE_SSE41
488 if (parasail_can_use_sse41()) {
489 parasail_sg_qb_de_striped_64_pointer = parasail_sg_qb_de_striped_sse41_128_64;
490 }
491 else
492 #endif
493 #if HAVE_SSE2
494 if (parasail_can_use_sse2()) {
495 parasail_sg_qb_de_striped_64_pointer = parasail_sg_qb_de_striped_sse2_128_64;
496 }
497 else
498 #endif
499 #if HAVE_ALTIVEC
500 if (parasail_can_use_altivec()) {
501 parasail_sg_qb_de_striped_64_pointer = parasail_sg_qb_de_striped_altivec_128_64;
502 }
503 else
504 #endif
505 #if HAVE_NEON
506 if (parasail_can_use_neon()) {
507 parasail_sg_qb_de_striped_64_pointer = parasail_sg_qb_de_striped_neon_128_64;
508 }
509 else
510 #endif
511 {
512 parasail_sg_qb_de_striped_64_pointer = parasail_sg_qb_de;
513 }
514 return parasail_sg_qb_de_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
515 }
516
517 parasail_result_t* parasail_sg_qb_de_striped_32_dispatcher(
518 const char * const restrict s1, const int s1Len,
519 const char * const restrict s2, const int s2Len,
520 const int open, const int gap,
521 const parasail_matrix_t *matrix)
522 {
523 #if HAVE_AVX2
524 if (parasail_can_use_avx2()) {
525 parasail_sg_qb_de_striped_32_pointer = parasail_sg_qb_de_striped_avx2_256_32;
526 }
527 else
528 #endif
529 #if HAVE_SSE41
530 if (parasail_can_use_sse41()) {
531 parasail_sg_qb_de_striped_32_pointer = parasail_sg_qb_de_striped_sse41_128_32;
532 }
533 else
534 #endif
535 #if HAVE_SSE2
536 if (parasail_can_use_sse2()) {
537 parasail_sg_qb_de_striped_32_pointer = parasail_sg_qb_de_striped_sse2_128_32;
538 }
539 else
540 #endif
541 #if HAVE_ALTIVEC
542 if (parasail_can_use_altivec()) {
543 parasail_sg_qb_de_striped_32_pointer = parasail_sg_qb_de_striped_altivec_128_32;
544 }
545 else
546 #endif
547 #if HAVE_NEON
548 if (parasail_can_use_neon()) {
549 parasail_sg_qb_de_striped_32_pointer = parasail_sg_qb_de_striped_neon_128_32;
550 }
551 else
552 #endif
553 {
554 parasail_sg_qb_de_striped_32_pointer = parasail_sg_qb_de;
555 }
556 return parasail_sg_qb_de_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
557 }
558
559 parasail_result_t* parasail_sg_qb_de_striped_16_dispatcher(
560 const char * const restrict s1, const int s1Len,
561 const char * const restrict s2, const int s2Len,
562 const int open, const int gap,
563 const parasail_matrix_t *matrix)
564 {
565 #if HAVE_AVX2
566 if (parasail_can_use_avx2()) {
567 parasail_sg_qb_de_striped_16_pointer = parasail_sg_qb_de_striped_avx2_256_16;
568 }
569 else
570 #endif
571 #if HAVE_SSE41
572 if (parasail_can_use_sse41()) {
573 parasail_sg_qb_de_striped_16_pointer = parasail_sg_qb_de_striped_sse41_128_16;
574 }
575 else
576 #endif
577 #if HAVE_SSE2
578 if (parasail_can_use_sse2()) {
579 parasail_sg_qb_de_striped_16_pointer = parasail_sg_qb_de_striped_sse2_128_16;
580 }
581 else
582 #endif
583 #if HAVE_ALTIVEC
584 if (parasail_can_use_altivec()) {
585 parasail_sg_qb_de_striped_16_pointer = parasail_sg_qb_de_striped_altivec_128_16;
586 }
587 else
588 #endif
589 #if HAVE_NEON
590 if (parasail_can_use_neon()) {
591 parasail_sg_qb_de_striped_16_pointer = parasail_sg_qb_de_striped_neon_128_16;
592 }
593 else
594 #endif
595 {
596 parasail_sg_qb_de_striped_16_pointer = parasail_sg_qb_de;
597 }
598 return parasail_sg_qb_de_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
599 }
600
601 parasail_result_t* parasail_sg_qb_de_striped_8_dispatcher(
602 const char * const restrict s1, const int s1Len,
603 const char * const restrict s2, const int s2Len,
604 const int open, const int gap,
605 const parasail_matrix_t *matrix)
606 {
607 #if HAVE_AVX2
608 if (parasail_can_use_avx2()) {
609 parasail_sg_qb_de_striped_8_pointer = parasail_sg_qb_de_striped_avx2_256_8;
610 }
611 else
612 #endif
613 #if HAVE_SSE41
614 if (parasail_can_use_sse41()) {
615 parasail_sg_qb_de_striped_8_pointer = parasail_sg_qb_de_striped_sse41_128_8;
616 }
617 else
618 #endif
619 #if HAVE_SSE2
620 if (parasail_can_use_sse2()) {
621 parasail_sg_qb_de_striped_8_pointer = parasail_sg_qb_de_striped_sse2_128_8;
622 }
623 else
624 #endif
625 #if HAVE_ALTIVEC
626 if (parasail_can_use_altivec()) {
627 parasail_sg_qb_de_striped_8_pointer = parasail_sg_qb_de_striped_altivec_128_8;
628 }
629 else
630 #endif
631 #if HAVE_NEON
632 if (parasail_can_use_neon()) {
633 parasail_sg_qb_de_striped_8_pointer = parasail_sg_qb_de_striped_neon_128_8;
634 }
635 else
636 #endif
637 {
638 parasail_sg_qb_de_striped_8_pointer = parasail_sg_qb_de;
639 }
640 return parasail_sg_qb_de_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
641 }
642
643 parasail_result_t* parasail_sg_qb_de_diag_64_dispatcher(
644 const char * const restrict s1, const int s1Len,
645 const char * const restrict s2, const int s2Len,
646 const int open, const int gap,
647 const parasail_matrix_t *matrix)
648 {
649 #if HAVE_AVX2
650 if (parasail_can_use_avx2()) {
651 parasail_sg_qb_de_diag_64_pointer = parasail_sg_qb_de_diag_avx2_256_64;
652 }
653 else
654 #endif
655 #if HAVE_SSE41
656 if (parasail_can_use_sse41()) {
657 parasail_sg_qb_de_diag_64_pointer = parasail_sg_qb_de_diag_sse41_128_64;
658 }
659 else
660 #endif
661 #if HAVE_SSE2
662 if (parasail_can_use_sse2()) {
663 parasail_sg_qb_de_diag_64_pointer = parasail_sg_qb_de_diag_sse2_128_64;
664 }
665 else
666 #endif
667 #if HAVE_ALTIVEC
668 if (parasail_can_use_altivec()) {
669 parasail_sg_qb_de_diag_64_pointer = parasail_sg_qb_de_diag_altivec_128_64;
670 }
671 else
672 #endif
673 #if HAVE_NEON
674 if (parasail_can_use_neon()) {
675 parasail_sg_qb_de_diag_64_pointer = parasail_sg_qb_de_diag_neon_128_64;
676 }
677 else
678 #endif
679 {
680 parasail_sg_qb_de_diag_64_pointer = parasail_sg_qb_de;
681 }
682 return parasail_sg_qb_de_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
683 }
684
685 parasail_result_t* parasail_sg_qb_de_diag_32_dispatcher(
686 const char * const restrict s1, const int s1Len,
687 const char * const restrict s2, const int s2Len,
688 const int open, const int gap,
689 const parasail_matrix_t *matrix)
690 {
691 #if HAVE_AVX2
692 if (parasail_can_use_avx2()) {
693 parasail_sg_qb_de_diag_32_pointer = parasail_sg_qb_de_diag_avx2_256_32;
694 }
695 else
696 #endif
697 #if HAVE_SSE41
698 if (parasail_can_use_sse41()) {
699 parasail_sg_qb_de_diag_32_pointer = parasail_sg_qb_de_diag_sse41_128_32;
700 }
701 else
702 #endif
703 #if HAVE_SSE2
704 if (parasail_can_use_sse2()) {
705 parasail_sg_qb_de_diag_32_pointer = parasail_sg_qb_de_diag_sse2_128_32;
706 }
707 else
708 #endif
709 #if HAVE_ALTIVEC
710 if (parasail_can_use_altivec()) {
711 parasail_sg_qb_de_diag_32_pointer = parasail_sg_qb_de_diag_altivec_128_32;
712 }
713 else
714 #endif
715 #if HAVE_NEON
716 if (parasail_can_use_neon()) {
717 parasail_sg_qb_de_diag_32_pointer = parasail_sg_qb_de_diag_neon_128_32;
718 }
719 else
720 #endif
721 {
722 parasail_sg_qb_de_diag_32_pointer = parasail_sg_qb_de;
723 }
724 return parasail_sg_qb_de_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
725 }
726
727 parasail_result_t* parasail_sg_qb_de_diag_16_dispatcher(
728 const char * const restrict s1, const int s1Len,
729 const char * const restrict s2, const int s2Len,
730 const int open, const int gap,
731 const parasail_matrix_t *matrix)
732 {
733 #if HAVE_AVX2
734 if (parasail_can_use_avx2()) {
735 parasail_sg_qb_de_diag_16_pointer = parasail_sg_qb_de_diag_avx2_256_16;
736 }
737 else
738 #endif
739 #if HAVE_SSE41
740 if (parasail_can_use_sse41()) {
741 parasail_sg_qb_de_diag_16_pointer = parasail_sg_qb_de_diag_sse41_128_16;
742 }
743 else
744 #endif
745 #if HAVE_SSE2
746 if (parasail_can_use_sse2()) {
747 parasail_sg_qb_de_diag_16_pointer = parasail_sg_qb_de_diag_sse2_128_16;
748 }
749 else
750 #endif
751 #if HAVE_ALTIVEC
752 if (parasail_can_use_altivec()) {
753 parasail_sg_qb_de_diag_16_pointer = parasail_sg_qb_de_diag_altivec_128_16;
754 }
755 else
756 #endif
757 #if HAVE_NEON
758 if (parasail_can_use_neon()) {
759 parasail_sg_qb_de_diag_16_pointer = parasail_sg_qb_de_diag_neon_128_16;
760 }
761 else
762 #endif
763 {
764 parasail_sg_qb_de_diag_16_pointer = parasail_sg_qb_de;
765 }
766 return parasail_sg_qb_de_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
767 }
768
769 parasail_result_t* parasail_sg_qb_de_diag_8_dispatcher(
770 const char * const restrict s1, const int s1Len,
771 const char * const restrict s2, const int s2Len,
772 const int open, const int gap,
773 const parasail_matrix_t *matrix)
774 {
775 #if HAVE_AVX2
776 if (parasail_can_use_avx2()) {
777 parasail_sg_qb_de_diag_8_pointer = parasail_sg_qb_de_diag_avx2_256_8;
778 }
779 else
780 #endif
781 #if HAVE_SSE41
782 if (parasail_can_use_sse41()) {
783 parasail_sg_qb_de_diag_8_pointer = parasail_sg_qb_de_diag_sse41_128_8;
784 }
785 else
786 #endif
787 #if HAVE_SSE2
788 if (parasail_can_use_sse2()) {
789 parasail_sg_qb_de_diag_8_pointer = parasail_sg_qb_de_diag_sse2_128_8;
790 }
791 else
792 #endif
793 #if HAVE_ALTIVEC
794 if (parasail_can_use_altivec()) {
795 parasail_sg_qb_de_diag_8_pointer = parasail_sg_qb_de_diag_altivec_128_8;
796 }
797 else
798 #endif
799 #if HAVE_NEON
800 if (parasail_can_use_neon()) {
801 parasail_sg_qb_de_diag_8_pointer = parasail_sg_qb_de_diag_neon_128_8;
802 }
803 else
804 #endif
805 {
806 parasail_sg_qb_de_diag_8_pointer = parasail_sg_qb_de;
807 }
808 return parasail_sg_qb_de_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
809 }
810
811 parasail_result_t* parasail_sg_qb_de_stats_scan_64_dispatcher(
812 const char * const restrict s1, const int s1Len,
813 const char * const restrict s2, const int s2Len,
814 const int open, const int gap,
815 const parasail_matrix_t *matrix)
816 {
817 #if HAVE_AVX2
818 if (parasail_can_use_avx2()) {
819 parasail_sg_qb_de_stats_scan_64_pointer = parasail_sg_qb_de_stats_scan_avx2_256_64;
820 }
821 else
822 #endif
823 #if HAVE_SSE41
824 if (parasail_can_use_sse41()) {
825 parasail_sg_qb_de_stats_scan_64_pointer = parasail_sg_qb_de_stats_scan_sse41_128_64;
826 }
827 else
828 #endif
829 #if HAVE_SSE2
830 if (parasail_can_use_sse2()) {
831 parasail_sg_qb_de_stats_scan_64_pointer = parasail_sg_qb_de_stats_scan_sse2_128_64;
832 }
833 else
834 #endif
835 #if HAVE_ALTIVEC
836 if (parasail_can_use_altivec()) {
837 parasail_sg_qb_de_stats_scan_64_pointer = parasail_sg_qb_de_stats_scan_altivec_128_64;
838 }
839 else
840 #endif
841 #if HAVE_NEON
842 if (parasail_can_use_neon()) {
843 parasail_sg_qb_de_stats_scan_64_pointer = parasail_sg_qb_de_stats_scan_neon_128_64;
844 }
845 else
846 #endif
847 {
848 parasail_sg_qb_de_stats_scan_64_pointer = parasail_sg_qb_de_scan;
849 }
850 return parasail_sg_qb_de_stats_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
851 }
852
853 parasail_result_t* parasail_sg_qb_de_stats_scan_32_dispatcher(
854 const char * const restrict s1, const int s1Len,
855 const char * const restrict s2, const int s2Len,
856 const int open, const int gap,
857 const parasail_matrix_t *matrix)
858 {
859 #if HAVE_AVX2
860 if (parasail_can_use_avx2()) {
861 parasail_sg_qb_de_stats_scan_32_pointer = parasail_sg_qb_de_stats_scan_avx2_256_32;
862 }
863 else
864 #endif
865 #if HAVE_SSE41
866 if (parasail_can_use_sse41()) {
867 parasail_sg_qb_de_stats_scan_32_pointer = parasail_sg_qb_de_stats_scan_sse41_128_32;
868 }
869 else
870 #endif
871 #if HAVE_SSE2
872 if (parasail_can_use_sse2()) {
873 parasail_sg_qb_de_stats_scan_32_pointer = parasail_sg_qb_de_stats_scan_sse2_128_32;
874 }
875 else
876 #endif
877 #if HAVE_ALTIVEC
878 if (parasail_can_use_altivec()) {
879 parasail_sg_qb_de_stats_scan_32_pointer = parasail_sg_qb_de_stats_scan_altivec_128_32;
880 }
881 else
882 #endif
883 #if HAVE_NEON
884 if (parasail_can_use_neon()) {
885 parasail_sg_qb_de_stats_scan_32_pointer = parasail_sg_qb_de_stats_scan_neon_128_32;
886 }
887 else
888 #endif
889 {
890 parasail_sg_qb_de_stats_scan_32_pointer = parasail_sg_qb_de_scan;
891 }
892 return parasail_sg_qb_de_stats_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
893 }
894
895 parasail_result_t* parasail_sg_qb_de_stats_scan_16_dispatcher(
896 const char * const restrict s1, const int s1Len,
897 const char * const restrict s2, const int s2Len,
898 const int open, const int gap,
899 const parasail_matrix_t *matrix)
900 {
901 #if HAVE_AVX2
902 if (parasail_can_use_avx2()) {
903 parasail_sg_qb_de_stats_scan_16_pointer = parasail_sg_qb_de_stats_scan_avx2_256_16;
904 }
905 else
906 #endif
907 #if HAVE_SSE41
908 if (parasail_can_use_sse41()) {
909 parasail_sg_qb_de_stats_scan_16_pointer = parasail_sg_qb_de_stats_scan_sse41_128_16;
910 }
911 else
912 #endif
913 #if HAVE_SSE2
914 if (parasail_can_use_sse2()) {
915 parasail_sg_qb_de_stats_scan_16_pointer = parasail_sg_qb_de_stats_scan_sse2_128_16;
916 }
917 else
918 #endif
919 #if HAVE_ALTIVEC
920 if (parasail_can_use_altivec()) {
921 parasail_sg_qb_de_stats_scan_16_pointer = parasail_sg_qb_de_stats_scan_altivec_128_16;
922 }
923 else
924 #endif
925 #if HAVE_NEON
926 if (parasail_can_use_neon()) {
927 parasail_sg_qb_de_stats_scan_16_pointer = parasail_sg_qb_de_stats_scan_neon_128_16;
928 }
929 else
930 #endif
931 {
932 parasail_sg_qb_de_stats_scan_16_pointer = parasail_sg_qb_de_scan;
933 }
934 return parasail_sg_qb_de_stats_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
935 }
936
937 parasail_result_t* parasail_sg_qb_de_stats_scan_8_dispatcher(
938 const char * const restrict s1, const int s1Len,
939 const char * const restrict s2, const int s2Len,
940 const int open, const int gap,
941 const parasail_matrix_t *matrix)
942 {
943 #if HAVE_AVX2
944 if (parasail_can_use_avx2()) {
945 parasail_sg_qb_de_stats_scan_8_pointer = parasail_sg_qb_de_stats_scan_avx2_256_8;
946 }
947 else
948 #endif
949 #if HAVE_SSE41
950 if (parasail_can_use_sse41()) {
951 parasail_sg_qb_de_stats_scan_8_pointer = parasail_sg_qb_de_stats_scan_sse41_128_8;
952 }
953 else
954 #endif
955 #if HAVE_SSE2
956 if (parasail_can_use_sse2()) {
957 parasail_sg_qb_de_stats_scan_8_pointer = parasail_sg_qb_de_stats_scan_sse2_128_8;
958 }
959 else
960 #endif
961 #if HAVE_ALTIVEC
962 if (parasail_can_use_altivec()) {
963 parasail_sg_qb_de_stats_scan_8_pointer = parasail_sg_qb_de_stats_scan_altivec_128_8;
964 }
965 else
966 #endif
967 #if HAVE_NEON
968 if (parasail_can_use_neon()) {
969 parasail_sg_qb_de_stats_scan_8_pointer = parasail_sg_qb_de_stats_scan_neon_128_8;
970 }
971 else
972 #endif
973 {
974 parasail_sg_qb_de_stats_scan_8_pointer = parasail_sg_qb_de_scan;
975 }
976 return parasail_sg_qb_de_stats_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
977 }
978
979 parasail_result_t* parasail_sg_qb_de_stats_striped_64_dispatcher(
980 const char * const restrict s1, const int s1Len,
981 const char * const restrict s2, const int s2Len,
982 const int open, const int gap,
983 const parasail_matrix_t *matrix)
984 {
985 #if HAVE_AVX2
986 if (parasail_can_use_avx2()) {
987 parasail_sg_qb_de_stats_striped_64_pointer = parasail_sg_qb_de_stats_striped_avx2_256_64;
988 }
989 else
990 #endif
991 #if HAVE_SSE41
992 if (parasail_can_use_sse41()) {
993 parasail_sg_qb_de_stats_striped_64_pointer = parasail_sg_qb_de_stats_striped_sse41_128_64;
994 }
995 else
996 #endif
997 #if HAVE_SSE2
998 if (parasail_can_use_sse2()) {
999 parasail_sg_qb_de_stats_striped_64_pointer = parasail_sg_qb_de_stats_striped_sse2_128_64;
1000 }
1001 else
1002 #endif
1003 #if HAVE_ALTIVEC
1004 if (parasail_can_use_altivec()) {
1005 parasail_sg_qb_de_stats_striped_64_pointer = parasail_sg_qb_de_stats_striped_altivec_128_64;
1006 }
1007 else
1008 #endif
1009 #if HAVE_NEON
1010 if (parasail_can_use_neon()) {
1011 parasail_sg_qb_de_stats_striped_64_pointer = parasail_sg_qb_de_stats_striped_neon_128_64;
1012 }
1013 else
1014 #endif
1015 {
1016 parasail_sg_qb_de_stats_striped_64_pointer = parasail_sg_qb_de;
1017 }
1018 return parasail_sg_qb_de_stats_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1019 }
1020
1021 parasail_result_t* parasail_sg_qb_de_stats_striped_32_dispatcher(
1022 const char * const restrict s1, const int s1Len,
1023 const char * const restrict s2, const int s2Len,
1024 const int open, const int gap,
1025 const parasail_matrix_t *matrix)
1026 {
1027 #if HAVE_AVX2
1028 if (parasail_can_use_avx2()) {
1029 parasail_sg_qb_de_stats_striped_32_pointer = parasail_sg_qb_de_stats_striped_avx2_256_32;
1030 }
1031 else
1032 #endif
1033 #if HAVE_SSE41
1034 if (parasail_can_use_sse41()) {
1035 parasail_sg_qb_de_stats_striped_32_pointer = parasail_sg_qb_de_stats_striped_sse41_128_32;
1036 }
1037 else
1038 #endif
1039 #if HAVE_SSE2
1040 if (parasail_can_use_sse2()) {
1041 parasail_sg_qb_de_stats_striped_32_pointer = parasail_sg_qb_de_stats_striped_sse2_128_32;
1042 }
1043 else
1044 #endif
1045 #if HAVE_ALTIVEC
1046 if (parasail_can_use_altivec()) {
1047 parasail_sg_qb_de_stats_striped_32_pointer = parasail_sg_qb_de_stats_striped_altivec_128_32;
1048 }
1049 else
1050 #endif
1051 #if HAVE_NEON
1052 if (parasail_can_use_neon()) {
1053 parasail_sg_qb_de_stats_striped_32_pointer = parasail_sg_qb_de_stats_striped_neon_128_32;
1054 }
1055 else
1056 #endif
1057 {
1058 parasail_sg_qb_de_stats_striped_32_pointer = parasail_sg_qb_de;
1059 }
1060 return parasail_sg_qb_de_stats_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1061 }
1062
1063 parasail_result_t* parasail_sg_qb_de_stats_striped_16_dispatcher(
1064 const char * const restrict s1, const int s1Len,
1065 const char * const restrict s2, const int s2Len,
1066 const int open, const int gap,
1067 const parasail_matrix_t *matrix)
1068 {
1069 #if HAVE_AVX2
1070 if (parasail_can_use_avx2()) {
1071 parasail_sg_qb_de_stats_striped_16_pointer = parasail_sg_qb_de_stats_striped_avx2_256_16;
1072 }
1073 else
1074 #endif
1075 #if HAVE_SSE41
1076 if (parasail_can_use_sse41()) {
1077 parasail_sg_qb_de_stats_striped_16_pointer = parasail_sg_qb_de_stats_striped_sse41_128_16;
1078 }
1079 else
1080 #endif
1081 #if HAVE_SSE2
1082 if (parasail_can_use_sse2()) {
1083 parasail_sg_qb_de_stats_striped_16_pointer = parasail_sg_qb_de_stats_striped_sse2_128_16;
1084 }
1085 else
1086 #endif
1087 #if HAVE_ALTIVEC
1088 if (parasail_can_use_altivec()) {
1089 parasail_sg_qb_de_stats_striped_16_pointer = parasail_sg_qb_de_stats_striped_altivec_128_16;
1090 }
1091 else
1092 #endif
1093 #if HAVE_NEON
1094 if (parasail_can_use_neon()) {
1095 parasail_sg_qb_de_stats_striped_16_pointer = parasail_sg_qb_de_stats_striped_neon_128_16;
1096 }
1097 else
1098 #endif
1099 {
1100 parasail_sg_qb_de_stats_striped_16_pointer = parasail_sg_qb_de;
1101 }
1102 return parasail_sg_qb_de_stats_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1103 }
1104
1105 parasail_result_t* parasail_sg_qb_de_stats_striped_8_dispatcher(
1106 const char * const restrict s1, const int s1Len,
1107 const char * const restrict s2, const int s2Len,
1108 const int open, const int gap,
1109 const parasail_matrix_t *matrix)
1110 {
1111 #if HAVE_AVX2
1112 if (parasail_can_use_avx2()) {
1113 parasail_sg_qb_de_stats_striped_8_pointer = parasail_sg_qb_de_stats_striped_avx2_256_8;
1114 }
1115 else
1116 #endif
1117 #if HAVE_SSE41
1118 if (parasail_can_use_sse41()) {
1119 parasail_sg_qb_de_stats_striped_8_pointer = parasail_sg_qb_de_stats_striped_sse41_128_8;
1120 }
1121 else
1122 #endif
1123 #if HAVE_SSE2
1124 if (parasail_can_use_sse2()) {
1125 parasail_sg_qb_de_stats_striped_8_pointer = parasail_sg_qb_de_stats_striped_sse2_128_8;
1126 }
1127 else
1128 #endif
1129 #if HAVE_ALTIVEC
1130 if (parasail_can_use_altivec()) {
1131 parasail_sg_qb_de_stats_striped_8_pointer = parasail_sg_qb_de_stats_striped_altivec_128_8;
1132 }
1133 else
1134 #endif
1135 #if HAVE_NEON
1136 if (parasail_can_use_neon()) {
1137 parasail_sg_qb_de_stats_striped_8_pointer = parasail_sg_qb_de_stats_striped_neon_128_8;
1138 }
1139 else
1140 #endif
1141 {
1142 parasail_sg_qb_de_stats_striped_8_pointer = parasail_sg_qb_de;
1143 }
1144 return parasail_sg_qb_de_stats_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1145 }
1146
1147 parasail_result_t* parasail_sg_qb_de_stats_diag_64_dispatcher(
1148 const char * const restrict s1, const int s1Len,
1149 const char * const restrict s2, const int s2Len,
1150 const int open, const int gap,
1151 const parasail_matrix_t *matrix)
1152 {
1153 #if HAVE_AVX2
1154 if (parasail_can_use_avx2()) {
1155 parasail_sg_qb_de_stats_diag_64_pointer = parasail_sg_qb_de_stats_diag_avx2_256_64;
1156 }
1157 else
1158 #endif
1159 #if HAVE_SSE41
1160 if (parasail_can_use_sse41()) {
1161 parasail_sg_qb_de_stats_diag_64_pointer = parasail_sg_qb_de_stats_diag_sse41_128_64;
1162 }
1163 else
1164 #endif
1165 #if HAVE_SSE2
1166 if (parasail_can_use_sse2()) {
1167 parasail_sg_qb_de_stats_diag_64_pointer = parasail_sg_qb_de_stats_diag_sse2_128_64;
1168 }
1169 else
1170 #endif
1171 #if HAVE_ALTIVEC
1172 if (parasail_can_use_altivec()) {
1173 parasail_sg_qb_de_stats_diag_64_pointer = parasail_sg_qb_de_stats_diag_altivec_128_64;
1174 }
1175 else
1176 #endif
1177 #if HAVE_NEON
1178 if (parasail_can_use_neon()) {
1179 parasail_sg_qb_de_stats_diag_64_pointer = parasail_sg_qb_de_stats_diag_neon_128_64;
1180 }
1181 else
1182 #endif
1183 {
1184 parasail_sg_qb_de_stats_diag_64_pointer = parasail_sg_qb_de;
1185 }
1186 return parasail_sg_qb_de_stats_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1187 }
1188
1189 parasail_result_t* parasail_sg_qb_de_stats_diag_32_dispatcher(
1190 const char * const restrict s1, const int s1Len,
1191 const char * const restrict s2, const int s2Len,
1192 const int open, const int gap,
1193 const parasail_matrix_t *matrix)
1194 {
1195 #if HAVE_AVX2
1196 if (parasail_can_use_avx2()) {
1197 parasail_sg_qb_de_stats_diag_32_pointer = parasail_sg_qb_de_stats_diag_avx2_256_32;
1198 }
1199 else
1200 #endif
1201 #if HAVE_SSE41
1202 if (parasail_can_use_sse41()) {
1203 parasail_sg_qb_de_stats_diag_32_pointer = parasail_sg_qb_de_stats_diag_sse41_128_32;
1204 }
1205 else
1206 #endif
1207 #if HAVE_SSE2
1208 if (parasail_can_use_sse2()) {
1209 parasail_sg_qb_de_stats_diag_32_pointer = parasail_sg_qb_de_stats_diag_sse2_128_32;
1210 }
1211 else
1212 #endif
1213 #if HAVE_ALTIVEC
1214 if (parasail_can_use_altivec()) {
1215 parasail_sg_qb_de_stats_diag_32_pointer = parasail_sg_qb_de_stats_diag_altivec_128_32;
1216 }
1217 else
1218 #endif
1219 #if HAVE_NEON
1220 if (parasail_can_use_neon()) {
1221 parasail_sg_qb_de_stats_diag_32_pointer = parasail_sg_qb_de_stats_diag_neon_128_32;
1222 }
1223 else
1224 #endif
1225 {
1226 parasail_sg_qb_de_stats_diag_32_pointer = parasail_sg_qb_de;
1227 }
1228 return parasail_sg_qb_de_stats_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1229 }
1230
1231 parasail_result_t* parasail_sg_qb_de_stats_diag_16_dispatcher(
1232 const char * const restrict s1, const int s1Len,
1233 const char * const restrict s2, const int s2Len,
1234 const int open, const int gap,
1235 const parasail_matrix_t *matrix)
1236 {
1237 #if HAVE_AVX2
1238 if (parasail_can_use_avx2()) {
1239 parasail_sg_qb_de_stats_diag_16_pointer = parasail_sg_qb_de_stats_diag_avx2_256_16;
1240 }
1241 else
1242 #endif
1243 #if HAVE_SSE41
1244 if (parasail_can_use_sse41()) {
1245 parasail_sg_qb_de_stats_diag_16_pointer = parasail_sg_qb_de_stats_diag_sse41_128_16;
1246 }
1247 else
1248 #endif
1249 #if HAVE_SSE2
1250 if (parasail_can_use_sse2()) {
1251 parasail_sg_qb_de_stats_diag_16_pointer = parasail_sg_qb_de_stats_diag_sse2_128_16;
1252 }
1253 else
1254 #endif
1255 #if HAVE_ALTIVEC
1256 if (parasail_can_use_altivec()) {
1257 parasail_sg_qb_de_stats_diag_16_pointer = parasail_sg_qb_de_stats_diag_altivec_128_16;
1258 }
1259 else
1260 #endif
1261 #if HAVE_NEON
1262 if (parasail_can_use_neon()) {
1263 parasail_sg_qb_de_stats_diag_16_pointer = parasail_sg_qb_de_stats_diag_neon_128_16;
1264 }
1265 else
1266 #endif
1267 {
1268 parasail_sg_qb_de_stats_diag_16_pointer = parasail_sg_qb_de;
1269 }
1270 return parasail_sg_qb_de_stats_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1271 }
1272
1273 parasail_result_t* parasail_sg_qb_de_stats_diag_8_dispatcher(
1274 const char * const restrict s1, const int s1Len,
1275 const char * const restrict s2, const int s2Len,
1276 const int open, const int gap,
1277 const parasail_matrix_t *matrix)
1278 {
1279 #if HAVE_AVX2
1280 if (parasail_can_use_avx2()) {
1281 parasail_sg_qb_de_stats_diag_8_pointer = parasail_sg_qb_de_stats_diag_avx2_256_8;
1282 }
1283 else
1284 #endif
1285 #if HAVE_SSE41
1286 if (parasail_can_use_sse41()) {
1287 parasail_sg_qb_de_stats_diag_8_pointer = parasail_sg_qb_de_stats_diag_sse41_128_8;
1288 }
1289 else
1290 #endif
1291 #if HAVE_SSE2
1292 if (parasail_can_use_sse2()) {
1293 parasail_sg_qb_de_stats_diag_8_pointer = parasail_sg_qb_de_stats_diag_sse2_128_8;
1294 }
1295 else
1296 #endif
1297 #if HAVE_ALTIVEC
1298 if (parasail_can_use_altivec()) {
1299 parasail_sg_qb_de_stats_diag_8_pointer = parasail_sg_qb_de_stats_diag_altivec_128_8;
1300 }
1301 else
1302 #endif
1303 #if HAVE_NEON
1304 if (parasail_can_use_neon()) {
1305 parasail_sg_qb_de_stats_diag_8_pointer = parasail_sg_qb_de_stats_diag_neon_128_8;
1306 }
1307 else
1308 #endif
1309 {
1310 parasail_sg_qb_de_stats_diag_8_pointer = parasail_sg_qb_de;
1311 }
1312 return parasail_sg_qb_de_stats_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1313 }
1314
1315 parasail_result_t* parasail_sg_qb_de_table_scan_64_dispatcher(
1316 const char * const restrict s1, const int s1Len,
1317 const char * const restrict s2, const int s2Len,
1318 const int open, const int gap,
1319 const parasail_matrix_t *matrix)
1320 {
1321 #if HAVE_AVX2
1322 if (parasail_can_use_avx2()) {
1323 parasail_sg_qb_de_table_scan_64_pointer = parasail_sg_qb_de_table_scan_avx2_256_64;
1324 }
1325 else
1326 #endif
1327 #if HAVE_SSE41
1328 if (parasail_can_use_sse41()) {
1329 parasail_sg_qb_de_table_scan_64_pointer = parasail_sg_qb_de_table_scan_sse41_128_64;
1330 }
1331 else
1332 #endif
1333 #if HAVE_SSE2
1334 if (parasail_can_use_sse2()) {
1335 parasail_sg_qb_de_table_scan_64_pointer = parasail_sg_qb_de_table_scan_sse2_128_64;
1336 }
1337 else
1338 #endif
1339 #if HAVE_ALTIVEC
1340 if (parasail_can_use_altivec()) {
1341 parasail_sg_qb_de_table_scan_64_pointer = parasail_sg_qb_de_table_scan_altivec_128_64;
1342 }
1343 else
1344 #endif
1345 #if HAVE_NEON
1346 if (parasail_can_use_neon()) {
1347 parasail_sg_qb_de_table_scan_64_pointer = parasail_sg_qb_de_table_scan_neon_128_64;
1348 }
1349 else
1350 #endif
1351 {
1352 parasail_sg_qb_de_table_scan_64_pointer = parasail_sg_qb_de_scan;
1353 }
1354 return parasail_sg_qb_de_table_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1355 }
1356
1357 parasail_result_t* parasail_sg_qb_de_table_scan_32_dispatcher(
1358 const char * const restrict s1, const int s1Len,
1359 const char * const restrict s2, const int s2Len,
1360 const int open, const int gap,
1361 const parasail_matrix_t *matrix)
1362 {
1363 #if HAVE_AVX2
1364 if (parasail_can_use_avx2()) {
1365 parasail_sg_qb_de_table_scan_32_pointer = parasail_sg_qb_de_table_scan_avx2_256_32;
1366 }
1367 else
1368 #endif
1369 #if HAVE_SSE41
1370 if (parasail_can_use_sse41()) {
1371 parasail_sg_qb_de_table_scan_32_pointer = parasail_sg_qb_de_table_scan_sse41_128_32;
1372 }
1373 else
1374 #endif
1375 #if HAVE_SSE2
1376 if (parasail_can_use_sse2()) {
1377 parasail_sg_qb_de_table_scan_32_pointer = parasail_sg_qb_de_table_scan_sse2_128_32;
1378 }
1379 else
1380 #endif
1381 #if HAVE_ALTIVEC
1382 if (parasail_can_use_altivec()) {
1383 parasail_sg_qb_de_table_scan_32_pointer = parasail_sg_qb_de_table_scan_altivec_128_32;
1384 }
1385 else
1386 #endif
1387 #if HAVE_NEON
1388 if (parasail_can_use_neon()) {
1389 parasail_sg_qb_de_table_scan_32_pointer = parasail_sg_qb_de_table_scan_neon_128_32;
1390 }
1391 else
1392 #endif
1393 {
1394 parasail_sg_qb_de_table_scan_32_pointer = parasail_sg_qb_de_scan;
1395 }
1396 return parasail_sg_qb_de_table_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1397 }
1398
1399 parasail_result_t* parasail_sg_qb_de_table_scan_16_dispatcher(
1400 const char * const restrict s1, const int s1Len,
1401 const char * const restrict s2, const int s2Len,
1402 const int open, const int gap,
1403 const parasail_matrix_t *matrix)
1404 {
1405 #if HAVE_AVX2
1406 if (parasail_can_use_avx2()) {
1407 parasail_sg_qb_de_table_scan_16_pointer = parasail_sg_qb_de_table_scan_avx2_256_16;
1408 }
1409 else
1410 #endif
1411 #if HAVE_SSE41
1412 if (parasail_can_use_sse41()) {
1413 parasail_sg_qb_de_table_scan_16_pointer = parasail_sg_qb_de_table_scan_sse41_128_16;
1414 }
1415 else
1416 #endif
1417 #if HAVE_SSE2
1418 if (parasail_can_use_sse2()) {
1419 parasail_sg_qb_de_table_scan_16_pointer = parasail_sg_qb_de_table_scan_sse2_128_16;
1420 }
1421 else
1422 #endif
1423 #if HAVE_ALTIVEC
1424 if (parasail_can_use_altivec()) {
1425 parasail_sg_qb_de_table_scan_16_pointer = parasail_sg_qb_de_table_scan_altivec_128_16;
1426 }
1427 else
1428 #endif
1429 #if HAVE_NEON
1430 if (parasail_can_use_neon()) {
1431 parasail_sg_qb_de_table_scan_16_pointer = parasail_sg_qb_de_table_scan_neon_128_16;
1432 }
1433 else
1434 #endif
1435 {
1436 parasail_sg_qb_de_table_scan_16_pointer = parasail_sg_qb_de_scan;
1437 }
1438 return parasail_sg_qb_de_table_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1439 }
1440
1441 parasail_result_t* parasail_sg_qb_de_table_scan_8_dispatcher(
1442 const char * const restrict s1, const int s1Len,
1443 const char * const restrict s2, const int s2Len,
1444 const int open, const int gap,
1445 const parasail_matrix_t *matrix)
1446 {
1447 #if HAVE_AVX2
1448 if (parasail_can_use_avx2()) {
1449 parasail_sg_qb_de_table_scan_8_pointer = parasail_sg_qb_de_table_scan_avx2_256_8;
1450 }
1451 else
1452 #endif
1453 #if HAVE_SSE41
1454 if (parasail_can_use_sse41()) {
1455 parasail_sg_qb_de_table_scan_8_pointer = parasail_sg_qb_de_table_scan_sse41_128_8;
1456 }
1457 else
1458 #endif
1459 #if HAVE_SSE2
1460 if (parasail_can_use_sse2()) {
1461 parasail_sg_qb_de_table_scan_8_pointer = parasail_sg_qb_de_table_scan_sse2_128_8;
1462 }
1463 else
1464 #endif
1465 #if HAVE_ALTIVEC
1466 if (parasail_can_use_altivec()) {
1467 parasail_sg_qb_de_table_scan_8_pointer = parasail_sg_qb_de_table_scan_altivec_128_8;
1468 }
1469 else
1470 #endif
1471 #if HAVE_NEON
1472 if (parasail_can_use_neon()) {
1473 parasail_sg_qb_de_table_scan_8_pointer = parasail_sg_qb_de_table_scan_neon_128_8;
1474 }
1475 else
1476 #endif
1477 {
1478 parasail_sg_qb_de_table_scan_8_pointer = parasail_sg_qb_de_scan;
1479 }
1480 return parasail_sg_qb_de_table_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1481 }
1482
1483 parasail_result_t* parasail_sg_qb_de_table_striped_64_dispatcher(
1484 const char * const restrict s1, const int s1Len,
1485 const char * const restrict s2, const int s2Len,
1486 const int open, const int gap,
1487 const parasail_matrix_t *matrix)
1488 {
1489 #if HAVE_AVX2
1490 if (parasail_can_use_avx2()) {
1491 parasail_sg_qb_de_table_striped_64_pointer = parasail_sg_qb_de_table_striped_avx2_256_64;
1492 }
1493 else
1494 #endif
1495 #if HAVE_SSE41
1496 if (parasail_can_use_sse41()) {
1497 parasail_sg_qb_de_table_striped_64_pointer = parasail_sg_qb_de_table_striped_sse41_128_64;
1498 }
1499 else
1500 #endif
1501 #if HAVE_SSE2
1502 if (parasail_can_use_sse2()) {
1503 parasail_sg_qb_de_table_striped_64_pointer = parasail_sg_qb_de_table_striped_sse2_128_64;
1504 }
1505 else
1506 #endif
1507 #if HAVE_ALTIVEC
1508 if (parasail_can_use_altivec()) {
1509 parasail_sg_qb_de_table_striped_64_pointer = parasail_sg_qb_de_table_striped_altivec_128_64;
1510 }
1511 else
1512 #endif
1513 #if HAVE_NEON
1514 if (parasail_can_use_neon()) {
1515 parasail_sg_qb_de_table_striped_64_pointer = parasail_sg_qb_de_table_striped_neon_128_64;
1516 }
1517 else
1518 #endif
1519 {
1520 parasail_sg_qb_de_table_striped_64_pointer = parasail_sg_qb_de;
1521 }
1522 return parasail_sg_qb_de_table_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1523 }
1524
1525 parasail_result_t* parasail_sg_qb_de_table_striped_32_dispatcher(
1526 const char * const restrict s1, const int s1Len,
1527 const char * const restrict s2, const int s2Len,
1528 const int open, const int gap,
1529 const parasail_matrix_t *matrix)
1530 {
1531 #if HAVE_AVX2
1532 if (parasail_can_use_avx2()) {
1533 parasail_sg_qb_de_table_striped_32_pointer = parasail_sg_qb_de_table_striped_avx2_256_32;
1534 }
1535 else
1536 #endif
1537 #if HAVE_SSE41
1538 if (parasail_can_use_sse41()) {
1539 parasail_sg_qb_de_table_striped_32_pointer = parasail_sg_qb_de_table_striped_sse41_128_32;
1540 }
1541 else
1542 #endif
1543 #if HAVE_SSE2
1544 if (parasail_can_use_sse2()) {
1545 parasail_sg_qb_de_table_striped_32_pointer = parasail_sg_qb_de_table_striped_sse2_128_32;
1546 }
1547 else
1548 #endif
1549 #if HAVE_ALTIVEC
1550 if (parasail_can_use_altivec()) {
1551 parasail_sg_qb_de_table_striped_32_pointer = parasail_sg_qb_de_table_striped_altivec_128_32;
1552 }
1553 else
1554 #endif
1555 #if HAVE_NEON
1556 if (parasail_can_use_neon()) {
1557 parasail_sg_qb_de_table_striped_32_pointer = parasail_sg_qb_de_table_striped_neon_128_32;
1558 }
1559 else
1560 #endif
1561 {
1562 parasail_sg_qb_de_table_striped_32_pointer = parasail_sg_qb_de;
1563 }
1564 return parasail_sg_qb_de_table_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1565 }
1566
1567 parasail_result_t* parasail_sg_qb_de_table_striped_16_dispatcher(
1568 const char * const restrict s1, const int s1Len,
1569 const char * const restrict s2, const int s2Len,
1570 const int open, const int gap,
1571 const parasail_matrix_t *matrix)
1572 {
1573 #if HAVE_AVX2
1574 if (parasail_can_use_avx2()) {
1575 parasail_sg_qb_de_table_striped_16_pointer = parasail_sg_qb_de_table_striped_avx2_256_16;
1576 }
1577 else
1578 #endif
1579 #if HAVE_SSE41
1580 if (parasail_can_use_sse41()) {
1581 parasail_sg_qb_de_table_striped_16_pointer = parasail_sg_qb_de_table_striped_sse41_128_16;
1582 }
1583 else
1584 #endif
1585 #if HAVE_SSE2
1586 if (parasail_can_use_sse2()) {
1587 parasail_sg_qb_de_table_striped_16_pointer = parasail_sg_qb_de_table_striped_sse2_128_16;
1588 }
1589 else
1590 #endif
1591 #if HAVE_ALTIVEC
1592 if (parasail_can_use_altivec()) {
1593 parasail_sg_qb_de_table_striped_16_pointer = parasail_sg_qb_de_table_striped_altivec_128_16;
1594 }
1595 else
1596 #endif
1597 #if HAVE_NEON
1598 if (parasail_can_use_neon()) {
1599 parasail_sg_qb_de_table_striped_16_pointer = parasail_sg_qb_de_table_striped_neon_128_16;
1600 }
1601 else
1602 #endif
1603 {
1604 parasail_sg_qb_de_table_striped_16_pointer = parasail_sg_qb_de;
1605 }
1606 return parasail_sg_qb_de_table_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1607 }
1608
1609 parasail_result_t* parasail_sg_qb_de_table_striped_8_dispatcher(
1610 const char * const restrict s1, const int s1Len,
1611 const char * const restrict s2, const int s2Len,
1612 const int open, const int gap,
1613 const parasail_matrix_t *matrix)
1614 {
1615 #if HAVE_AVX2
1616 if (parasail_can_use_avx2()) {
1617 parasail_sg_qb_de_table_striped_8_pointer = parasail_sg_qb_de_table_striped_avx2_256_8;
1618 }
1619 else
1620 #endif
1621 #if HAVE_SSE41
1622 if (parasail_can_use_sse41()) {
1623 parasail_sg_qb_de_table_striped_8_pointer = parasail_sg_qb_de_table_striped_sse41_128_8;
1624 }
1625 else
1626 #endif
1627 #if HAVE_SSE2
1628 if (parasail_can_use_sse2()) {
1629 parasail_sg_qb_de_table_striped_8_pointer = parasail_sg_qb_de_table_striped_sse2_128_8;
1630 }
1631 else
1632 #endif
1633 #if HAVE_ALTIVEC
1634 if (parasail_can_use_altivec()) {
1635 parasail_sg_qb_de_table_striped_8_pointer = parasail_sg_qb_de_table_striped_altivec_128_8;
1636 }
1637 else
1638 #endif
1639 #if HAVE_NEON
1640 if (parasail_can_use_neon()) {
1641 parasail_sg_qb_de_table_striped_8_pointer = parasail_sg_qb_de_table_striped_neon_128_8;
1642 }
1643 else
1644 #endif
1645 {
1646 parasail_sg_qb_de_table_striped_8_pointer = parasail_sg_qb_de;
1647 }
1648 return parasail_sg_qb_de_table_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1649 }
1650
1651 parasail_result_t* parasail_sg_qb_de_table_diag_64_dispatcher(
1652 const char * const restrict s1, const int s1Len,
1653 const char * const restrict s2, const int s2Len,
1654 const int open, const int gap,
1655 const parasail_matrix_t *matrix)
1656 {
1657 #if HAVE_AVX2
1658 if (parasail_can_use_avx2()) {
1659 parasail_sg_qb_de_table_diag_64_pointer = parasail_sg_qb_de_table_diag_avx2_256_64;
1660 }
1661 else
1662 #endif
1663 #if HAVE_SSE41
1664 if (parasail_can_use_sse41()) {
1665 parasail_sg_qb_de_table_diag_64_pointer = parasail_sg_qb_de_table_diag_sse41_128_64;
1666 }
1667 else
1668 #endif
1669 #if HAVE_SSE2
1670 if (parasail_can_use_sse2()) {
1671 parasail_sg_qb_de_table_diag_64_pointer = parasail_sg_qb_de_table_diag_sse2_128_64;
1672 }
1673 else
1674 #endif
1675 #if HAVE_ALTIVEC
1676 if (parasail_can_use_altivec()) {
1677 parasail_sg_qb_de_table_diag_64_pointer = parasail_sg_qb_de_table_diag_altivec_128_64;
1678 }
1679 else
1680 #endif
1681 #if HAVE_NEON
1682 if (parasail_can_use_neon()) {
1683 parasail_sg_qb_de_table_diag_64_pointer = parasail_sg_qb_de_table_diag_neon_128_64;
1684 }
1685 else
1686 #endif
1687 {
1688 parasail_sg_qb_de_table_diag_64_pointer = parasail_sg_qb_de;
1689 }
1690 return parasail_sg_qb_de_table_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1691 }
1692
1693 parasail_result_t* parasail_sg_qb_de_table_diag_32_dispatcher(
1694 const char * const restrict s1, const int s1Len,
1695 const char * const restrict s2, const int s2Len,
1696 const int open, const int gap,
1697 const parasail_matrix_t *matrix)
1698 {
1699 #if HAVE_AVX2
1700 if (parasail_can_use_avx2()) {
1701 parasail_sg_qb_de_table_diag_32_pointer = parasail_sg_qb_de_table_diag_avx2_256_32;
1702 }
1703 else
1704 #endif
1705 #if HAVE_SSE41
1706 if (parasail_can_use_sse41()) {
1707 parasail_sg_qb_de_table_diag_32_pointer = parasail_sg_qb_de_table_diag_sse41_128_32;
1708 }
1709 else
1710 #endif
1711 #if HAVE_SSE2
1712 if (parasail_can_use_sse2()) {
1713 parasail_sg_qb_de_table_diag_32_pointer = parasail_sg_qb_de_table_diag_sse2_128_32;
1714 }
1715 else
1716 #endif
1717 #if HAVE_ALTIVEC
1718 if (parasail_can_use_altivec()) {
1719 parasail_sg_qb_de_table_diag_32_pointer = parasail_sg_qb_de_table_diag_altivec_128_32;
1720 }
1721 else
1722 #endif
1723 #if HAVE_NEON
1724 if (parasail_can_use_neon()) {
1725 parasail_sg_qb_de_table_diag_32_pointer = parasail_sg_qb_de_table_diag_neon_128_32;
1726 }
1727 else
1728 #endif
1729 {
1730 parasail_sg_qb_de_table_diag_32_pointer = parasail_sg_qb_de;
1731 }
1732 return parasail_sg_qb_de_table_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1733 }
1734
1735 parasail_result_t* parasail_sg_qb_de_table_diag_16_dispatcher(
1736 const char * const restrict s1, const int s1Len,
1737 const char * const restrict s2, const int s2Len,
1738 const int open, const int gap,
1739 const parasail_matrix_t *matrix)
1740 {
1741 #if HAVE_AVX2
1742 if (parasail_can_use_avx2()) {
1743 parasail_sg_qb_de_table_diag_16_pointer = parasail_sg_qb_de_table_diag_avx2_256_16;
1744 }
1745 else
1746 #endif
1747 #if HAVE_SSE41
1748 if (parasail_can_use_sse41()) {
1749 parasail_sg_qb_de_table_diag_16_pointer = parasail_sg_qb_de_table_diag_sse41_128_16;
1750 }
1751 else
1752 #endif
1753 #if HAVE_SSE2
1754 if (parasail_can_use_sse2()) {
1755 parasail_sg_qb_de_table_diag_16_pointer = parasail_sg_qb_de_table_diag_sse2_128_16;
1756 }
1757 else
1758 #endif
1759 #if HAVE_ALTIVEC
1760 if (parasail_can_use_altivec()) {
1761 parasail_sg_qb_de_table_diag_16_pointer = parasail_sg_qb_de_table_diag_altivec_128_16;
1762 }
1763 else
1764 #endif
1765 #if HAVE_NEON
1766 if (parasail_can_use_neon()) {
1767 parasail_sg_qb_de_table_diag_16_pointer = parasail_sg_qb_de_table_diag_neon_128_16;
1768 }
1769 else
1770 #endif
1771 {
1772 parasail_sg_qb_de_table_diag_16_pointer = parasail_sg_qb_de;
1773 }
1774 return parasail_sg_qb_de_table_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1775 }
1776
1777 parasail_result_t* parasail_sg_qb_de_table_diag_8_dispatcher(
1778 const char * const restrict s1, const int s1Len,
1779 const char * const restrict s2, const int s2Len,
1780 const int open, const int gap,
1781 const parasail_matrix_t *matrix)
1782 {
1783 #if HAVE_AVX2
1784 if (parasail_can_use_avx2()) {
1785 parasail_sg_qb_de_table_diag_8_pointer = parasail_sg_qb_de_table_diag_avx2_256_8;
1786 }
1787 else
1788 #endif
1789 #if HAVE_SSE41
1790 if (parasail_can_use_sse41()) {
1791 parasail_sg_qb_de_table_diag_8_pointer = parasail_sg_qb_de_table_diag_sse41_128_8;
1792 }
1793 else
1794 #endif
1795 #if HAVE_SSE2
1796 if (parasail_can_use_sse2()) {
1797 parasail_sg_qb_de_table_diag_8_pointer = parasail_sg_qb_de_table_diag_sse2_128_8;
1798 }
1799 else
1800 #endif
1801 #if HAVE_ALTIVEC
1802 if (parasail_can_use_altivec()) {
1803 parasail_sg_qb_de_table_diag_8_pointer = parasail_sg_qb_de_table_diag_altivec_128_8;
1804 }
1805 else
1806 #endif
1807 #if HAVE_NEON
1808 if (parasail_can_use_neon()) {
1809 parasail_sg_qb_de_table_diag_8_pointer = parasail_sg_qb_de_table_diag_neon_128_8;
1810 }
1811 else
1812 #endif
1813 {
1814 parasail_sg_qb_de_table_diag_8_pointer = parasail_sg_qb_de;
1815 }
1816 return parasail_sg_qb_de_table_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1817 }
1818
1819 parasail_result_t* parasail_sg_qb_de_stats_table_scan_64_dispatcher(
1820 const char * const restrict s1, const int s1Len,
1821 const char * const restrict s2, const int s2Len,
1822 const int open, const int gap,
1823 const parasail_matrix_t *matrix)
1824 {
1825 #if HAVE_AVX2
1826 if (parasail_can_use_avx2()) {
1827 parasail_sg_qb_de_stats_table_scan_64_pointer = parasail_sg_qb_de_stats_table_scan_avx2_256_64;
1828 }
1829 else
1830 #endif
1831 #if HAVE_SSE41
1832 if (parasail_can_use_sse41()) {
1833 parasail_sg_qb_de_stats_table_scan_64_pointer = parasail_sg_qb_de_stats_table_scan_sse41_128_64;
1834 }
1835 else
1836 #endif
1837 #if HAVE_SSE2
1838 if (parasail_can_use_sse2()) {
1839 parasail_sg_qb_de_stats_table_scan_64_pointer = parasail_sg_qb_de_stats_table_scan_sse2_128_64;
1840 }
1841 else
1842 #endif
1843 #if HAVE_ALTIVEC
1844 if (parasail_can_use_altivec()) {
1845 parasail_sg_qb_de_stats_table_scan_64_pointer = parasail_sg_qb_de_stats_table_scan_altivec_128_64;
1846 }
1847 else
1848 #endif
1849 #if HAVE_NEON
1850 if (parasail_can_use_neon()) {
1851 parasail_sg_qb_de_stats_table_scan_64_pointer = parasail_sg_qb_de_stats_table_scan_neon_128_64;
1852 }
1853 else
1854 #endif
1855 {
1856 parasail_sg_qb_de_stats_table_scan_64_pointer = parasail_sg_qb_de_scan;
1857 }
1858 return parasail_sg_qb_de_stats_table_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1859 }
1860
1861 parasail_result_t* parasail_sg_qb_de_stats_table_scan_32_dispatcher(
1862 const char * const restrict s1, const int s1Len,
1863 const char * const restrict s2, const int s2Len,
1864 const int open, const int gap,
1865 const parasail_matrix_t *matrix)
1866 {
1867 #if HAVE_AVX2
1868 if (parasail_can_use_avx2()) {
1869 parasail_sg_qb_de_stats_table_scan_32_pointer = parasail_sg_qb_de_stats_table_scan_avx2_256_32;
1870 }
1871 else
1872 #endif
1873 #if HAVE_SSE41
1874 if (parasail_can_use_sse41()) {
1875 parasail_sg_qb_de_stats_table_scan_32_pointer = parasail_sg_qb_de_stats_table_scan_sse41_128_32;
1876 }
1877 else
1878 #endif
1879 #if HAVE_SSE2
1880 if (parasail_can_use_sse2()) {
1881 parasail_sg_qb_de_stats_table_scan_32_pointer = parasail_sg_qb_de_stats_table_scan_sse2_128_32;
1882 }
1883 else
1884 #endif
1885 #if HAVE_ALTIVEC
1886 if (parasail_can_use_altivec()) {
1887 parasail_sg_qb_de_stats_table_scan_32_pointer = parasail_sg_qb_de_stats_table_scan_altivec_128_32;
1888 }
1889 else
1890 #endif
1891 #if HAVE_NEON
1892 if (parasail_can_use_neon()) {
1893 parasail_sg_qb_de_stats_table_scan_32_pointer = parasail_sg_qb_de_stats_table_scan_neon_128_32;
1894 }
1895 else
1896 #endif
1897 {
1898 parasail_sg_qb_de_stats_table_scan_32_pointer = parasail_sg_qb_de_scan;
1899 }
1900 return parasail_sg_qb_de_stats_table_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1901 }
1902
1903 parasail_result_t* parasail_sg_qb_de_stats_table_scan_16_dispatcher(
1904 const char * const restrict s1, const int s1Len,
1905 const char * const restrict s2, const int s2Len,
1906 const int open, const int gap,
1907 const parasail_matrix_t *matrix)
1908 {
1909 #if HAVE_AVX2
1910 if (parasail_can_use_avx2()) {
1911 parasail_sg_qb_de_stats_table_scan_16_pointer = parasail_sg_qb_de_stats_table_scan_avx2_256_16;
1912 }
1913 else
1914 #endif
1915 #if HAVE_SSE41
1916 if (parasail_can_use_sse41()) {
1917 parasail_sg_qb_de_stats_table_scan_16_pointer = parasail_sg_qb_de_stats_table_scan_sse41_128_16;
1918 }
1919 else
1920 #endif
1921 #if HAVE_SSE2
1922 if (parasail_can_use_sse2()) {
1923 parasail_sg_qb_de_stats_table_scan_16_pointer = parasail_sg_qb_de_stats_table_scan_sse2_128_16;
1924 }
1925 else
1926 #endif
1927 #if HAVE_ALTIVEC
1928 if (parasail_can_use_altivec()) {
1929 parasail_sg_qb_de_stats_table_scan_16_pointer = parasail_sg_qb_de_stats_table_scan_altivec_128_16;
1930 }
1931 else
1932 #endif
1933 #if HAVE_NEON
1934 if (parasail_can_use_neon()) {
1935 parasail_sg_qb_de_stats_table_scan_16_pointer = parasail_sg_qb_de_stats_table_scan_neon_128_16;
1936 }
1937 else
1938 #endif
1939 {
1940 parasail_sg_qb_de_stats_table_scan_16_pointer = parasail_sg_qb_de_scan;
1941 }
1942 return parasail_sg_qb_de_stats_table_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1943 }
1944
1945 parasail_result_t* parasail_sg_qb_de_stats_table_scan_8_dispatcher(
1946 const char * const restrict s1, const int s1Len,
1947 const char * const restrict s2, const int s2Len,
1948 const int open, const int gap,
1949 const parasail_matrix_t *matrix)
1950 {
1951 #if HAVE_AVX2
1952 if (parasail_can_use_avx2()) {
1953 parasail_sg_qb_de_stats_table_scan_8_pointer = parasail_sg_qb_de_stats_table_scan_avx2_256_8;
1954 }
1955 else
1956 #endif
1957 #if HAVE_SSE41
1958 if (parasail_can_use_sse41()) {
1959 parasail_sg_qb_de_stats_table_scan_8_pointer = parasail_sg_qb_de_stats_table_scan_sse41_128_8;
1960 }
1961 else
1962 #endif
1963 #if HAVE_SSE2
1964 if (parasail_can_use_sse2()) {
1965 parasail_sg_qb_de_stats_table_scan_8_pointer = parasail_sg_qb_de_stats_table_scan_sse2_128_8;
1966 }
1967 else
1968 #endif
1969 #if HAVE_ALTIVEC
1970 if (parasail_can_use_altivec()) {
1971 parasail_sg_qb_de_stats_table_scan_8_pointer = parasail_sg_qb_de_stats_table_scan_altivec_128_8;
1972 }
1973 else
1974 #endif
1975 #if HAVE_NEON
1976 if (parasail_can_use_neon()) {
1977 parasail_sg_qb_de_stats_table_scan_8_pointer = parasail_sg_qb_de_stats_table_scan_neon_128_8;
1978 }
1979 else
1980 #endif
1981 {
1982 parasail_sg_qb_de_stats_table_scan_8_pointer = parasail_sg_qb_de_scan;
1983 }
1984 return parasail_sg_qb_de_stats_table_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
1985 }
1986
1987 parasail_result_t* parasail_sg_qb_de_stats_table_striped_64_dispatcher(
1988 const char * const restrict s1, const int s1Len,
1989 const char * const restrict s2, const int s2Len,
1990 const int open, const int gap,
1991 const parasail_matrix_t *matrix)
1992 {
1993 #if HAVE_AVX2
1994 if (parasail_can_use_avx2()) {
1995 parasail_sg_qb_de_stats_table_striped_64_pointer = parasail_sg_qb_de_stats_table_striped_avx2_256_64;
1996 }
1997 else
1998 #endif
1999 #if HAVE_SSE41
2000 if (parasail_can_use_sse41()) {
2001 parasail_sg_qb_de_stats_table_striped_64_pointer = parasail_sg_qb_de_stats_table_striped_sse41_128_64;
2002 }
2003 else
2004 #endif
2005 #if HAVE_SSE2
2006 if (parasail_can_use_sse2()) {
2007 parasail_sg_qb_de_stats_table_striped_64_pointer = parasail_sg_qb_de_stats_table_striped_sse2_128_64;
2008 }
2009 else
2010 #endif
2011 #if HAVE_ALTIVEC
2012 if (parasail_can_use_altivec()) {
2013 parasail_sg_qb_de_stats_table_striped_64_pointer = parasail_sg_qb_de_stats_table_striped_altivec_128_64;
2014 }
2015 else
2016 #endif
2017 #if HAVE_NEON
2018 if (parasail_can_use_neon()) {
2019 parasail_sg_qb_de_stats_table_striped_64_pointer = parasail_sg_qb_de_stats_table_striped_neon_128_64;
2020 }
2021 else
2022 #endif
2023 {
2024 parasail_sg_qb_de_stats_table_striped_64_pointer = parasail_sg_qb_de;
2025 }
2026 return parasail_sg_qb_de_stats_table_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2027 }
2028
2029 parasail_result_t* parasail_sg_qb_de_stats_table_striped_32_dispatcher(
2030 const char * const restrict s1, const int s1Len,
2031 const char * const restrict s2, const int s2Len,
2032 const int open, const int gap,
2033 const parasail_matrix_t *matrix)
2034 {
2035 #if HAVE_AVX2
2036 if (parasail_can_use_avx2()) {
2037 parasail_sg_qb_de_stats_table_striped_32_pointer = parasail_sg_qb_de_stats_table_striped_avx2_256_32;
2038 }
2039 else
2040 #endif
2041 #if HAVE_SSE41
2042 if (parasail_can_use_sse41()) {
2043 parasail_sg_qb_de_stats_table_striped_32_pointer = parasail_sg_qb_de_stats_table_striped_sse41_128_32;
2044 }
2045 else
2046 #endif
2047 #if HAVE_SSE2
2048 if (parasail_can_use_sse2()) {
2049 parasail_sg_qb_de_stats_table_striped_32_pointer = parasail_sg_qb_de_stats_table_striped_sse2_128_32;
2050 }
2051 else
2052 #endif
2053 #if HAVE_ALTIVEC
2054 if (parasail_can_use_altivec()) {
2055 parasail_sg_qb_de_stats_table_striped_32_pointer = parasail_sg_qb_de_stats_table_striped_altivec_128_32;
2056 }
2057 else
2058 #endif
2059 #if HAVE_NEON
2060 if (parasail_can_use_neon()) {
2061 parasail_sg_qb_de_stats_table_striped_32_pointer = parasail_sg_qb_de_stats_table_striped_neon_128_32;
2062 }
2063 else
2064 #endif
2065 {
2066 parasail_sg_qb_de_stats_table_striped_32_pointer = parasail_sg_qb_de;
2067 }
2068 return parasail_sg_qb_de_stats_table_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2069 }
2070
2071 parasail_result_t* parasail_sg_qb_de_stats_table_striped_16_dispatcher(
2072 const char * const restrict s1, const int s1Len,
2073 const char * const restrict s2, const int s2Len,
2074 const int open, const int gap,
2075 const parasail_matrix_t *matrix)
2076 {
2077 #if HAVE_AVX2
2078 if (parasail_can_use_avx2()) {
2079 parasail_sg_qb_de_stats_table_striped_16_pointer = parasail_sg_qb_de_stats_table_striped_avx2_256_16;
2080 }
2081 else
2082 #endif
2083 #if HAVE_SSE41
2084 if (parasail_can_use_sse41()) {
2085 parasail_sg_qb_de_stats_table_striped_16_pointer = parasail_sg_qb_de_stats_table_striped_sse41_128_16;
2086 }
2087 else
2088 #endif
2089 #if HAVE_SSE2
2090 if (parasail_can_use_sse2()) {
2091 parasail_sg_qb_de_stats_table_striped_16_pointer = parasail_sg_qb_de_stats_table_striped_sse2_128_16;
2092 }
2093 else
2094 #endif
2095 #if HAVE_ALTIVEC
2096 if (parasail_can_use_altivec()) {
2097 parasail_sg_qb_de_stats_table_striped_16_pointer = parasail_sg_qb_de_stats_table_striped_altivec_128_16;
2098 }
2099 else
2100 #endif
2101 #if HAVE_NEON
2102 if (parasail_can_use_neon()) {
2103 parasail_sg_qb_de_stats_table_striped_16_pointer = parasail_sg_qb_de_stats_table_striped_neon_128_16;
2104 }
2105 else
2106 #endif
2107 {
2108 parasail_sg_qb_de_stats_table_striped_16_pointer = parasail_sg_qb_de;
2109 }
2110 return parasail_sg_qb_de_stats_table_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2111 }
2112
2113 parasail_result_t* parasail_sg_qb_de_stats_table_striped_8_dispatcher(
2114 const char * const restrict s1, const int s1Len,
2115 const char * const restrict s2, const int s2Len,
2116 const int open, const int gap,
2117 const parasail_matrix_t *matrix)
2118 {
2119 #if HAVE_AVX2
2120 if (parasail_can_use_avx2()) {
2121 parasail_sg_qb_de_stats_table_striped_8_pointer = parasail_sg_qb_de_stats_table_striped_avx2_256_8;
2122 }
2123 else
2124 #endif
2125 #if HAVE_SSE41
2126 if (parasail_can_use_sse41()) {
2127 parasail_sg_qb_de_stats_table_striped_8_pointer = parasail_sg_qb_de_stats_table_striped_sse41_128_8;
2128 }
2129 else
2130 #endif
2131 #if HAVE_SSE2
2132 if (parasail_can_use_sse2()) {
2133 parasail_sg_qb_de_stats_table_striped_8_pointer = parasail_sg_qb_de_stats_table_striped_sse2_128_8;
2134 }
2135 else
2136 #endif
2137 #if HAVE_ALTIVEC
2138 if (parasail_can_use_altivec()) {
2139 parasail_sg_qb_de_stats_table_striped_8_pointer = parasail_sg_qb_de_stats_table_striped_altivec_128_8;
2140 }
2141 else
2142 #endif
2143 #if HAVE_NEON
2144 if (parasail_can_use_neon()) {
2145 parasail_sg_qb_de_stats_table_striped_8_pointer = parasail_sg_qb_de_stats_table_striped_neon_128_8;
2146 }
2147 else
2148 #endif
2149 {
2150 parasail_sg_qb_de_stats_table_striped_8_pointer = parasail_sg_qb_de;
2151 }
2152 return parasail_sg_qb_de_stats_table_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2153 }
2154
2155 parasail_result_t* parasail_sg_qb_de_stats_table_diag_64_dispatcher(
2156 const char * const restrict s1, const int s1Len,
2157 const char * const restrict s2, const int s2Len,
2158 const int open, const int gap,
2159 const parasail_matrix_t *matrix)
2160 {
2161 #if HAVE_AVX2
2162 if (parasail_can_use_avx2()) {
2163 parasail_sg_qb_de_stats_table_diag_64_pointer = parasail_sg_qb_de_stats_table_diag_avx2_256_64;
2164 }
2165 else
2166 #endif
2167 #if HAVE_SSE41
2168 if (parasail_can_use_sse41()) {
2169 parasail_sg_qb_de_stats_table_diag_64_pointer = parasail_sg_qb_de_stats_table_diag_sse41_128_64;
2170 }
2171 else
2172 #endif
2173 #if HAVE_SSE2
2174 if (parasail_can_use_sse2()) {
2175 parasail_sg_qb_de_stats_table_diag_64_pointer = parasail_sg_qb_de_stats_table_diag_sse2_128_64;
2176 }
2177 else
2178 #endif
2179 #if HAVE_ALTIVEC
2180 if (parasail_can_use_altivec()) {
2181 parasail_sg_qb_de_stats_table_diag_64_pointer = parasail_sg_qb_de_stats_table_diag_altivec_128_64;
2182 }
2183 else
2184 #endif
2185 #if HAVE_NEON
2186 if (parasail_can_use_neon()) {
2187 parasail_sg_qb_de_stats_table_diag_64_pointer = parasail_sg_qb_de_stats_table_diag_neon_128_64;
2188 }
2189 else
2190 #endif
2191 {
2192 parasail_sg_qb_de_stats_table_diag_64_pointer = parasail_sg_qb_de;
2193 }
2194 return parasail_sg_qb_de_stats_table_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2195 }
2196
2197 parasail_result_t* parasail_sg_qb_de_stats_table_diag_32_dispatcher(
2198 const char * const restrict s1, const int s1Len,
2199 const char * const restrict s2, const int s2Len,
2200 const int open, const int gap,
2201 const parasail_matrix_t *matrix)
2202 {
2203 #if HAVE_AVX2
2204 if (parasail_can_use_avx2()) {
2205 parasail_sg_qb_de_stats_table_diag_32_pointer = parasail_sg_qb_de_stats_table_diag_avx2_256_32;
2206 }
2207 else
2208 #endif
2209 #if HAVE_SSE41
2210 if (parasail_can_use_sse41()) {
2211 parasail_sg_qb_de_stats_table_diag_32_pointer = parasail_sg_qb_de_stats_table_diag_sse41_128_32;
2212 }
2213 else
2214 #endif
2215 #if HAVE_SSE2
2216 if (parasail_can_use_sse2()) {
2217 parasail_sg_qb_de_stats_table_diag_32_pointer = parasail_sg_qb_de_stats_table_diag_sse2_128_32;
2218 }
2219 else
2220 #endif
2221 #if HAVE_ALTIVEC
2222 if (parasail_can_use_altivec()) {
2223 parasail_sg_qb_de_stats_table_diag_32_pointer = parasail_sg_qb_de_stats_table_diag_altivec_128_32;
2224 }
2225 else
2226 #endif
2227 #if HAVE_NEON
2228 if (parasail_can_use_neon()) {
2229 parasail_sg_qb_de_stats_table_diag_32_pointer = parasail_sg_qb_de_stats_table_diag_neon_128_32;
2230 }
2231 else
2232 #endif
2233 {
2234 parasail_sg_qb_de_stats_table_diag_32_pointer = parasail_sg_qb_de;
2235 }
2236 return parasail_sg_qb_de_stats_table_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2237 }
2238
2239 parasail_result_t* parasail_sg_qb_de_stats_table_diag_16_dispatcher(
2240 const char * const restrict s1, const int s1Len,
2241 const char * const restrict s2, const int s2Len,
2242 const int open, const int gap,
2243 const parasail_matrix_t *matrix)
2244 {
2245 #if HAVE_AVX2
2246 if (parasail_can_use_avx2()) {
2247 parasail_sg_qb_de_stats_table_diag_16_pointer = parasail_sg_qb_de_stats_table_diag_avx2_256_16;
2248 }
2249 else
2250 #endif
2251 #if HAVE_SSE41
2252 if (parasail_can_use_sse41()) {
2253 parasail_sg_qb_de_stats_table_diag_16_pointer = parasail_sg_qb_de_stats_table_diag_sse41_128_16;
2254 }
2255 else
2256 #endif
2257 #if HAVE_SSE2
2258 if (parasail_can_use_sse2()) {
2259 parasail_sg_qb_de_stats_table_diag_16_pointer = parasail_sg_qb_de_stats_table_diag_sse2_128_16;
2260 }
2261 else
2262 #endif
2263 #if HAVE_ALTIVEC
2264 if (parasail_can_use_altivec()) {
2265 parasail_sg_qb_de_stats_table_diag_16_pointer = parasail_sg_qb_de_stats_table_diag_altivec_128_16;
2266 }
2267 else
2268 #endif
2269 #if HAVE_NEON
2270 if (parasail_can_use_neon()) {
2271 parasail_sg_qb_de_stats_table_diag_16_pointer = parasail_sg_qb_de_stats_table_diag_neon_128_16;
2272 }
2273 else
2274 #endif
2275 {
2276 parasail_sg_qb_de_stats_table_diag_16_pointer = parasail_sg_qb_de;
2277 }
2278 return parasail_sg_qb_de_stats_table_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2279 }
2280
2281 parasail_result_t* parasail_sg_qb_de_stats_table_diag_8_dispatcher(
2282 const char * const restrict s1, const int s1Len,
2283 const char * const restrict s2, const int s2Len,
2284 const int open, const int gap,
2285 const parasail_matrix_t *matrix)
2286 {
2287 #if HAVE_AVX2
2288 if (parasail_can_use_avx2()) {
2289 parasail_sg_qb_de_stats_table_diag_8_pointer = parasail_sg_qb_de_stats_table_diag_avx2_256_8;
2290 }
2291 else
2292 #endif
2293 #if HAVE_SSE41
2294 if (parasail_can_use_sse41()) {
2295 parasail_sg_qb_de_stats_table_diag_8_pointer = parasail_sg_qb_de_stats_table_diag_sse41_128_8;
2296 }
2297 else
2298 #endif
2299 #if HAVE_SSE2
2300 if (parasail_can_use_sse2()) {
2301 parasail_sg_qb_de_stats_table_diag_8_pointer = parasail_sg_qb_de_stats_table_diag_sse2_128_8;
2302 }
2303 else
2304 #endif
2305 #if HAVE_ALTIVEC
2306 if (parasail_can_use_altivec()) {
2307 parasail_sg_qb_de_stats_table_diag_8_pointer = parasail_sg_qb_de_stats_table_diag_altivec_128_8;
2308 }
2309 else
2310 #endif
2311 #if HAVE_NEON
2312 if (parasail_can_use_neon()) {
2313 parasail_sg_qb_de_stats_table_diag_8_pointer = parasail_sg_qb_de_stats_table_diag_neon_128_8;
2314 }
2315 else
2316 #endif
2317 {
2318 parasail_sg_qb_de_stats_table_diag_8_pointer = parasail_sg_qb_de;
2319 }
2320 return parasail_sg_qb_de_stats_table_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2321 }
2322
2323 parasail_result_t* parasail_sg_qb_de_rowcol_scan_64_dispatcher(
2324 const char * const restrict s1, const int s1Len,
2325 const char * const restrict s2, const int s2Len,
2326 const int open, const int gap,
2327 const parasail_matrix_t *matrix)
2328 {
2329 #if HAVE_AVX2
2330 if (parasail_can_use_avx2()) {
2331 parasail_sg_qb_de_rowcol_scan_64_pointer = parasail_sg_qb_de_rowcol_scan_avx2_256_64;
2332 }
2333 else
2334 #endif
2335 #if HAVE_SSE41
2336 if (parasail_can_use_sse41()) {
2337 parasail_sg_qb_de_rowcol_scan_64_pointer = parasail_sg_qb_de_rowcol_scan_sse41_128_64;
2338 }
2339 else
2340 #endif
2341 #if HAVE_SSE2
2342 if (parasail_can_use_sse2()) {
2343 parasail_sg_qb_de_rowcol_scan_64_pointer = parasail_sg_qb_de_rowcol_scan_sse2_128_64;
2344 }
2345 else
2346 #endif
2347 #if HAVE_ALTIVEC
2348 if (parasail_can_use_altivec()) {
2349 parasail_sg_qb_de_rowcol_scan_64_pointer = parasail_sg_qb_de_rowcol_scan_altivec_128_64;
2350 }
2351 else
2352 #endif
2353 #if HAVE_NEON
2354 if (parasail_can_use_neon()) {
2355 parasail_sg_qb_de_rowcol_scan_64_pointer = parasail_sg_qb_de_rowcol_scan_neon_128_64;
2356 }
2357 else
2358 #endif
2359 {
2360 parasail_sg_qb_de_rowcol_scan_64_pointer = parasail_sg_qb_de_scan;
2361 }
2362 return parasail_sg_qb_de_rowcol_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2363 }
2364
2365 parasail_result_t* parasail_sg_qb_de_rowcol_scan_32_dispatcher(
2366 const char * const restrict s1, const int s1Len,
2367 const char * const restrict s2, const int s2Len,
2368 const int open, const int gap,
2369 const parasail_matrix_t *matrix)
2370 {
2371 #if HAVE_AVX2
2372 if (parasail_can_use_avx2()) {
2373 parasail_sg_qb_de_rowcol_scan_32_pointer = parasail_sg_qb_de_rowcol_scan_avx2_256_32;
2374 }
2375 else
2376 #endif
2377 #if HAVE_SSE41
2378 if (parasail_can_use_sse41()) {
2379 parasail_sg_qb_de_rowcol_scan_32_pointer = parasail_sg_qb_de_rowcol_scan_sse41_128_32;
2380 }
2381 else
2382 #endif
2383 #if HAVE_SSE2
2384 if (parasail_can_use_sse2()) {
2385 parasail_sg_qb_de_rowcol_scan_32_pointer = parasail_sg_qb_de_rowcol_scan_sse2_128_32;
2386 }
2387 else
2388 #endif
2389 #if HAVE_ALTIVEC
2390 if (parasail_can_use_altivec()) {
2391 parasail_sg_qb_de_rowcol_scan_32_pointer = parasail_sg_qb_de_rowcol_scan_altivec_128_32;
2392 }
2393 else
2394 #endif
2395 #if HAVE_NEON
2396 if (parasail_can_use_neon()) {
2397 parasail_sg_qb_de_rowcol_scan_32_pointer = parasail_sg_qb_de_rowcol_scan_neon_128_32;
2398 }
2399 else
2400 #endif
2401 {
2402 parasail_sg_qb_de_rowcol_scan_32_pointer = parasail_sg_qb_de_scan;
2403 }
2404 return parasail_sg_qb_de_rowcol_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2405 }
2406
2407 parasail_result_t* parasail_sg_qb_de_rowcol_scan_16_dispatcher(
2408 const char * const restrict s1, const int s1Len,
2409 const char * const restrict s2, const int s2Len,
2410 const int open, const int gap,
2411 const parasail_matrix_t *matrix)
2412 {
2413 #if HAVE_AVX2
2414 if (parasail_can_use_avx2()) {
2415 parasail_sg_qb_de_rowcol_scan_16_pointer = parasail_sg_qb_de_rowcol_scan_avx2_256_16;
2416 }
2417 else
2418 #endif
2419 #if HAVE_SSE41
2420 if (parasail_can_use_sse41()) {
2421 parasail_sg_qb_de_rowcol_scan_16_pointer = parasail_sg_qb_de_rowcol_scan_sse41_128_16;
2422 }
2423 else
2424 #endif
2425 #if HAVE_SSE2
2426 if (parasail_can_use_sse2()) {
2427 parasail_sg_qb_de_rowcol_scan_16_pointer = parasail_sg_qb_de_rowcol_scan_sse2_128_16;
2428 }
2429 else
2430 #endif
2431 #if HAVE_ALTIVEC
2432 if (parasail_can_use_altivec()) {
2433 parasail_sg_qb_de_rowcol_scan_16_pointer = parasail_sg_qb_de_rowcol_scan_altivec_128_16;
2434 }
2435 else
2436 #endif
2437 #if HAVE_NEON
2438 if (parasail_can_use_neon()) {
2439 parasail_sg_qb_de_rowcol_scan_16_pointer = parasail_sg_qb_de_rowcol_scan_neon_128_16;
2440 }
2441 else
2442 #endif
2443 {
2444 parasail_sg_qb_de_rowcol_scan_16_pointer = parasail_sg_qb_de_scan;
2445 }
2446 return parasail_sg_qb_de_rowcol_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2447 }
2448
2449 parasail_result_t* parasail_sg_qb_de_rowcol_scan_8_dispatcher(
2450 const char * const restrict s1, const int s1Len,
2451 const char * const restrict s2, const int s2Len,
2452 const int open, const int gap,
2453 const parasail_matrix_t *matrix)
2454 {
2455 #if HAVE_AVX2
2456 if (parasail_can_use_avx2()) {
2457 parasail_sg_qb_de_rowcol_scan_8_pointer = parasail_sg_qb_de_rowcol_scan_avx2_256_8;
2458 }
2459 else
2460 #endif
2461 #if HAVE_SSE41
2462 if (parasail_can_use_sse41()) {
2463 parasail_sg_qb_de_rowcol_scan_8_pointer = parasail_sg_qb_de_rowcol_scan_sse41_128_8;
2464 }
2465 else
2466 #endif
2467 #if HAVE_SSE2
2468 if (parasail_can_use_sse2()) {
2469 parasail_sg_qb_de_rowcol_scan_8_pointer = parasail_sg_qb_de_rowcol_scan_sse2_128_8;
2470 }
2471 else
2472 #endif
2473 #if HAVE_ALTIVEC
2474 if (parasail_can_use_altivec()) {
2475 parasail_sg_qb_de_rowcol_scan_8_pointer = parasail_sg_qb_de_rowcol_scan_altivec_128_8;
2476 }
2477 else
2478 #endif
2479 #if HAVE_NEON
2480 if (parasail_can_use_neon()) {
2481 parasail_sg_qb_de_rowcol_scan_8_pointer = parasail_sg_qb_de_rowcol_scan_neon_128_8;
2482 }
2483 else
2484 #endif
2485 {
2486 parasail_sg_qb_de_rowcol_scan_8_pointer = parasail_sg_qb_de_scan;
2487 }
2488 return parasail_sg_qb_de_rowcol_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2489 }
2490
2491 parasail_result_t* parasail_sg_qb_de_rowcol_striped_64_dispatcher(
2492 const char * const restrict s1, const int s1Len,
2493 const char * const restrict s2, const int s2Len,
2494 const int open, const int gap,
2495 const parasail_matrix_t *matrix)
2496 {
2497 #if HAVE_AVX2
2498 if (parasail_can_use_avx2()) {
2499 parasail_sg_qb_de_rowcol_striped_64_pointer = parasail_sg_qb_de_rowcol_striped_avx2_256_64;
2500 }
2501 else
2502 #endif
2503 #if HAVE_SSE41
2504 if (parasail_can_use_sse41()) {
2505 parasail_sg_qb_de_rowcol_striped_64_pointer = parasail_sg_qb_de_rowcol_striped_sse41_128_64;
2506 }
2507 else
2508 #endif
2509 #if HAVE_SSE2
2510 if (parasail_can_use_sse2()) {
2511 parasail_sg_qb_de_rowcol_striped_64_pointer = parasail_sg_qb_de_rowcol_striped_sse2_128_64;
2512 }
2513 else
2514 #endif
2515 #if HAVE_ALTIVEC
2516 if (parasail_can_use_altivec()) {
2517 parasail_sg_qb_de_rowcol_striped_64_pointer = parasail_sg_qb_de_rowcol_striped_altivec_128_64;
2518 }
2519 else
2520 #endif
2521 #if HAVE_NEON
2522 if (parasail_can_use_neon()) {
2523 parasail_sg_qb_de_rowcol_striped_64_pointer = parasail_sg_qb_de_rowcol_striped_neon_128_64;
2524 }
2525 else
2526 #endif
2527 {
2528 parasail_sg_qb_de_rowcol_striped_64_pointer = parasail_sg_qb_de;
2529 }
2530 return parasail_sg_qb_de_rowcol_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2531 }
2532
2533 parasail_result_t* parasail_sg_qb_de_rowcol_striped_32_dispatcher(
2534 const char * const restrict s1, const int s1Len,
2535 const char * const restrict s2, const int s2Len,
2536 const int open, const int gap,
2537 const parasail_matrix_t *matrix)
2538 {
2539 #if HAVE_AVX2
2540 if (parasail_can_use_avx2()) {
2541 parasail_sg_qb_de_rowcol_striped_32_pointer = parasail_sg_qb_de_rowcol_striped_avx2_256_32;
2542 }
2543 else
2544 #endif
2545 #if HAVE_SSE41
2546 if (parasail_can_use_sse41()) {
2547 parasail_sg_qb_de_rowcol_striped_32_pointer = parasail_sg_qb_de_rowcol_striped_sse41_128_32;
2548 }
2549 else
2550 #endif
2551 #if HAVE_SSE2
2552 if (parasail_can_use_sse2()) {
2553 parasail_sg_qb_de_rowcol_striped_32_pointer = parasail_sg_qb_de_rowcol_striped_sse2_128_32;
2554 }
2555 else
2556 #endif
2557 #if HAVE_ALTIVEC
2558 if (parasail_can_use_altivec()) {
2559 parasail_sg_qb_de_rowcol_striped_32_pointer = parasail_sg_qb_de_rowcol_striped_altivec_128_32;
2560 }
2561 else
2562 #endif
2563 #if HAVE_NEON
2564 if (parasail_can_use_neon()) {
2565 parasail_sg_qb_de_rowcol_striped_32_pointer = parasail_sg_qb_de_rowcol_striped_neon_128_32;
2566 }
2567 else
2568 #endif
2569 {
2570 parasail_sg_qb_de_rowcol_striped_32_pointer = parasail_sg_qb_de;
2571 }
2572 return parasail_sg_qb_de_rowcol_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2573 }
2574
2575 parasail_result_t* parasail_sg_qb_de_rowcol_striped_16_dispatcher(
2576 const char * const restrict s1, const int s1Len,
2577 const char * const restrict s2, const int s2Len,
2578 const int open, const int gap,
2579 const parasail_matrix_t *matrix)
2580 {
2581 #if HAVE_AVX2
2582 if (parasail_can_use_avx2()) {
2583 parasail_sg_qb_de_rowcol_striped_16_pointer = parasail_sg_qb_de_rowcol_striped_avx2_256_16;
2584 }
2585 else
2586 #endif
2587 #if HAVE_SSE41
2588 if (parasail_can_use_sse41()) {
2589 parasail_sg_qb_de_rowcol_striped_16_pointer = parasail_sg_qb_de_rowcol_striped_sse41_128_16;
2590 }
2591 else
2592 #endif
2593 #if HAVE_SSE2
2594 if (parasail_can_use_sse2()) {
2595 parasail_sg_qb_de_rowcol_striped_16_pointer = parasail_sg_qb_de_rowcol_striped_sse2_128_16;
2596 }
2597 else
2598 #endif
2599 #if HAVE_ALTIVEC
2600 if (parasail_can_use_altivec()) {
2601 parasail_sg_qb_de_rowcol_striped_16_pointer = parasail_sg_qb_de_rowcol_striped_altivec_128_16;
2602 }
2603 else
2604 #endif
2605 #if HAVE_NEON
2606 if (parasail_can_use_neon()) {
2607 parasail_sg_qb_de_rowcol_striped_16_pointer = parasail_sg_qb_de_rowcol_striped_neon_128_16;
2608 }
2609 else
2610 #endif
2611 {
2612 parasail_sg_qb_de_rowcol_striped_16_pointer = parasail_sg_qb_de;
2613 }
2614 return parasail_sg_qb_de_rowcol_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2615 }
2616
2617 parasail_result_t* parasail_sg_qb_de_rowcol_striped_8_dispatcher(
2618 const char * const restrict s1, const int s1Len,
2619 const char * const restrict s2, const int s2Len,
2620 const int open, const int gap,
2621 const parasail_matrix_t *matrix)
2622 {
2623 #if HAVE_AVX2
2624 if (parasail_can_use_avx2()) {
2625 parasail_sg_qb_de_rowcol_striped_8_pointer = parasail_sg_qb_de_rowcol_striped_avx2_256_8;
2626 }
2627 else
2628 #endif
2629 #if HAVE_SSE41
2630 if (parasail_can_use_sse41()) {
2631 parasail_sg_qb_de_rowcol_striped_8_pointer = parasail_sg_qb_de_rowcol_striped_sse41_128_8;
2632 }
2633 else
2634 #endif
2635 #if HAVE_SSE2
2636 if (parasail_can_use_sse2()) {
2637 parasail_sg_qb_de_rowcol_striped_8_pointer = parasail_sg_qb_de_rowcol_striped_sse2_128_8;
2638 }
2639 else
2640 #endif
2641 #if HAVE_ALTIVEC
2642 if (parasail_can_use_altivec()) {
2643 parasail_sg_qb_de_rowcol_striped_8_pointer = parasail_sg_qb_de_rowcol_striped_altivec_128_8;
2644 }
2645 else
2646 #endif
2647 #if HAVE_NEON
2648 if (parasail_can_use_neon()) {
2649 parasail_sg_qb_de_rowcol_striped_8_pointer = parasail_sg_qb_de_rowcol_striped_neon_128_8;
2650 }
2651 else
2652 #endif
2653 {
2654 parasail_sg_qb_de_rowcol_striped_8_pointer = parasail_sg_qb_de;
2655 }
2656 return parasail_sg_qb_de_rowcol_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2657 }
2658
2659 parasail_result_t* parasail_sg_qb_de_rowcol_diag_64_dispatcher(
2660 const char * const restrict s1, const int s1Len,
2661 const char * const restrict s2, const int s2Len,
2662 const int open, const int gap,
2663 const parasail_matrix_t *matrix)
2664 {
2665 #if HAVE_AVX2
2666 if (parasail_can_use_avx2()) {
2667 parasail_sg_qb_de_rowcol_diag_64_pointer = parasail_sg_qb_de_rowcol_diag_avx2_256_64;
2668 }
2669 else
2670 #endif
2671 #if HAVE_SSE41
2672 if (parasail_can_use_sse41()) {
2673 parasail_sg_qb_de_rowcol_diag_64_pointer = parasail_sg_qb_de_rowcol_diag_sse41_128_64;
2674 }
2675 else
2676 #endif
2677 #if HAVE_SSE2
2678 if (parasail_can_use_sse2()) {
2679 parasail_sg_qb_de_rowcol_diag_64_pointer = parasail_sg_qb_de_rowcol_diag_sse2_128_64;
2680 }
2681 else
2682 #endif
2683 #if HAVE_ALTIVEC
2684 if (parasail_can_use_altivec()) {
2685 parasail_sg_qb_de_rowcol_diag_64_pointer = parasail_sg_qb_de_rowcol_diag_altivec_128_64;
2686 }
2687 else
2688 #endif
2689 #if HAVE_NEON
2690 if (parasail_can_use_neon()) {
2691 parasail_sg_qb_de_rowcol_diag_64_pointer = parasail_sg_qb_de_rowcol_diag_neon_128_64;
2692 }
2693 else
2694 #endif
2695 {
2696 parasail_sg_qb_de_rowcol_diag_64_pointer = parasail_sg_qb_de;
2697 }
2698 return parasail_sg_qb_de_rowcol_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2699 }
2700
2701 parasail_result_t* parasail_sg_qb_de_rowcol_diag_32_dispatcher(
2702 const char * const restrict s1, const int s1Len,
2703 const char * const restrict s2, const int s2Len,
2704 const int open, const int gap,
2705 const parasail_matrix_t *matrix)
2706 {
2707 #if HAVE_AVX2
2708 if (parasail_can_use_avx2()) {
2709 parasail_sg_qb_de_rowcol_diag_32_pointer = parasail_sg_qb_de_rowcol_diag_avx2_256_32;
2710 }
2711 else
2712 #endif
2713 #if HAVE_SSE41
2714 if (parasail_can_use_sse41()) {
2715 parasail_sg_qb_de_rowcol_diag_32_pointer = parasail_sg_qb_de_rowcol_diag_sse41_128_32;
2716 }
2717 else
2718 #endif
2719 #if HAVE_SSE2
2720 if (parasail_can_use_sse2()) {
2721 parasail_sg_qb_de_rowcol_diag_32_pointer = parasail_sg_qb_de_rowcol_diag_sse2_128_32;
2722 }
2723 else
2724 #endif
2725 #if HAVE_ALTIVEC
2726 if (parasail_can_use_altivec()) {
2727 parasail_sg_qb_de_rowcol_diag_32_pointer = parasail_sg_qb_de_rowcol_diag_altivec_128_32;
2728 }
2729 else
2730 #endif
2731 #if HAVE_NEON
2732 if (parasail_can_use_neon()) {
2733 parasail_sg_qb_de_rowcol_diag_32_pointer = parasail_sg_qb_de_rowcol_diag_neon_128_32;
2734 }
2735 else
2736 #endif
2737 {
2738 parasail_sg_qb_de_rowcol_diag_32_pointer = parasail_sg_qb_de;
2739 }
2740 return parasail_sg_qb_de_rowcol_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2741 }
2742
2743 parasail_result_t* parasail_sg_qb_de_rowcol_diag_16_dispatcher(
2744 const char * const restrict s1, const int s1Len,
2745 const char * const restrict s2, const int s2Len,
2746 const int open, const int gap,
2747 const parasail_matrix_t *matrix)
2748 {
2749 #if HAVE_AVX2
2750 if (parasail_can_use_avx2()) {
2751 parasail_sg_qb_de_rowcol_diag_16_pointer = parasail_sg_qb_de_rowcol_diag_avx2_256_16;
2752 }
2753 else
2754 #endif
2755 #if HAVE_SSE41
2756 if (parasail_can_use_sse41()) {
2757 parasail_sg_qb_de_rowcol_diag_16_pointer = parasail_sg_qb_de_rowcol_diag_sse41_128_16;
2758 }
2759 else
2760 #endif
2761 #if HAVE_SSE2
2762 if (parasail_can_use_sse2()) {
2763 parasail_sg_qb_de_rowcol_diag_16_pointer = parasail_sg_qb_de_rowcol_diag_sse2_128_16;
2764 }
2765 else
2766 #endif
2767 #if HAVE_ALTIVEC
2768 if (parasail_can_use_altivec()) {
2769 parasail_sg_qb_de_rowcol_diag_16_pointer = parasail_sg_qb_de_rowcol_diag_altivec_128_16;
2770 }
2771 else
2772 #endif
2773 #if HAVE_NEON
2774 if (parasail_can_use_neon()) {
2775 parasail_sg_qb_de_rowcol_diag_16_pointer = parasail_sg_qb_de_rowcol_diag_neon_128_16;
2776 }
2777 else
2778 #endif
2779 {
2780 parasail_sg_qb_de_rowcol_diag_16_pointer = parasail_sg_qb_de;
2781 }
2782 return parasail_sg_qb_de_rowcol_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2783 }
2784
2785 parasail_result_t* parasail_sg_qb_de_rowcol_diag_8_dispatcher(
2786 const char * const restrict s1, const int s1Len,
2787 const char * const restrict s2, const int s2Len,
2788 const int open, const int gap,
2789 const parasail_matrix_t *matrix)
2790 {
2791 #if HAVE_AVX2
2792 if (parasail_can_use_avx2()) {
2793 parasail_sg_qb_de_rowcol_diag_8_pointer = parasail_sg_qb_de_rowcol_diag_avx2_256_8;
2794 }
2795 else
2796 #endif
2797 #if HAVE_SSE41
2798 if (parasail_can_use_sse41()) {
2799 parasail_sg_qb_de_rowcol_diag_8_pointer = parasail_sg_qb_de_rowcol_diag_sse41_128_8;
2800 }
2801 else
2802 #endif
2803 #if HAVE_SSE2
2804 if (parasail_can_use_sse2()) {
2805 parasail_sg_qb_de_rowcol_diag_8_pointer = parasail_sg_qb_de_rowcol_diag_sse2_128_8;
2806 }
2807 else
2808 #endif
2809 #if HAVE_ALTIVEC
2810 if (parasail_can_use_altivec()) {
2811 parasail_sg_qb_de_rowcol_diag_8_pointer = parasail_sg_qb_de_rowcol_diag_altivec_128_8;
2812 }
2813 else
2814 #endif
2815 #if HAVE_NEON
2816 if (parasail_can_use_neon()) {
2817 parasail_sg_qb_de_rowcol_diag_8_pointer = parasail_sg_qb_de_rowcol_diag_neon_128_8;
2818 }
2819 else
2820 #endif
2821 {
2822 parasail_sg_qb_de_rowcol_diag_8_pointer = parasail_sg_qb_de;
2823 }
2824 return parasail_sg_qb_de_rowcol_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2825 }
2826
2827 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_64_dispatcher(
2828 const char * const restrict s1, const int s1Len,
2829 const char * const restrict s2, const int s2Len,
2830 const int open, const int gap,
2831 const parasail_matrix_t *matrix)
2832 {
2833 #if HAVE_AVX2
2834 if (parasail_can_use_avx2()) {
2835 parasail_sg_qb_de_stats_rowcol_scan_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_avx2_256_64;
2836 }
2837 else
2838 #endif
2839 #if HAVE_SSE41
2840 if (parasail_can_use_sse41()) {
2841 parasail_sg_qb_de_stats_rowcol_scan_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_sse41_128_64;
2842 }
2843 else
2844 #endif
2845 #if HAVE_SSE2
2846 if (parasail_can_use_sse2()) {
2847 parasail_sg_qb_de_stats_rowcol_scan_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_sse2_128_64;
2848 }
2849 else
2850 #endif
2851 #if HAVE_ALTIVEC
2852 if (parasail_can_use_altivec()) {
2853 parasail_sg_qb_de_stats_rowcol_scan_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_altivec_128_64;
2854 }
2855 else
2856 #endif
2857 #if HAVE_NEON
2858 if (parasail_can_use_neon()) {
2859 parasail_sg_qb_de_stats_rowcol_scan_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_neon_128_64;
2860 }
2861 else
2862 #endif
2863 {
2864 parasail_sg_qb_de_stats_rowcol_scan_64_pointer = parasail_sg_qb_de_scan;
2865 }
2866 return parasail_sg_qb_de_stats_rowcol_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2867 }
2868
2869 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_32_dispatcher(
2870 const char * const restrict s1, const int s1Len,
2871 const char * const restrict s2, const int s2Len,
2872 const int open, const int gap,
2873 const parasail_matrix_t *matrix)
2874 {
2875 #if HAVE_AVX2
2876 if (parasail_can_use_avx2()) {
2877 parasail_sg_qb_de_stats_rowcol_scan_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_avx2_256_32;
2878 }
2879 else
2880 #endif
2881 #if HAVE_SSE41
2882 if (parasail_can_use_sse41()) {
2883 parasail_sg_qb_de_stats_rowcol_scan_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_sse41_128_32;
2884 }
2885 else
2886 #endif
2887 #if HAVE_SSE2
2888 if (parasail_can_use_sse2()) {
2889 parasail_sg_qb_de_stats_rowcol_scan_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_sse2_128_32;
2890 }
2891 else
2892 #endif
2893 #if HAVE_ALTIVEC
2894 if (parasail_can_use_altivec()) {
2895 parasail_sg_qb_de_stats_rowcol_scan_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_altivec_128_32;
2896 }
2897 else
2898 #endif
2899 #if HAVE_NEON
2900 if (parasail_can_use_neon()) {
2901 parasail_sg_qb_de_stats_rowcol_scan_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_neon_128_32;
2902 }
2903 else
2904 #endif
2905 {
2906 parasail_sg_qb_de_stats_rowcol_scan_32_pointer = parasail_sg_qb_de_scan;
2907 }
2908 return parasail_sg_qb_de_stats_rowcol_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2909 }
2910
2911 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_16_dispatcher(
2912 const char * const restrict s1, const int s1Len,
2913 const char * const restrict s2, const int s2Len,
2914 const int open, const int gap,
2915 const parasail_matrix_t *matrix)
2916 {
2917 #if HAVE_AVX2
2918 if (parasail_can_use_avx2()) {
2919 parasail_sg_qb_de_stats_rowcol_scan_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_avx2_256_16;
2920 }
2921 else
2922 #endif
2923 #if HAVE_SSE41
2924 if (parasail_can_use_sse41()) {
2925 parasail_sg_qb_de_stats_rowcol_scan_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_sse41_128_16;
2926 }
2927 else
2928 #endif
2929 #if HAVE_SSE2
2930 if (parasail_can_use_sse2()) {
2931 parasail_sg_qb_de_stats_rowcol_scan_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_sse2_128_16;
2932 }
2933 else
2934 #endif
2935 #if HAVE_ALTIVEC
2936 if (parasail_can_use_altivec()) {
2937 parasail_sg_qb_de_stats_rowcol_scan_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_altivec_128_16;
2938 }
2939 else
2940 #endif
2941 #if HAVE_NEON
2942 if (parasail_can_use_neon()) {
2943 parasail_sg_qb_de_stats_rowcol_scan_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_neon_128_16;
2944 }
2945 else
2946 #endif
2947 {
2948 parasail_sg_qb_de_stats_rowcol_scan_16_pointer = parasail_sg_qb_de_scan;
2949 }
2950 return parasail_sg_qb_de_stats_rowcol_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2951 }
2952
2953 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_8_dispatcher(
2954 const char * const restrict s1, const int s1Len,
2955 const char * const restrict s2, const int s2Len,
2956 const int open, const int gap,
2957 const parasail_matrix_t *matrix)
2958 {
2959 #if HAVE_AVX2
2960 if (parasail_can_use_avx2()) {
2961 parasail_sg_qb_de_stats_rowcol_scan_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_avx2_256_8;
2962 }
2963 else
2964 #endif
2965 #if HAVE_SSE41
2966 if (parasail_can_use_sse41()) {
2967 parasail_sg_qb_de_stats_rowcol_scan_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_sse41_128_8;
2968 }
2969 else
2970 #endif
2971 #if HAVE_SSE2
2972 if (parasail_can_use_sse2()) {
2973 parasail_sg_qb_de_stats_rowcol_scan_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_sse2_128_8;
2974 }
2975 else
2976 #endif
2977 #if HAVE_ALTIVEC
2978 if (parasail_can_use_altivec()) {
2979 parasail_sg_qb_de_stats_rowcol_scan_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_altivec_128_8;
2980 }
2981 else
2982 #endif
2983 #if HAVE_NEON
2984 if (parasail_can_use_neon()) {
2985 parasail_sg_qb_de_stats_rowcol_scan_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_neon_128_8;
2986 }
2987 else
2988 #endif
2989 {
2990 parasail_sg_qb_de_stats_rowcol_scan_8_pointer = parasail_sg_qb_de_scan;
2991 }
2992 return parasail_sg_qb_de_stats_rowcol_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
2993 }
2994
2995 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_64_dispatcher(
2996 const char * const restrict s1, const int s1Len,
2997 const char * const restrict s2, const int s2Len,
2998 const int open, const int gap,
2999 const parasail_matrix_t *matrix)
3000 {
3001 #if HAVE_AVX2
3002 if (parasail_can_use_avx2()) {
3003 parasail_sg_qb_de_stats_rowcol_striped_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_avx2_256_64;
3004 }
3005 else
3006 #endif
3007 #if HAVE_SSE41
3008 if (parasail_can_use_sse41()) {
3009 parasail_sg_qb_de_stats_rowcol_striped_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_sse41_128_64;
3010 }
3011 else
3012 #endif
3013 #if HAVE_SSE2
3014 if (parasail_can_use_sse2()) {
3015 parasail_sg_qb_de_stats_rowcol_striped_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_sse2_128_64;
3016 }
3017 else
3018 #endif
3019 #if HAVE_ALTIVEC
3020 if (parasail_can_use_altivec()) {
3021 parasail_sg_qb_de_stats_rowcol_striped_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_altivec_128_64;
3022 }
3023 else
3024 #endif
3025 #if HAVE_NEON
3026 if (parasail_can_use_neon()) {
3027 parasail_sg_qb_de_stats_rowcol_striped_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_neon_128_64;
3028 }
3029 else
3030 #endif
3031 {
3032 parasail_sg_qb_de_stats_rowcol_striped_64_pointer = parasail_sg_qb_de;
3033 }
3034 return parasail_sg_qb_de_stats_rowcol_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3035 }
3036
3037 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_32_dispatcher(
3038 const char * const restrict s1, const int s1Len,
3039 const char * const restrict s2, const int s2Len,
3040 const int open, const int gap,
3041 const parasail_matrix_t *matrix)
3042 {
3043 #if HAVE_AVX2
3044 if (parasail_can_use_avx2()) {
3045 parasail_sg_qb_de_stats_rowcol_striped_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_avx2_256_32;
3046 }
3047 else
3048 #endif
3049 #if HAVE_SSE41
3050 if (parasail_can_use_sse41()) {
3051 parasail_sg_qb_de_stats_rowcol_striped_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_sse41_128_32;
3052 }
3053 else
3054 #endif
3055 #if HAVE_SSE2
3056 if (parasail_can_use_sse2()) {
3057 parasail_sg_qb_de_stats_rowcol_striped_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_sse2_128_32;
3058 }
3059 else
3060 #endif
3061 #if HAVE_ALTIVEC
3062 if (parasail_can_use_altivec()) {
3063 parasail_sg_qb_de_stats_rowcol_striped_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_altivec_128_32;
3064 }
3065 else
3066 #endif
3067 #if HAVE_NEON
3068 if (parasail_can_use_neon()) {
3069 parasail_sg_qb_de_stats_rowcol_striped_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_neon_128_32;
3070 }
3071 else
3072 #endif
3073 {
3074 parasail_sg_qb_de_stats_rowcol_striped_32_pointer = parasail_sg_qb_de;
3075 }
3076 return parasail_sg_qb_de_stats_rowcol_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3077 }
3078
3079 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_16_dispatcher(
3080 const char * const restrict s1, const int s1Len,
3081 const char * const restrict s2, const int s2Len,
3082 const int open, const int gap,
3083 const parasail_matrix_t *matrix)
3084 {
3085 #if HAVE_AVX2
3086 if (parasail_can_use_avx2()) {
3087 parasail_sg_qb_de_stats_rowcol_striped_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_avx2_256_16;
3088 }
3089 else
3090 #endif
3091 #if HAVE_SSE41
3092 if (parasail_can_use_sse41()) {
3093 parasail_sg_qb_de_stats_rowcol_striped_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_sse41_128_16;
3094 }
3095 else
3096 #endif
3097 #if HAVE_SSE2
3098 if (parasail_can_use_sse2()) {
3099 parasail_sg_qb_de_stats_rowcol_striped_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_sse2_128_16;
3100 }
3101 else
3102 #endif
3103 #if HAVE_ALTIVEC
3104 if (parasail_can_use_altivec()) {
3105 parasail_sg_qb_de_stats_rowcol_striped_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_altivec_128_16;
3106 }
3107 else
3108 #endif
3109 #if HAVE_NEON
3110 if (parasail_can_use_neon()) {
3111 parasail_sg_qb_de_stats_rowcol_striped_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_neon_128_16;
3112 }
3113 else
3114 #endif
3115 {
3116 parasail_sg_qb_de_stats_rowcol_striped_16_pointer = parasail_sg_qb_de;
3117 }
3118 return parasail_sg_qb_de_stats_rowcol_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3119 }
3120
3121 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_8_dispatcher(
3122 const char * const restrict s1, const int s1Len,
3123 const char * const restrict s2, const int s2Len,
3124 const int open, const int gap,
3125 const parasail_matrix_t *matrix)
3126 {
3127 #if HAVE_AVX2
3128 if (parasail_can_use_avx2()) {
3129 parasail_sg_qb_de_stats_rowcol_striped_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_avx2_256_8;
3130 }
3131 else
3132 #endif
3133 #if HAVE_SSE41
3134 if (parasail_can_use_sse41()) {
3135 parasail_sg_qb_de_stats_rowcol_striped_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_sse41_128_8;
3136 }
3137 else
3138 #endif
3139 #if HAVE_SSE2
3140 if (parasail_can_use_sse2()) {
3141 parasail_sg_qb_de_stats_rowcol_striped_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_sse2_128_8;
3142 }
3143 else
3144 #endif
3145 #if HAVE_ALTIVEC
3146 if (parasail_can_use_altivec()) {
3147 parasail_sg_qb_de_stats_rowcol_striped_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_altivec_128_8;
3148 }
3149 else
3150 #endif
3151 #if HAVE_NEON
3152 if (parasail_can_use_neon()) {
3153 parasail_sg_qb_de_stats_rowcol_striped_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_neon_128_8;
3154 }
3155 else
3156 #endif
3157 {
3158 parasail_sg_qb_de_stats_rowcol_striped_8_pointer = parasail_sg_qb_de;
3159 }
3160 return parasail_sg_qb_de_stats_rowcol_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3161 }
3162
3163 parasail_result_t* parasail_sg_qb_de_stats_rowcol_diag_64_dispatcher(
3164 const char * const restrict s1, const int s1Len,
3165 const char * const restrict s2, const int s2Len,
3166 const int open, const int gap,
3167 const parasail_matrix_t *matrix)
3168 {
3169 #if HAVE_AVX2
3170 if (parasail_can_use_avx2()) {
3171 parasail_sg_qb_de_stats_rowcol_diag_64_pointer = parasail_sg_qb_de_stats_rowcol_diag_avx2_256_64;
3172 }
3173 else
3174 #endif
3175 #if HAVE_SSE41
3176 if (parasail_can_use_sse41()) {
3177 parasail_sg_qb_de_stats_rowcol_diag_64_pointer = parasail_sg_qb_de_stats_rowcol_diag_sse41_128_64;
3178 }
3179 else
3180 #endif
3181 #if HAVE_SSE2
3182 if (parasail_can_use_sse2()) {
3183 parasail_sg_qb_de_stats_rowcol_diag_64_pointer = parasail_sg_qb_de_stats_rowcol_diag_sse2_128_64;
3184 }
3185 else
3186 #endif
3187 #if HAVE_ALTIVEC
3188 if (parasail_can_use_altivec()) {
3189 parasail_sg_qb_de_stats_rowcol_diag_64_pointer = parasail_sg_qb_de_stats_rowcol_diag_altivec_128_64;
3190 }
3191 else
3192 #endif
3193 #if HAVE_NEON
3194 if (parasail_can_use_neon()) {
3195 parasail_sg_qb_de_stats_rowcol_diag_64_pointer = parasail_sg_qb_de_stats_rowcol_diag_neon_128_64;
3196 }
3197 else
3198 #endif
3199 {
3200 parasail_sg_qb_de_stats_rowcol_diag_64_pointer = parasail_sg_qb_de;
3201 }
3202 return parasail_sg_qb_de_stats_rowcol_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3203 }
3204
3205 parasail_result_t* parasail_sg_qb_de_stats_rowcol_diag_32_dispatcher(
3206 const char * const restrict s1, const int s1Len,
3207 const char * const restrict s2, const int s2Len,
3208 const int open, const int gap,
3209 const parasail_matrix_t *matrix)
3210 {
3211 #if HAVE_AVX2
3212 if (parasail_can_use_avx2()) {
3213 parasail_sg_qb_de_stats_rowcol_diag_32_pointer = parasail_sg_qb_de_stats_rowcol_diag_avx2_256_32;
3214 }
3215 else
3216 #endif
3217 #if HAVE_SSE41
3218 if (parasail_can_use_sse41()) {
3219 parasail_sg_qb_de_stats_rowcol_diag_32_pointer = parasail_sg_qb_de_stats_rowcol_diag_sse41_128_32;
3220 }
3221 else
3222 #endif
3223 #if HAVE_SSE2
3224 if (parasail_can_use_sse2()) {
3225 parasail_sg_qb_de_stats_rowcol_diag_32_pointer = parasail_sg_qb_de_stats_rowcol_diag_sse2_128_32;
3226 }
3227 else
3228 #endif
3229 #if HAVE_ALTIVEC
3230 if (parasail_can_use_altivec()) {
3231 parasail_sg_qb_de_stats_rowcol_diag_32_pointer = parasail_sg_qb_de_stats_rowcol_diag_altivec_128_32;
3232 }
3233 else
3234 #endif
3235 #if HAVE_NEON
3236 if (parasail_can_use_neon()) {
3237 parasail_sg_qb_de_stats_rowcol_diag_32_pointer = parasail_sg_qb_de_stats_rowcol_diag_neon_128_32;
3238 }
3239 else
3240 #endif
3241 {
3242 parasail_sg_qb_de_stats_rowcol_diag_32_pointer = parasail_sg_qb_de;
3243 }
3244 return parasail_sg_qb_de_stats_rowcol_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3245 }
3246
3247 parasail_result_t* parasail_sg_qb_de_stats_rowcol_diag_16_dispatcher(
3248 const char * const restrict s1, const int s1Len,
3249 const char * const restrict s2, const int s2Len,
3250 const int open, const int gap,
3251 const parasail_matrix_t *matrix)
3252 {
3253 #if HAVE_AVX2
3254 if (parasail_can_use_avx2()) {
3255 parasail_sg_qb_de_stats_rowcol_diag_16_pointer = parasail_sg_qb_de_stats_rowcol_diag_avx2_256_16;
3256 }
3257 else
3258 #endif
3259 #if HAVE_SSE41
3260 if (parasail_can_use_sse41()) {
3261 parasail_sg_qb_de_stats_rowcol_diag_16_pointer = parasail_sg_qb_de_stats_rowcol_diag_sse41_128_16;
3262 }
3263 else
3264 #endif
3265 #if HAVE_SSE2
3266 if (parasail_can_use_sse2()) {
3267 parasail_sg_qb_de_stats_rowcol_diag_16_pointer = parasail_sg_qb_de_stats_rowcol_diag_sse2_128_16;
3268 }
3269 else
3270 #endif
3271 #if HAVE_ALTIVEC
3272 if (parasail_can_use_altivec()) {
3273 parasail_sg_qb_de_stats_rowcol_diag_16_pointer = parasail_sg_qb_de_stats_rowcol_diag_altivec_128_16;
3274 }
3275 else
3276 #endif
3277 #if HAVE_NEON
3278 if (parasail_can_use_neon()) {
3279 parasail_sg_qb_de_stats_rowcol_diag_16_pointer = parasail_sg_qb_de_stats_rowcol_diag_neon_128_16;
3280 }
3281 else
3282 #endif
3283 {
3284 parasail_sg_qb_de_stats_rowcol_diag_16_pointer = parasail_sg_qb_de;
3285 }
3286 return parasail_sg_qb_de_stats_rowcol_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3287 }
3288
3289 parasail_result_t* parasail_sg_qb_de_stats_rowcol_diag_8_dispatcher(
3290 const char * const restrict s1, const int s1Len,
3291 const char * const restrict s2, const int s2Len,
3292 const int open, const int gap,
3293 const parasail_matrix_t *matrix)
3294 {
3295 #if HAVE_AVX2
3296 if (parasail_can_use_avx2()) {
3297 parasail_sg_qb_de_stats_rowcol_diag_8_pointer = parasail_sg_qb_de_stats_rowcol_diag_avx2_256_8;
3298 }
3299 else
3300 #endif
3301 #if HAVE_SSE41
3302 if (parasail_can_use_sse41()) {
3303 parasail_sg_qb_de_stats_rowcol_diag_8_pointer = parasail_sg_qb_de_stats_rowcol_diag_sse41_128_8;
3304 }
3305 else
3306 #endif
3307 #if HAVE_SSE2
3308 if (parasail_can_use_sse2()) {
3309 parasail_sg_qb_de_stats_rowcol_diag_8_pointer = parasail_sg_qb_de_stats_rowcol_diag_sse2_128_8;
3310 }
3311 else
3312 #endif
3313 #if HAVE_ALTIVEC
3314 if (parasail_can_use_altivec()) {
3315 parasail_sg_qb_de_stats_rowcol_diag_8_pointer = parasail_sg_qb_de_stats_rowcol_diag_altivec_128_8;
3316 }
3317 else
3318 #endif
3319 #if HAVE_NEON
3320 if (parasail_can_use_neon()) {
3321 parasail_sg_qb_de_stats_rowcol_diag_8_pointer = parasail_sg_qb_de_stats_rowcol_diag_neon_128_8;
3322 }
3323 else
3324 #endif
3325 {
3326 parasail_sg_qb_de_stats_rowcol_diag_8_pointer = parasail_sg_qb_de;
3327 }
3328 return parasail_sg_qb_de_stats_rowcol_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3329 }
3330
3331 parasail_result_t* parasail_sg_qb_de_trace_scan_64_dispatcher(
3332 const char * const restrict s1, const int s1Len,
3333 const char * const restrict s2, const int s2Len,
3334 const int open, const int gap,
3335 const parasail_matrix_t *matrix)
3336 {
3337 #if HAVE_AVX2
3338 if (parasail_can_use_avx2()) {
3339 parasail_sg_qb_de_trace_scan_64_pointer = parasail_sg_qb_de_trace_scan_avx2_256_64;
3340 }
3341 else
3342 #endif
3343 #if HAVE_SSE41
3344 if (parasail_can_use_sse41()) {
3345 parasail_sg_qb_de_trace_scan_64_pointer = parasail_sg_qb_de_trace_scan_sse41_128_64;
3346 }
3347 else
3348 #endif
3349 #if HAVE_SSE2
3350 if (parasail_can_use_sse2()) {
3351 parasail_sg_qb_de_trace_scan_64_pointer = parasail_sg_qb_de_trace_scan_sse2_128_64;
3352 }
3353 else
3354 #endif
3355 #if HAVE_ALTIVEC
3356 if (parasail_can_use_altivec()) {
3357 parasail_sg_qb_de_trace_scan_64_pointer = parasail_sg_qb_de_trace_scan_altivec_128_64;
3358 }
3359 else
3360 #endif
3361 #if HAVE_NEON
3362 if (parasail_can_use_neon()) {
3363 parasail_sg_qb_de_trace_scan_64_pointer = parasail_sg_qb_de_trace_scan_neon_128_64;
3364 }
3365 else
3366 #endif
3367 {
3368 parasail_sg_qb_de_trace_scan_64_pointer = parasail_sg_qb_de_scan;
3369 }
3370 return parasail_sg_qb_de_trace_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3371 }
3372
3373 parasail_result_t* parasail_sg_qb_de_trace_scan_32_dispatcher(
3374 const char * const restrict s1, const int s1Len,
3375 const char * const restrict s2, const int s2Len,
3376 const int open, const int gap,
3377 const parasail_matrix_t *matrix)
3378 {
3379 #if HAVE_AVX2
3380 if (parasail_can_use_avx2()) {
3381 parasail_sg_qb_de_trace_scan_32_pointer = parasail_sg_qb_de_trace_scan_avx2_256_32;
3382 }
3383 else
3384 #endif
3385 #if HAVE_SSE41
3386 if (parasail_can_use_sse41()) {
3387 parasail_sg_qb_de_trace_scan_32_pointer = parasail_sg_qb_de_trace_scan_sse41_128_32;
3388 }
3389 else
3390 #endif
3391 #if HAVE_SSE2
3392 if (parasail_can_use_sse2()) {
3393 parasail_sg_qb_de_trace_scan_32_pointer = parasail_sg_qb_de_trace_scan_sse2_128_32;
3394 }
3395 else
3396 #endif
3397 #if HAVE_ALTIVEC
3398 if (parasail_can_use_altivec()) {
3399 parasail_sg_qb_de_trace_scan_32_pointer = parasail_sg_qb_de_trace_scan_altivec_128_32;
3400 }
3401 else
3402 #endif
3403 #if HAVE_NEON
3404 if (parasail_can_use_neon()) {
3405 parasail_sg_qb_de_trace_scan_32_pointer = parasail_sg_qb_de_trace_scan_neon_128_32;
3406 }
3407 else
3408 #endif
3409 {
3410 parasail_sg_qb_de_trace_scan_32_pointer = parasail_sg_qb_de_scan;
3411 }
3412 return parasail_sg_qb_de_trace_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3413 }
3414
3415 parasail_result_t* parasail_sg_qb_de_trace_scan_16_dispatcher(
3416 const char * const restrict s1, const int s1Len,
3417 const char * const restrict s2, const int s2Len,
3418 const int open, const int gap,
3419 const parasail_matrix_t *matrix)
3420 {
3421 #if HAVE_AVX2
3422 if (parasail_can_use_avx2()) {
3423 parasail_sg_qb_de_trace_scan_16_pointer = parasail_sg_qb_de_trace_scan_avx2_256_16;
3424 }
3425 else
3426 #endif
3427 #if HAVE_SSE41
3428 if (parasail_can_use_sse41()) {
3429 parasail_sg_qb_de_trace_scan_16_pointer = parasail_sg_qb_de_trace_scan_sse41_128_16;
3430 }
3431 else
3432 #endif
3433 #if HAVE_SSE2
3434 if (parasail_can_use_sse2()) {
3435 parasail_sg_qb_de_trace_scan_16_pointer = parasail_sg_qb_de_trace_scan_sse2_128_16;
3436 }
3437 else
3438 #endif
3439 #if HAVE_ALTIVEC
3440 if (parasail_can_use_altivec()) {
3441 parasail_sg_qb_de_trace_scan_16_pointer = parasail_sg_qb_de_trace_scan_altivec_128_16;
3442 }
3443 else
3444 #endif
3445 #if HAVE_NEON
3446 if (parasail_can_use_neon()) {
3447 parasail_sg_qb_de_trace_scan_16_pointer = parasail_sg_qb_de_trace_scan_neon_128_16;
3448 }
3449 else
3450 #endif
3451 {
3452 parasail_sg_qb_de_trace_scan_16_pointer = parasail_sg_qb_de_scan;
3453 }
3454 return parasail_sg_qb_de_trace_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3455 }
3456
3457 parasail_result_t* parasail_sg_qb_de_trace_scan_8_dispatcher(
3458 const char * const restrict s1, const int s1Len,
3459 const char * const restrict s2, const int s2Len,
3460 const int open, const int gap,
3461 const parasail_matrix_t *matrix)
3462 {
3463 #if HAVE_AVX2
3464 if (parasail_can_use_avx2()) {
3465 parasail_sg_qb_de_trace_scan_8_pointer = parasail_sg_qb_de_trace_scan_avx2_256_8;
3466 }
3467 else
3468 #endif
3469 #if HAVE_SSE41
3470 if (parasail_can_use_sse41()) {
3471 parasail_sg_qb_de_trace_scan_8_pointer = parasail_sg_qb_de_trace_scan_sse41_128_8;
3472 }
3473 else
3474 #endif
3475 #if HAVE_SSE2
3476 if (parasail_can_use_sse2()) {
3477 parasail_sg_qb_de_trace_scan_8_pointer = parasail_sg_qb_de_trace_scan_sse2_128_8;
3478 }
3479 else
3480 #endif
3481 #if HAVE_ALTIVEC
3482 if (parasail_can_use_altivec()) {
3483 parasail_sg_qb_de_trace_scan_8_pointer = parasail_sg_qb_de_trace_scan_altivec_128_8;
3484 }
3485 else
3486 #endif
3487 #if HAVE_NEON
3488 if (parasail_can_use_neon()) {
3489 parasail_sg_qb_de_trace_scan_8_pointer = parasail_sg_qb_de_trace_scan_neon_128_8;
3490 }
3491 else
3492 #endif
3493 {
3494 parasail_sg_qb_de_trace_scan_8_pointer = parasail_sg_qb_de_scan;
3495 }
3496 return parasail_sg_qb_de_trace_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3497 }
3498
3499 parasail_result_t* parasail_sg_qb_de_trace_striped_64_dispatcher(
3500 const char * const restrict s1, const int s1Len,
3501 const char * const restrict s2, const int s2Len,
3502 const int open, const int gap,
3503 const parasail_matrix_t *matrix)
3504 {
3505 #if HAVE_AVX2
3506 if (parasail_can_use_avx2()) {
3507 parasail_sg_qb_de_trace_striped_64_pointer = parasail_sg_qb_de_trace_striped_avx2_256_64;
3508 }
3509 else
3510 #endif
3511 #if HAVE_SSE41
3512 if (parasail_can_use_sse41()) {
3513 parasail_sg_qb_de_trace_striped_64_pointer = parasail_sg_qb_de_trace_striped_sse41_128_64;
3514 }
3515 else
3516 #endif
3517 #if HAVE_SSE2
3518 if (parasail_can_use_sse2()) {
3519 parasail_sg_qb_de_trace_striped_64_pointer = parasail_sg_qb_de_trace_striped_sse2_128_64;
3520 }
3521 else
3522 #endif
3523 #if HAVE_ALTIVEC
3524 if (parasail_can_use_altivec()) {
3525 parasail_sg_qb_de_trace_striped_64_pointer = parasail_sg_qb_de_trace_striped_altivec_128_64;
3526 }
3527 else
3528 #endif
3529 #if HAVE_NEON
3530 if (parasail_can_use_neon()) {
3531 parasail_sg_qb_de_trace_striped_64_pointer = parasail_sg_qb_de_trace_striped_neon_128_64;
3532 }
3533 else
3534 #endif
3535 {
3536 parasail_sg_qb_de_trace_striped_64_pointer = parasail_sg_qb_de;
3537 }
3538 return parasail_sg_qb_de_trace_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3539 }
3540 #endif
3541
parasail_sg_qb_de_trace_striped_32_dispatcher(const char * const restrict s1,const int s1Len,const char * const restrict s2,const int s2Len,const int open,const int gap,const parasail_matrix_t * matrix)3542 parasail_result_t* parasail_sg_qb_de_trace_striped_32_dispatcher(
3543 const char * const restrict s1, const int s1Len,
3544 const char * const restrict s2, const int s2Len,
3545 const int open, const int gap,
3546 const parasail_matrix_t *matrix)
3547 {
3548 #if HAVE_AVX2
3549 if (parasail_can_use_avx2()) {
3550 parasail_sg_qb_de_trace_striped_32_pointer = parasail_sg_qb_de_trace_striped_avx2_256_32;
3551 }
3552 else
3553 #endif
3554 #if HAVE_SSE41
3555 if (parasail_can_use_sse41()) {
3556 parasail_sg_qb_de_trace_striped_32_pointer = parasail_sg_qb_de_trace_striped_sse41_128_32;
3557 }
3558 else
3559 #endif
3560 #if HAVE_SSE2
3561 if (parasail_can_use_sse2()) {
3562 parasail_sg_qb_de_trace_striped_32_pointer = parasail_sg_qb_de_trace_striped_sse2_128_32;
3563 }
3564 else
3565 #endif
3566 #if HAVE_ALTIVEC
3567 if (parasail_can_use_altivec()) {
3568 parasail_sg_qb_de_trace_striped_32_pointer = parasail_sg_qb_de_trace_striped_altivec_128_32;
3569 }
3570 else
3571 #endif
3572 #if HAVE_NEON
3573 if (parasail_can_use_neon()) {
3574 parasail_sg_qb_de_trace_striped_32_pointer = parasail_sg_qb_de_trace_striped_neon_128_32;
3575 }
3576 else
3577 #endif
3578 {
3579 parasail_sg_qb_de_trace_striped_32_pointer = parasail_sg_qb_de;
3580 }
3581 return parasail_sg_qb_de_trace_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3582 }
3583
parasail_sg_qb_de_trace_striped_16_dispatcher(const char * const restrict s1,const int s1Len,const char * const restrict s2,const int s2Len,const int open,const int gap,const parasail_matrix_t * matrix)3584 parasail_result_t* parasail_sg_qb_de_trace_striped_16_dispatcher(
3585 const char * const restrict s1, const int s1Len,
3586 const char * const restrict s2, const int s2Len,
3587 const int open, const int gap,
3588 const parasail_matrix_t *matrix)
3589 {
3590 #if HAVE_AVX2
3591 if (parasail_can_use_avx2()) {
3592 parasail_sg_qb_de_trace_striped_16_pointer = parasail_sg_qb_de_trace_striped_avx2_256_16;
3593 }
3594 else
3595 #endif
3596 #if HAVE_SSE41
3597 if (parasail_can_use_sse41()) {
3598 parasail_sg_qb_de_trace_striped_16_pointer = parasail_sg_qb_de_trace_striped_sse41_128_16;
3599 }
3600 else
3601 #endif
3602 #if HAVE_SSE2
3603 if (parasail_can_use_sse2()) {
3604 parasail_sg_qb_de_trace_striped_16_pointer = parasail_sg_qb_de_trace_striped_sse2_128_16;
3605 }
3606 else
3607 #endif
3608 #if HAVE_ALTIVEC
3609 if (parasail_can_use_altivec()) {
3610 parasail_sg_qb_de_trace_striped_16_pointer = parasail_sg_qb_de_trace_striped_altivec_128_16;
3611 }
3612 else
3613 #endif
3614 #if HAVE_NEON
3615 if (parasail_can_use_neon()) {
3616 parasail_sg_qb_de_trace_striped_16_pointer = parasail_sg_qb_de_trace_striped_neon_128_16;
3617 }
3618 else
3619 #endif
3620 {
3621 parasail_sg_qb_de_trace_striped_16_pointer = parasail_sg_qb_de;
3622 }
3623 return parasail_sg_qb_de_trace_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3624 }
3625
3626 #if 0
3627 parasail_result_t* parasail_sg_qb_de_trace_striped_8_dispatcher(
3628 const char * const restrict s1, const int s1Len,
3629 const char * const restrict s2, const int s2Len,
3630 const int open, const int gap,
3631 const parasail_matrix_t *matrix)
3632 {
3633 #if HAVE_AVX2
3634 if (parasail_can_use_avx2()) {
3635 parasail_sg_qb_de_trace_striped_8_pointer = parasail_sg_qb_de_trace_striped_avx2_256_8;
3636 }
3637 else
3638 #endif
3639 #if HAVE_SSE41
3640 if (parasail_can_use_sse41()) {
3641 parasail_sg_qb_de_trace_striped_8_pointer = parasail_sg_qb_de_trace_striped_sse41_128_8;
3642 }
3643 else
3644 #endif
3645 #if HAVE_SSE2
3646 if (parasail_can_use_sse2()) {
3647 parasail_sg_qb_de_trace_striped_8_pointer = parasail_sg_qb_de_trace_striped_sse2_128_8;
3648 }
3649 else
3650 #endif
3651 #if HAVE_ALTIVEC
3652 if (parasail_can_use_altivec()) {
3653 parasail_sg_qb_de_trace_striped_8_pointer = parasail_sg_qb_de_trace_striped_altivec_128_8;
3654 }
3655 else
3656 #endif
3657 #if HAVE_NEON
3658 if (parasail_can_use_neon()) {
3659 parasail_sg_qb_de_trace_striped_8_pointer = parasail_sg_qb_de_trace_striped_neon_128_8;
3660 }
3661 else
3662 #endif
3663 {
3664 parasail_sg_qb_de_trace_striped_8_pointer = parasail_sg_qb_de;
3665 }
3666 return parasail_sg_qb_de_trace_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3667 }
3668
3669 parasail_result_t* parasail_sg_qb_de_trace_diag_64_dispatcher(
3670 const char * const restrict s1, const int s1Len,
3671 const char * const restrict s2, const int s2Len,
3672 const int open, const int gap,
3673 const parasail_matrix_t *matrix)
3674 {
3675 #if HAVE_AVX2
3676 if (parasail_can_use_avx2()) {
3677 parasail_sg_qb_de_trace_diag_64_pointer = parasail_sg_qb_de_trace_diag_avx2_256_64;
3678 }
3679 else
3680 #endif
3681 #if HAVE_SSE41
3682 if (parasail_can_use_sse41()) {
3683 parasail_sg_qb_de_trace_diag_64_pointer = parasail_sg_qb_de_trace_diag_sse41_128_64;
3684 }
3685 else
3686 #endif
3687 #if HAVE_SSE2
3688 if (parasail_can_use_sse2()) {
3689 parasail_sg_qb_de_trace_diag_64_pointer = parasail_sg_qb_de_trace_diag_sse2_128_64;
3690 }
3691 else
3692 #endif
3693 #if HAVE_ALTIVEC
3694 if (parasail_can_use_altivec()) {
3695 parasail_sg_qb_de_trace_diag_64_pointer = parasail_sg_qb_de_trace_diag_altivec_128_64;
3696 }
3697 else
3698 #endif
3699 #if HAVE_NEON
3700 if (parasail_can_use_neon()) {
3701 parasail_sg_qb_de_trace_diag_64_pointer = parasail_sg_qb_de_trace_diag_neon_128_64;
3702 }
3703 else
3704 #endif
3705 {
3706 parasail_sg_qb_de_trace_diag_64_pointer = parasail_sg_qb_de;
3707 }
3708 return parasail_sg_qb_de_trace_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3709 }
3710
3711 parasail_result_t* parasail_sg_qb_de_trace_diag_32_dispatcher(
3712 const char * const restrict s1, const int s1Len,
3713 const char * const restrict s2, const int s2Len,
3714 const int open, const int gap,
3715 const parasail_matrix_t *matrix)
3716 {
3717 #if HAVE_AVX2
3718 if (parasail_can_use_avx2()) {
3719 parasail_sg_qb_de_trace_diag_32_pointer = parasail_sg_qb_de_trace_diag_avx2_256_32;
3720 }
3721 else
3722 #endif
3723 #if HAVE_SSE41
3724 if (parasail_can_use_sse41()) {
3725 parasail_sg_qb_de_trace_diag_32_pointer = parasail_sg_qb_de_trace_diag_sse41_128_32;
3726 }
3727 else
3728 #endif
3729 #if HAVE_SSE2
3730 if (parasail_can_use_sse2()) {
3731 parasail_sg_qb_de_trace_diag_32_pointer = parasail_sg_qb_de_trace_diag_sse2_128_32;
3732 }
3733 else
3734 #endif
3735 #if HAVE_ALTIVEC
3736 if (parasail_can_use_altivec()) {
3737 parasail_sg_qb_de_trace_diag_32_pointer = parasail_sg_qb_de_trace_diag_altivec_128_32;
3738 }
3739 else
3740 #endif
3741 #if HAVE_NEON
3742 if (parasail_can_use_neon()) {
3743 parasail_sg_qb_de_trace_diag_32_pointer = parasail_sg_qb_de_trace_diag_neon_128_32;
3744 }
3745 else
3746 #endif
3747 {
3748 parasail_sg_qb_de_trace_diag_32_pointer = parasail_sg_qb_de;
3749 }
3750 return parasail_sg_qb_de_trace_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3751 }
3752
3753 parasail_result_t* parasail_sg_qb_de_trace_diag_16_dispatcher(
3754 const char * const restrict s1, const int s1Len,
3755 const char * const restrict s2, const int s2Len,
3756 const int open, const int gap,
3757 const parasail_matrix_t *matrix)
3758 {
3759 #if HAVE_AVX2
3760 if (parasail_can_use_avx2()) {
3761 parasail_sg_qb_de_trace_diag_16_pointer = parasail_sg_qb_de_trace_diag_avx2_256_16;
3762 }
3763 else
3764 #endif
3765 #if HAVE_SSE41
3766 if (parasail_can_use_sse41()) {
3767 parasail_sg_qb_de_trace_diag_16_pointer = parasail_sg_qb_de_trace_diag_sse41_128_16;
3768 }
3769 else
3770 #endif
3771 #if HAVE_SSE2
3772 if (parasail_can_use_sse2()) {
3773 parasail_sg_qb_de_trace_diag_16_pointer = parasail_sg_qb_de_trace_diag_sse2_128_16;
3774 }
3775 else
3776 #endif
3777 #if HAVE_ALTIVEC
3778 if (parasail_can_use_altivec()) {
3779 parasail_sg_qb_de_trace_diag_16_pointer = parasail_sg_qb_de_trace_diag_altivec_128_16;
3780 }
3781 else
3782 #endif
3783 #if HAVE_NEON
3784 if (parasail_can_use_neon()) {
3785 parasail_sg_qb_de_trace_diag_16_pointer = parasail_sg_qb_de_trace_diag_neon_128_16;
3786 }
3787 else
3788 #endif
3789 {
3790 parasail_sg_qb_de_trace_diag_16_pointer = parasail_sg_qb_de;
3791 }
3792 return parasail_sg_qb_de_trace_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3793 }
3794
3795 parasail_result_t* parasail_sg_qb_de_trace_diag_8_dispatcher(
3796 const char * const restrict s1, const int s1Len,
3797 const char * const restrict s2, const int s2Len,
3798 const int open, const int gap,
3799 const parasail_matrix_t *matrix)
3800 {
3801 #if HAVE_AVX2
3802 if (parasail_can_use_avx2()) {
3803 parasail_sg_qb_de_trace_diag_8_pointer = parasail_sg_qb_de_trace_diag_avx2_256_8;
3804 }
3805 else
3806 #endif
3807 #if HAVE_SSE41
3808 if (parasail_can_use_sse41()) {
3809 parasail_sg_qb_de_trace_diag_8_pointer = parasail_sg_qb_de_trace_diag_sse41_128_8;
3810 }
3811 else
3812 #endif
3813 #if HAVE_SSE2
3814 if (parasail_can_use_sse2()) {
3815 parasail_sg_qb_de_trace_diag_8_pointer = parasail_sg_qb_de_trace_diag_sse2_128_8;
3816 }
3817 else
3818 #endif
3819 #if HAVE_ALTIVEC
3820 if (parasail_can_use_altivec()) {
3821 parasail_sg_qb_de_trace_diag_8_pointer = parasail_sg_qb_de_trace_diag_altivec_128_8;
3822 }
3823 else
3824 #endif
3825 #if HAVE_NEON
3826 if (parasail_can_use_neon()) {
3827 parasail_sg_qb_de_trace_diag_8_pointer = parasail_sg_qb_de_trace_diag_neon_128_8;
3828 }
3829 else
3830 #endif
3831 {
3832 parasail_sg_qb_de_trace_diag_8_pointer = parasail_sg_qb_de;
3833 }
3834 return parasail_sg_qb_de_trace_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
3835 }
3836
3837 parasail_result_t* parasail_sg_qb_de_scan_profile_64_dispatcher(
3838 const parasail_profile_t * const restrict profile,
3839 const char * const restrict s2, const int s2Len,
3840 const int open, const int gap)
3841 {
3842 #if HAVE_AVX2
3843 if (parasail_can_use_avx2()) {
3844 parasail_sg_qb_de_scan_profile_64_pointer = parasail_sg_qb_de_scan_profile_avx2_256_64;
3845 }
3846 else
3847 #endif
3848 #if HAVE_SSE41
3849 if (parasail_can_use_sse41()) {
3850 parasail_sg_qb_de_scan_profile_64_pointer = parasail_sg_qb_de_scan_profile_sse41_128_64;
3851 }
3852 else
3853 #endif
3854 #if HAVE_SSE2
3855 if (parasail_can_use_sse2()) {
3856 parasail_sg_qb_de_scan_profile_64_pointer = parasail_sg_qb_de_scan_profile_sse2_128_64;
3857 }
3858 else
3859 #endif
3860 #if HAVE_ALTIVEC
3861 if (parasail_can_use_altivec()) {
3862 parasail_sg_qb_de_scan_profile_64_pointer = parasail_sg_qb_de_scan_profile_altivec_128_64;
3863 }
3864 else
3865 #endif
3866 #if HAVE_NEON
3867 if (parasail_can_use_neon()) {
3868 parasail_sg_qb_de_scan_profile_64_pointer = parasail_sg_qb_de_scan_profile_neon_128_64;
3869 }
3870 else
3871 #endif
3872 {
3873 parasail_sg_qb_de_scan_profile_64_pointer = NULL;
3874 }
3875 return parasail_sg_qb_de_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
3876 }
3877
3878 parasail_result_t* parasail_sg_qb_de_scan_profile_32_dispatcher(
3879 const parasail_profile_t * const restrict profile,
3880 const char * const restrict s2, const int s2Len,
3881 const int open, const int gap)
3882 {
3883 #if HAVE_AVX2
3884 if (parasail_can_use_avx2()) {
3885 parasail_sg_qb_de_scan_profile_32_pointer = parasail_sg_qb_de_scan_profile_avx2_256_32;
3886 }
3887 else
3888 #endif
3889 #if HAVE_SSE41
3890 if (parasail_can_use_sse41()) {
3891 parasail_sg_qb_de_scan_profile_32_pointer = parasail_sg_qb_de_scan_profile_sse41_128_32;
3892 }
3893 else
3894 #endif
3895 #if HAVE_SSE2
3896 if (parasail_can_use_sse2()) {
3897 parasail_sg_qb_de_scan_profile_32_pointer = parasail_sg_qb_de_scan_profile_sse2_128_32;
3898 }
3899 else
3900 #endif
3901 #if HAVE_ALTIVEC
3902 if (parasail_can_use_altivec()) {
3903 parasail_sg_qb_de_scan_profile_32_pointer = parasail_sg_qb_de_scan_profile_altivec_128_32;
3904 }
3905 else
3906 #endif
3907 #if HAVE_NEON
3908 if (parasail_can_use_neon()) {
3909 parasail_sg_qb_de_scan_profile_32_pointer = parasail_sg_qb_de_scan_profile_neon_128_32;
3910 }
3911 else
3912 #endif
3913 {
3914 parasail_sg_qb_de_scan_profile_32_pointer = NULL;
3915 }
3916 return parasail_sg_qb_de_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
3917 }
3918
3919 parasail_result_t* parasail_sg_qb_de_scan_profile_16_dispatcher(
3920 const parasail_profile_t * const restrict profile,
3921 const char * const restrict s2, const int s2Len,
3922 const int open, const int gap)
3923 {
3924 #if HAVE_AVX2
3925 if (parasail_can_use_avx2()) {
3926 parasail_sg_qb_de_scan_profile_16_pointer = parasail_sg_qb_de_scan_profile_avx2_256_16;
3927 }
3928 else
3929 #endif
3930 #if HAVE_SSE41
3931 if (parasail_can_use_sse41()) {
3932 parasail_sg_qb_de_scan_profile_16_pointer = parasail_sg_qb_de_scan_profile_sse41_128_16;
3933 }
3934 else
3935 #endif
3936 #if HAVE_SSE2
3937 if (parasail_can_use_sse2()) {
3938 parasail_sg_qb_de_scan_profile_16_pointer = parasail_sg_qb_de_scan_profile_sse2_128_16;
3939 }
3940 else
3941 #endif
3942 #if HAVE_ALTIVEC
3943 if (parasail_can_use_altivec()) {
3944 parasail_sg_qb_de_scan_profile_16_pointer = parasail_sg_qb_de_scan_profile_altivec_128_16;
3945 }
3946 else
3947 #endif
3948 #if HAVE_NEON
3949 if (parasail_can_use_neon()) {
3950 parasail_sg_qb_de_scan_profile_16_pointer = parasail_sg_qb_de_scan_profile_neon_128_16;
3951 }
3952 else
3953 #endif
3954 {
3955 parasail_sg_qb_de_scan_profile_16_pointer = NULL;
3956 }
3957 return parasail_sg_qb_de_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
3958 }
3959
3960 parasail_result_t* parasail_sg_qb_de_scan_profile_8_dispatcher(
3961 const parasail_profile_t * const restrict profile,
3962 const char * const restrict s2, const int s2Len,
3963 const int open, const int gap)
3964 {
3965 #if HAVE_AVX2
3966 if (parasail_can_use_avx2()) {
3967 parasail_sg_qb_de_scan_profile_8_pointer = parasail_sg_qb_de_scan_profile_avx2_256_8;
3968 }
3969 else
3970 #endif
3971 #if HAVE_SSE41
3972 if (parasail_can_use_sse41()) {
3973 parasail_sg_qb_de_scan_profile_8_pointer = parasail_sg_qb_de_scan_profile_sse41_128_8;
3974 }
3975 else
3976 #endif
3977 #if HAVE_SSE2
3978 if (parasail_can_use_sse2()) {
3979 parasail_sg_qb_de_scan_profile_8_pointer = parasail_sg_qb_de_scan_profile_sse2_128_8;
3980 }
3981 else
3982 #endif
3983 #if HAVE_ALTIVEC
3984 if (parasail_can_use_altivec()) {
3985 parasail_sg_qb_de_scan_profile_8_pointer = parasail_sg_qb_de_scan_profile_altivec_128_8;
3986 }
3987 else
3988 #endif
3989 #if HAVE_NEON
3990 if (parasail_can_use_neon()) {
3991 parasail_sg_qb_de_scan_profile_8_pointer = parasail_sg_qb_de_scan_profile_neon_128_8;
3992 }
3993 else
3994 #endif
3995 {
3996 parasail_sg_qb_de_scan_profile_8_pointer = NULL;
3997 }
3998 return parasail_sg_qb_de_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
3999 }
4000
4001 parasail_result_t* parasail_sg_qb_de_striped_profile_64_dispatcher(
4002 const parasail_profile_t * const restrict profile,
4003 const char * const restrict s2, const int s2Len,
4004 const int open, const int gap)
4005 {
4006 #if HAVE_AVX2
4007 if (parasail_can_use_avx2()) {
4008 parasail_sg_qb_de_striped_profile_64_pointer = parasail_sg_qb_de_striped_profile_avx2_256_64;
4009 }
4010 else
4011 #endif
4012 #if HAVE_SSE41
4013 if (parasail_can_use_sse41()) {
4014 parasail_sg_qb_de_striped_profile_64_pointer = parasail_sg_qb_de_striped_profile_sse41_128_64;
4015 }
4016 else
4017 #endif
4018 #if HAVE_SSE2
4019 if (parasail_can_use_sse2()) {
4020 parasail_sg_qb_de_striped_profile_64_pointer = parasail_sg_qb_de_striped_profile_sse2_128_64;
4021 }
4022 else
4023 #endif
4024 #if HAVE_ALTIVEC
4025 if (parasail_can_use_altivec()) {
4026 parasail_sg_qb_de_striped_profile_64_pointer = parasail_sg_qb_de_striped_profile_altivec_128_64;
4027 }
4028 else
4029 #endif
4030 #if HAVE_NEON
4031 if (parasail_can_use_neon()) {
4032 parasail_sg_qb_de_striped_profile_64_pointer = parasail_sg_qb_de_striped_profile_neon_128_64;
4033 }
4034 else
4035 #endif
4036 {
4037 parasail_sg_qb_de_striped_profile_64_pointer = NULL;
4038 }
4039 return parasail_sg_qb_de_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
4040 }
4041
4042 parasail_result_t* parasail_sg_qb_de_striped_profile_32_dispatcher(
4043 const parasail_profile_t * const restrict profile,
4044 const char * const restrict s2, const int s2Len,
4045 const int open, const int gap)
4046 {
4047 #if HAVE_AVX2
4048 if (parasail_can_use_avx2()) {
4049 parasail_sg_qb_de_striped_profile_32_pointer = parasail_sg_qb_de_striped_profile_avx2_256_32;
4050 }
4051 else
4052 #endif
4053 #if HAVE_SSE41
4054 if (parasail_can_use_sse41()) {
4055 parasail_sg_qb_de_striped_profile_32_pointer = parasail_sg_qb_de_striped_profile_sse41_128_32;
4056 }
4057 else
4058 #endif
4059 #if HAVE_SSE2
4060 if (parasail_can_use_sse2()) {
4061 parasail_sg_qb_de_striped_profile_32_pointer = parasail_sg_qb_de_striped_profile_sse2_128_32;
4062 }
4063 else
4064 #endif
4065 #if HAVE_ALTIVEC
4066 if (parasail_can_use_altivec()) {
4067 parasail_sg_qb_de_striped_profile_32_pointer = parasail_sg_qb_de_striped_profile_altivec_128_32;
4068 }
4069 else
4070 #endif
4071 #if HAVE_NEON
4072 if (parasail_can_use_neon()) {
4073 parasail_sg_qb_de_striped_profile_32_pointer = parasail_sg_qb_de_striped_profile_neon_128_32;
4074 }
4075 else
4076 #endif
4077 {
4078 parasail_sg_qb_de_striped_profile_32_pointer = NULL;
4079 }
4080 return parasail_sg_qb_de_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
4081 }
4082
4083 parasail_result_t* parasail_sg_qb_de_striped_profile_16_dispatcher(
4084 const parasail_profile_t * const restrict profile,
4085 const char * const restrict s2, const int s2Len,
4086 const int open, const int gap)
4087 {
4088 #if HAVE_AVX2
4089 if (parasail_can_use_avx2()) {
4090 parasail_sg_qb_de_striped_profile_16_pointer = parasail_sg_qb_de_striped_profile_avx2_256_16;
4091 }
4092 else
4093 #endif
4094 #if HAVE_SSE41
4095 if (parasail_can_use_sse41()) {
4096 parasail_sg_qb_de_striped_profile_16_pointer = parasail_sg_qb_de_striped_profile_sse41_128_16;
4097 }
4098 else
4099 #endif
4100 #if HAVE_SSE2
4101 if (parasail_can_use_sse2()) {
4102 parasail_sg_qb_de_striped_profile_16_pointer = parasail_sg_qb_de_striped_profile_sse2_128_16;
4103 }
4104 else
4105 #endif
4106 #if HAVE_ALTIVEC
4107 if (parasail_can_use_altivec()) {
4108 parasail_sg_qb_de_striped_profile_16_pointer = parasail_sg_qb_de_striped_profile_altivec_128_16;
4109 }
4110 else
4111 #endif
4112 #if HAVE_NEON
4113 if (parasail_can_use_neon()) {
4114 parasail_sg_qb_de_striped_profile_16_pointer = parasail_sg_qb_de_striped_profile_neon_128_16;
4115 }
4116 else
4117 #endif
4118 {
4119 parasail_sg_qb_de_striped_profile_16_pointer = NULL;
4120 }
4121 return parasail_sg_qb_de_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
4122 }
4123
4124 parasail_result_t* parasail_sg_qb_de_striped_profile_8_dispatcher(
4125 const parasail_profile_t * const restrict profile,
4126 const char * const restrict s2, const int s2Len,
4127 const int open, const int gap)
4128 {
4129 #if HAVE_AVX2
4130 if (parasail_can_use_avx2()) {
4131 parasail_sg_qb_de_striped_profile_8_pointer = parasail_sg_qb_de_striped_profile_avx2_256_8;
4132 }
4133 else
4134 #endif
4135 #if HAVE_SSE41
4136 if (parasail_can_use_sse41()) {
4137 parasail_sg_qb_de_striped_profile_8_pointer = parasail_sg_qb_de_striped_profile_sse41_128_8;
4138 }
4139 else
4140 #endif
4141 #if HAVE_SSE2
4142 if (parasail_can_use_sse2()) {
4143 parasail_sg_qb_de_striped_profile_8_pointer = parasail_sg_qb_de_striped_profile_sse2_128_8;
4144 }
4145 else
4146 #endif
4147 #if HAVE_ALTIVEC
4148 if (parasail_can_use_altivec()) {
4149 parasail_sg_qb_de_striped_profile_8_pointer = parasail_sg_qb_de_striped_profile_altivec_128_8;
4150 }
4151 else
4152 #endif
4153 #if HAVE_NEON
4154 if (parasail_can_use_neon()) {
4155 parasail_sg_qb_de_striped_profile_8_pointer = parasail_sg_qb_de_striped_profile_neon_128_8;
4156 }
4157 else
4158 #endif
4159 {
4160 parasail_sg_qb_de_striped_profile_8_pointer = NULL;
4161 }
4162 return parasail_sg_qb_de_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
4163 }
4164
4165 parasail_result_t* parasail_sg_qb_de_stats_scan_profile_64_dispatcher(
4166 const parasail_profile_t * const restrict profile,
4167 const char * const restrict s2, const int s2Len,
4168 const int open, const int gap)
4169 {
4170 #if HAVE_AVX2
4171 if (parasail_can_use_avx2()) {
4172 parasail_sg_qb_de_stats_scan_profile_64_pointer = parasail_sg_qb_de_stats_scan_profile_avx2_256_64;
4173 }
4174 else
4175 #endif
4176 #if HAVE_SSE41
4177 if (parasail_can_use_sse41()) {
4178 parasail_sg_qb_de_stats_scan_profile_64_pointer = parasail_sg_qb_de_stats_scan_profile_sse41_128_64;
4179 }
4180 else
4181 #endif
4182 #if HAVE_SSE2
4183 if (parasail_can_use_sse2()) {
4184 parasail_sg_qb_de_stats_scan_profile_64_pointer = parasail_sg_qb_de_stats_scan_profile_sse2_128_64;
4185 }
4186 else
4187 #endif
4188 #if HAVE_ALTIVEC
4189 if (parasail_can_use_altivec()) {
4190 parasail_sg_qb_de_stats_scan_profile_64_pointer = parasail_sg_qb_de_stats_scan_profile_altivec_128_64;
4191 }
4192 else
4193 #endif
4194 #if HAVE_NEON
4195 if (parasail_can_use_neon()) {
4196 parasail_sg_qb_de_stats_scan_profile_64_pointer = parasail_sg_qb_de_stats_scan_profile_neon_128_64;
4197 }
4198 else
4199 #endif
4200 {
4201 parasail_sg_qb_de_stats_scan_profile_64_pointer = NULL;
4202 }
4203 return parasail_sg_qb_de_stats_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
4204 }
4205
4206 parasail_result_t* parasail_sg_qb_de_stats_scan_profile_32_dispatcher(
4207 const parasail_profile_t * const restrict profile,
4208 const char * const restrict s2, const int s2Len,
4209 const int open, const int gap)
4210 {
4211 #if HAVE_AVX2
4212 if (parasail_can_use_avx2()) {
4213 parasail_sg_qb_de_stats_scan_profile_32_pointer = parasail_sg_qb_de_stats_scan_profile_avx2_256_32;
4214 }
4215 else
4216 #endif
4217 #if HAVE_SSE41
4218 if (parasail_can_use_sse41()) {
4219 parasail_sg_qb_de_stats_scan_profile_32_pointer = parasail_sg_qb_de_stats_scan_profile_sse41_128_32;
4220 }
4221 else
4222 #endif
4223 #if HAVE_SSE2
4224 if (parasail_can_use_sse2()) {
4225 parasail_sg_qb_de_stats_scan_profile_32_pointer = parasail_sg_qb_de_stats_scan_profile_sse2_128_32;
4226 }
4227 else
4228 #endif
4229 #if HAVE_ALTIVEC
4230 if (parasail_can_use_altivec()) {
4231 parasail_sg_qb_de_stats_scan_profile_32_pointer = parasail_sg_qb_de_stats_scan_profile_altivec_128_32;
4232 }
4233 else
4234 #endif
4235 #if HAVE_NEON
4236 if (parasail_can_use_neon()) {
4237 parasail_sg_qb_de_stats_scan_profile_32_pointer = parasail_sg_qb_de_stats_scan_profile_neon_128_32;
4238 }
4239 else
4240 #endif
4241 {
4242 parasail_sg_qb_de_stats_scan_profile_32_pointer = NULL;
4243 }
4244 return parasail_sg_qb_de_stats_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
4245 }
4246
4247 parasail_result_t* parasail_sg_qb_de_stats_scan_profile_16_dispatcher(
4248 const parasail_profile_t * const restrict profile,
4249 const char * const restrict s2, const int s2Len,
4250 const int open, const int gap)
4251 {
4252 #if HAVE_AVX2
4253 if (parasail_can_use_avx2()) {
4254 parasail_sg_qb_de_stats_scan_profile_16_pointer = parasail_sg_qb_de_stats_scan_profile_avx2_256_16;
4255 }
4256 else
4257 #endif
4258 #if HAVE_SSE41
4259 if (parasail_can_use_sse41()) {
4260 parasail_sg_qb_de_stats_scan_profile_16_pointer = parasail_sg_qb_de_stats_scan_profile_sse41_128_16;
4261 }
4262 else
4263 #endif
4264 #if HAVE_SSE2
4265 if (parasail_can_use_sse2()) {
4266 parasail_sg_qb_de_stats_scan_profile_16_pointer = parasail_sg_qb_de_stats_scan_profile_sse2_128_16;
4267 }
4268 else
4269 #endif
4270 #if HAVE_ALTIVEC
4271 if (parasail_can_use_altivec()) {
4272 parasail_sg_qb_de_stats_scan_profile_16_pointer = parasail_sg_qb_de_stats_scan_profile_altivec_128_16;
4273 }
4274 else
4275 #endif
4276 #if HAVE_NEON
4277 if (parasail_can_use_neon()) {
4278 parasail_sg_qb_de_stats_scan_profile_16_pointer = parasail_sg_qb_de_stats_scan_profile_neon_128_16;
4279 }
4280 else
4281 #endif
4282 {
4283 parasail_sg_qb_de_stats_scan_profile_16_pointer = NULL;
4284 }
4285 return parasail_sg_qb_de_stats_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
4286 }
4287
4288 parasail_result_t* parasail_sg_qb_de_stats_scan_profile_8_dispatcher(
4289 const parasail_profile_t * const restrict profile,
4290 const char * const restrict s2, const int s2Len,
4291 const int open, const int gap)
4292 {
4293 #if HAVE_AVX2
4294 if (parasail_can_use_avx2()) {
4295 parasail_sg_qb_de_stats_scan_profile_8_pointer = parasail_sg_qb_de_stats_scan_profile_avx2_256_8;
4296 }
4297 else
4298 #endif
4299 #if HAVE_SSE41
4300 if (parasail_can_use_sse41()) {
4301 parasail_sg_qb_de_stats_scan_profile_8_pointer = parasail_sg_qb_de_stats_scan_profile_sse41_128_8;
4302 }
4303 else
4304 #endif
4305 #if HAVE_SSE2
4306 if (parasail_can_use_sse2()) {
4307 parasail_sg_qb_de_stats_scan_profile_8_pointer = parasail_sg_qb_de_stats_scan_profile_sse2_128_8;
4308 }
4309 else
4310 #endif
4311 #if HAVE_ALTIVEC
4312 if (parasail_can_use_altivec()) {
4313 parasail_sg_qb_de_stats_scan_profile_8_pointer = parasail_sg_qb_de_stats_scan_profile_altivec_128_8;
4314 }
4315 else
4316 #endif
4317 #if HAVE_NEON
4318 if (parasail_can_use_neon()) {
4319 parasail_sg_qb_de_stats_scan_profile_8_pointer = parasail_sg_qb_de_stats_scan_profile_neon_128_8;
4320 }
4321 else
4322 #endif
4323 {
4324 parasail_sg_qb_de_stats_scan_profile_8_pointer = NULL;
4325 }
4326 return parasail_sg_qb_de_stats_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
4327 }
4328
4329 parasail_result_t* parasail_sg_qb_de_stats_striped_profile_64_dispatcher(
4330 const parasail_profile_t * const restrict profile,
4331 const char * const restrict s2, const int s2Len,
4332 const int open, const int gap)
4333 {
4334 #if HAVE_AVX2
4335 if (parasail_can_use_avx2()) {
4336 parasail_sg_qb_de_stats_striped_profile_64_pointer = parasail_sg_qb_de_stats_striped_profile_avx2_256_64;
4337 }
4338 else
4339 #endif
4340 #if HAVE_SSE41
4341 if (parasail_can_use_sse41()) {
4342 parasail_sg_qb_de_stats_striped_profile_64_pointer = parasail_sg_qb_de_stats_striped_profile_sse41_128_64;
4343 }
4344 else
4345 #endif
4346 #if HAVE_SSE2
4347 if (parasail_can_use_sse2()) {
4348 parasail_sg_qb_de_stats_striped_profile_64_pointer = parasail_sg_qb_de_stats_striped_profile_sse2_128_64;
4349 }
4350 else
4351 #endif
4352 #if HAVE_ALTIVEC
4353 if (parasail_can_use_altivec()) {
4354 parasail_sg_qb_de_stats_striped_profile_64_pointer = parasail_sg_qb_de_stats_striped_profile_altivec_128_64;
4355 }
4356 else
4357 #endif
4358 #if HAVE_NEON
4359 if (parasail_can_use_neon()) {
4360 parasail_sg_qb_de_stats_striped_profile_64_pointer = parasail_sg_qb_de_stats_striped_profile_neon_128_64;
4361 }
4362 else
4363 #endif
4364 {
4365 parasail_sg_qb_de_stats_striped_profile_64_pointer = NULL;
4366 }
4367 return parasail_sg_qb_de_stats_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
4368 }
4369
4370 parasail_result_t* parasail_sg_qb_de_stats_striped_profile_32_dispatcher(
4371 const parasail_profile_t * const restrict profile,
4372 const char * const restrict s2, const int s2Len,
4373 const int open, const int gap)
4374 {
4375 #if HAVE_AVX2
4376 if (parasail_can_use_avx2()) {
4377 parasail_sg_qb_de_stats_striped_profile_32_pointer = parasail_sg_qb_de_stats_striped_profile_avx2_256_32;
4378 }
4379 else
4380 #endif
4381 #if HAVE_SSE41
4382 if (parasail_can_use_sse41()) {
4383 parasail_sg_qb_de_stats_striped_profile_32_pointer = parasail_sg_qb_de_stats_striped_profile_sse41_128_32;
4384 }
4385 else
4386 #endif
4387 #if HAVE_SSE2
4388 if (parasail_can_use_sse2()) {
4389 parasail_sg_qb_de_stats_striped_profile_32_pointer = parasail_sg_qb_de_stats_striped_profile_sse2_128_32;
4390 }
4391 else
4392 #endif
4393 #if HAVE_ALTIVEC
4394 if (parasail_can_use_altivec()) {
4395 parasail_sg_qb_de_stats_striped_profile_32_pointer = parasail_sg_qb_de_stats_striped_profile_altivec_128_32;
4396 }
4397 else
4398 #endif
4399 #if HAVE_NEON
4400 if (parasail_can_use_neon()) {
4401 parasail_sg_qb_de_stats_striped_profile_32_pointer = parasail_sg_qb_de_stats_striped_profile_neon_128_32;
4402 }
4403 else
4404 #endif
4405 {
4406 parasail_sg_qb_de_stats_striped_profile_32_pointer = NULL;
4407 }
4408 return parasail_sg_qb_de_stats_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
4409 }
4410
4411 parasail_result_t* parasail_sg_qb_de_stats_striped_profile_16_dispatcher(
4412 const parasail_profile_t * const restrict profile,
4413 const char * const restrict s2, const int s2Len,
4414 const int open, const int gap)
4415 {
4416 #if HAVE_AVX2
4417 if (parasail_can_use_avx2()) {
4418 parasail_sg_qb_de_stats_striped_profile_16_pointer = parasail_sg_qb_de_stats_striped_profile_avx2_256_16;
4419 }
4420 else
4421 #endif
4422 #if HAVE_SSE41
4423 if (parasail_can_use_sse41()) {
4424 parasail_sg_qb_de_stats_striped_profile_16_pointer = parasail_sg_qb_de_stats_striped_profile_sse41_128_16;
4425 }
4426 else
4427 #endif
4428 #if HAVE_SSE2
4429 if (parasail_can_use_sse2()) {
4430 parasail_sg_qb_de_stats_striped_profile_16_pointer = parasail_sg_qb_de_stats_striped_profile_sse2_128_16;
4431 }
4432 else
4433 #endif
4434 #if HAVE_ALTIVEC
4435 if (parasail_can_use_altivec()) {
4436 parasail_sg_qb_de_stats_striped_profile_16_pointer = parasail_sg_qb_de_stats_striped_profile_altivec_128_16;
4437 }
4438 else
4439 #endif
4440 #if HAVE_NEON
4441 if (parasail_can_use_neon()) {
4442 parasail_sg_qb_de_stats_striped_profile_16_pointer = parasail_sg_qb_de_stats_striped_profile_neon_128_16;
4443 }
4444 else
4445 #endif
4446 {
4447 parasail_sg_qb_de_stats_striped_profile_16_pointer = NULL;
4448 }
4449 return parasail_sg_qb_de_stats_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
4450 }
4451
4452 parasail_result_t* parasail_sg_qb_de_stats_striped_profile_8_dispatcher(
4453 const parasail_profile_t * const restrict profile,
4454 const char * const restrict s2, const int s2Len,
4455 const int open, const int gap)
4456 {
4457 #if HAVE_AVX2
4458 if (parasail_can_use_avx2()) {
4459 parasail_sg_qb_de_stats_striped_profile_8_pointer = parasail_sg_qb_de_stats_striped_profile_avx2_256_8;
4460 }
4461 else
4462 #endif
4463 #if HAVE_SSE41
4464 if (parasail_can_use_sse41()) {
4465 parasail_sg_qb_de_stats_striped_profile_8_pointer = parasail_sg_qb_de_stats_striped_profile_sse41_128_8;
4466 }
4467 else
4468 #endif
4469 #if HAVE_SSE2
4470 if (parasail_can_use_sse2()) {
4471 parasail_sg_qb_de_stats_striped_profile_8_pointer = parasail_sg_qb_de_stats_striped_profile_sse2_128_8;
4472 }
4473 else
4474 #endif
4475 #if HAVE_ALTIVEC
4476 if (parasail_can_use_altivec()) {
4477 parasail_sg_qb_de_stats_striped_profile_8_pointer = parasail_sg_qb_de_stats_striped_profile_altivec_128_8;
4478 }
4479 else
4480 #endif
4481 #if HAVE_NEON
4482 if (parasail_can_use_neon()) {
4483 parasail_sg_qb_de_stats_striped_profile_8_pointer = parasail_sg_qb_de_stats_striped_profile_neon_128_8;
4484 }
4485 else
4486 #endif
4487 {
4488 parasail_sg_qb_de_stats_striped_profile_8_pointer = NULL;
4489 }
4490 return parasail_sg_qb_de_stats_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
4491 }
4492
4493 parasail_result_t* parasail_sg_qb_de_table_scan_profile_64_dispatcher(
4494 const parasail_profile_t * const restrict profile,
4495 const char * const restrict s2, const int s2Len,
4496 const int open, const int gap)
4497 {
4498 #if HAVE_AVX2
4499 if (parasail_can_use_avx2()) {
4500 parasail_sg_qb_de_table_scan_profile_64_pointer = parasail_sg_qb_de_table_scan_profile_avx2_256_64;
4501 }
4502 else
4503 #endif
4504 #if HAVE_SSE41
4505 if (parasail_can_use_sse41()) {
4506 parasail_sg_qb_de_table_scan_profile_64_pointer = parasail_sg_qb_de_table_scan_profile_sse41_128_64;
4507 }
4508 else
4509 #endif
4510 #if HAVE_SSE2
4511 if (parasail_can_use_sse2()) {
4512 parasail_sg_qb_de_table_scan_profile_64_pointer = parasail_sg_qb_de_table_scan_profile_sse2_128_64;
4513 }
4514 else
4515 #endif
4516 #if HAVE_ALTIVEC
4517 if (parasail_can_use_altivec()) {
4518 parasail_sg_qb_de_table_scan_profile_64_pointer = parasail_sg_qb_de_table_scan_profile_altivec_128_64;
4519 }
4520 else
4521 #endif
4522 #if HAVE_NEON
4523 if (parasail_can_use_neon()) {
4524 parasail_sg_qb_de_table_scan_profile_64_pointer = parasail_sg_qb_de_table_scan_profile_neon_128_64;
4525 }
4526 else
4527 #endif
4528 {
4529 parasail_sg_qb_de_table_scan_profile_64_pointer = NULL;
4530 }
4531 return parasail_sg_qb_de_table_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
4532 }
4533
4534 parasail_result_t* parasail_sg_qb_de_table_scan_profile_32_dispatcher(
4535 const parasail_profile_t * const restrict profile,
4536 const char * const restrict s2, const int s2Len,
4537 const int open, const int gap)
4538 {
4539 #if HAVE_AVX2
4540 if (parasail_can_use_avx2()) {
4541 parasail_sg_qb_de_table_scan_profile_32_pointer = parasail_sg_qb_de_table_scan_profile_avx2_256_32;
4542 }
4543 else
4544 #endif
4545 #if HAVE_SSE41
4546 if (parasail_can_use_sse41()) {
4547 parasail_sg_qb_de_table_scan_profile_32_pointer = parasail_sg_qb_de_table_scan_profile_sse41_128_32;
4548 }
4549 else
4550 #endif
4551 #if HAVE_SSE2
4552 if (parasail_can_use_sse2()) {
4553 parasail_sg_qb_de_table_scan_profile_32_pointer = parasail_sg_qb_de_table_scan_profile_sse2_128_32;
4554 }
4555 else
4556 #endif
4557 #if HAVE_ALTIVEC
4558 if (parasail_can_use_altivec()) {
4559 parasail_sg_qb_de_table_scan_profile_32_pointer = parasail_sg_qb_de_table_scan_profile_altivec_128_32;
4560 }
4561 else
4562 #endif
4563 #if HAVE_NEON
4564 if (parasail_can_use_neon()) {
4565 parasail_sg_qb_de_table_scan_profile_32_pointer = parasail_sg_qb_de_table_scan_profile_neon_128_32;
4566 }
4567 else
4568 #endif
4569 {
4570 parasail_sg_qb_de_table_scan_profile_32_pointer = NULL;
4571 }
4572 return parasail_sg_qb_de_table_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
4573 }
4574
4575 parasail_result_t* parasail_sg_qb_de_table_scan_profile_16_dispatcher(
4576 const parasail_profile_t * const restrict profile,
4577 const char * const restrict s2, const int s2Len,
4578 const int open, const int gap)
4579 {
4580 #if HAVE_AVX2
4581 if (parasail_can_use_avx2()) {
4582 parasail_sg_qb_de_table_scan_profile_16_pointer = parasail_sg_qb_de_table_scan_profile_avx2_256_16;
4583 }
4584 else
4585 #endif
4586 #if HAVE_SSE41
4587 if (parasail_can_use_sse41()) {
4588 parasail_sg_qb_de_table_scan_profile_16_pointer = parasail_sg_qb_de_table_scan_profile_sse41_128_16;
4589 }
4590 else
4591 #endif
4592 #if HAVE_SSE2
4593 if (parasail_can_use_sse2()) {
4594 parasail_sg_qb_de_table_scan_profile_16_pointer = parasail_sg_qb_de_table_scan_profile_sse2_128_16;
4595 }
4596 else
4597 #endif
4598 #if HAVE_ALTIVEC
4599 if (parasail_can_use_altivec()) {
4600 parasail_sg_qb_de_table_scan_profile_16_pointer = parasail_sg_qb_de_table_scan_profile_altivec_128_16;
4601 }
4602 else
4603 #endif
4604 #if HAVE_NEON
4605 if (parasail_can_use_neon()) {
4606 parasail_sg_qb_de_table_scan_profile_16_pointer = parasail_sg_qb_de_table_scan_profile_neon_128_16;
4607 }
4608 else
4609 #endif
4610 {
4611 parasail_sg_qb_de_table_scan_profile_16_pointer = NULL;
4612 }
4613 return parasail_sg_qb_de_table_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
4614 }
4615
4616 parasail_result_t* parasail_sg_qb_de_table_scan_profile_8_dispatcher(
4617 const parasail_profile_t * const restrict profile,
4618 const char * const restrict s2, const int s2Len,
4619 const int open, const int gap)
4620 {
4621 #if HAVE_AVX2
4622 if (parasail_can_use_avx2()) {
4623 parasail_sg_qb_de_table_scan_profile_8_pointer = parasail_sg_qb_de_table_scan_profile_avx2_256_8;
4624 }
4625 else
4626 #endif
4627 #if HAVE_SSE41
4628 if (parasail_can_use_sse41()) {
4629 parasail_sg_qb_de_table_scan_profile_8_pointer = parasail_sg_qb_de_table_scan_profile_sse41_128_8;
4630 }
4631 else
4632 #endif
4633 #if HAVE_SSE2
4634 if (parasail_can_use_sse2()) {
4635 parasail_sg_qb_de_table_scan_profile_8_pointer = parasail_sg_qb_de_table_scan_profile_sse2_128_8;
4636 }
4637 else
4638 #endif
4639 #if HAVE_ALTIVEC
4640 if (parasail_can_use_altivec()) {
4641 parasail_sg_qb_de_table_scan_profile_8_pointer = parasail_sg_qb_de_table_scan_profile_altivec_128_8;
4642 }
4643 else
4644 #endif
4645 #if HAVE_NEON
4646 if (parasail_can_use_neon()) {
4647 parasail_sg_qb_de_table_scan_profile_8_pointer = parasail_sg_qb_de_table_scan_profile_neon_128_8;
4648 }
4649 else
4650 #endif
4651 {
4652 parasail_sg_qb_de_table_scan_profile_8_pointer = NULL;
4653 }
4654 return parasail_sg_qb_de_table_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
4655 }
4656
4657 parasail_result_t* parasail_sg_qb_de_table_striped_profile_64_dispatcher(
4658 const parasail_profile_t * const restrict profile,
4659 const char * const restrict s2, const int s2Len,
4660 const int open, const int gap)
4661 {
4662 #if HAVE_AVX2
4663 if (parasail_can_use_avx2()) {
4664 parasail_sg_qb_de_table_striped_profile_64_pointer = parasail_sg_qb_de_table_striped_profile_avx2_256_64;
4665 }
4666 else
4667 #endif
4668 #if HAVE_SSE41
4669 if (parasail_can_use_sse41()) {
4670 parasail_sg_qb_de_table_striped_profile_64_pointer = parasail_sg_qb_de_table_striped_profile_sse41_128_64;
4671 }
4672 else
4673 #endif
4674 #if HAVE_SSE2
4675 if (parasail_can_use_sse2()) {
4676 parasail_sg_qb_de_table_striped_profile_64_pointer = parasail_sg_qb_de_table_striped_profile_sse2_128_64;
4677 }
4678 else
4679 #endif
4680 #if HAVE_ALTIVEC
4681 if (parasail_can_use_altivec()) {
4682 parasail_sg_qb_de_table_striped_profile_64_pointer = parasail_sg_qb_de_table_striped_profile_altivec_128_64;
4683 }
4684 else
4685 #endif
4686 #if HAVE_NEON
4687 if (parasail_can_use_neon()) {
4688 parasail_sg_qb_de_table_striped_profile_64_pointer = parasail_sg_qb_de_table_striped_profile_neon_128_64;
4689 }
4690 else
4691 #endif
4692 {
4693 parasail_sg_qb_de_table_striped_profile_64_pointer = NULL;
4694 }
4695 return parasail_sg_qb_de_table_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
4696 }
4697
4698 parasail_result_t* parasail_sg_qb_de_table_striped_profile_32_dispatcher(
4699 const parasail_profile_t * const restrict profile,
4700 const char * const restrict s2, const int s2Len,
4701 const int open, const int gap)
4702 {
4703 #if HAVE_AVX2
4704 if (parasail_can_use_avx2()) {
4705 parasail_sg_qb_de_table_striped_profile_32_pointer = parasail_sg_qb_de_table_striped_profile_avx2_256_32;
4706 }
4707 else
4708 #endif
4709 #if HAVE_SSE41
4710 if (parasail_can_use_sse41()) {
4711 parasail_sg_qb_de_table_striped_profile_32_pointer = parasail_sg_qb_de_table_striped_profile_sse41_128_32;
4712 }
4713 else
4714 #endif
4715 #if HAVE_SSE2
4716 if (parasail_can_use_sse2()) {
4717 parasail_sg_qb_de_table_striped_profile_32_pointer = parasail_sg_qb_de_table_striped_profile_sse2_128_32;
4718 }
4719 else
4720 #endif
4721 #if HAVE_ALTIVEC
4722 if (parasail_can_use_altivec()) {
4723 parasail_sg_qb_de_table_striped_profile_32_pointer = parasail_sg_qb_de_table_striped_profile_altivec_128_32;
4724 }
4725 else
4726 #endif
4727 #if HAVE_NEON
4728 if (parasail_can_use_neon()) {
4729 parasail_sg_qb_de_table_striped_profile_32_pointer = parasail_sg_qb_de_table_striped_profile_neon_128_32;
4730 }
4731 else
4732 #endif
4733 {
4734 parasail_sg_qb_de_table_striped_profile_32_pointer = NULL;
4735 }
4736 return parasail_sg_qb_de_table_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
4737 }
4738
4739 parasail_result_t* parasail_sg_qb_de_table_striped_profile_16_dispatcher(
4740 const parasail_profile_t * const restrict profile,
4741 const char * const restrict s2, const int s2Len,
4742 const int open, const int gap)
4743 {
4744 #if HAVE_AVX2
4745 if (parasail_can_use_avx2()) {
4746 parasail_sg_qb_de_table_striped_profile_16_pointer = parasail_sg_qb_de_table_striped_profile_avx2_256_16;
4747 }
4748 else
4749 #endif
4750 #if HAVE_SSE41
4751 if (parasail_can_use_sse41()) {
4752 parasail_sg_qb_de_table_striped_profile_16_pointer = parasail_sg_qb_de_table_striped_profile_sse41_128_16;
4753 }
4754 else
4755 #endif
4756 #if HAVE_SSE2
4757 if (parasail_can_use_sse2()) {
4758 parasail_sg_qb_de_table_striped_profile_16_pointer = parasail_sg_qb_de_table_striped_profile_sse2_128_16;
4759 }
4760 else
4761 #endif
4762 #if HAVE_ALTIVEC
4763 if (parasail_can_use_altivec()) {
4764 parasail_sg_qb_de_table_striped_profile_16_pointer = parasail_sg_qb_de_table_striped_profile_altivec_128_16;
4765 }
4766 else
4767 #endif
4768 #if HAVE_NEON
4769 if (parasail_can_use_neon()) {
4770 parasail_sg_qb_de_table_striped_profile_16_pointer = parasail_sg_qb_de_table_striped_profile_neon_128_16;
4771 }
4772 else
4773 #endif
4774 {
4775 parasail_sg_qb_de_table_striped_profile_16_pointer = NULL;
4776 }
4777 return parasail_sg_qb_de_table_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
4778 }
4779
4780 parasail_result_t* parasail_sg_qb_de_table_striped_profile_8_dispatcher(
4781 const parasail_profile_t * const restrict profile,
4782 const char * const restrict s2, const int s2Len,
4783 const int open, const int gap)
4784 {
4785 #if HAVE_AVX2
4786 if (parasail_can_use_avx2()) {
4787 parasail_sg_qb_de_table_striped_profile_8_pointer = parasail_sg_qb_de_table_striped_profile_avx2_256_8;
4788 }
4789 else
4790 #endif
4791 #if HAVE_SSE41
4792 if (parasail_can_use_sse41()) {
4793 parasail_sg_qb_de_table_striped_profile_8_pointer = parasail_sg_qb_de_table_striped_profile_sse41_128_8;
4794 }
4795 else
4796 #endif
4797 #if HAVE_SSE2
4798 if (parasail_can_use_sse2()) {
4799 parasail_sg_qb_de_table_striped_profile_8_pointer = parasail_sg_qb_de_table_striped_profile_sse2_128_8;
4800 }
4801 else
4802 #endif
4803 #if HAVE_ALTIVEC
4804 if (parasail_can_use_altivec()) {
4805 parasail_sg_qb_de_table_striped_profile_8_pointer = parasail_sg_qb_de_table_striped_profile_altivec_128_8;
4806 }
4807 else
4808 #endif
4809 #if HAVE_NEON
4810 if (parasail_can_use_neon()) {
4811 parasail_sg_qb_de_table_striped_profile_8_pointer = parasail_sg_qb_de_table_striped_profile_neon_128_8;
4812 }
4813 else
4814 #endif
4815 {
4816 parasail_sg_qb_de_table_striped_profile_8_pointer = NULL;
4817 }
4818 return parasail_sg_qb_de_table_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
4819 }
4820
4821 parasail_result_t* parasail_sg_qb_de_stats_table_scan_profile_64_dispatcher(
4822 const parasail_profile_t * const restrict profile,
4823 const char * const restrict s2, const int s2Len,
4824 const int open, const int gap)
4825 {
4826 #if HAVE_AVX2
4827 if (parasail_can_use_avx2()) {
4828 parasail_sg_qb_de_stats_table_scan_profile_64_pointer = parasail_sg_qb_de_stats_table_scan_profile_avx2_256_64;
4829 }
4830 else
4831 #endif
4832 #if HAVE_SSE41
4833 if (parasail_can_use_sse41()) {
4834 parasail_sg_qb_de_stats_table_scan_profile_64_pointer = parasail_sg_qb_de_stats_table_scan_profile_sse41_128_64;
4835 }
4836 else
4837 #endif
4838 #if HAVE_SSE2
4839 if (parasail_can_use_sse2()) {
4840 parasail_sg_qb_de_stats_table_scan_profile_64_pointer = parasail_sg_qb_de_stats_table_scan_profile_sse2_128_64;
4841 }
4842 else
4843 #endif
4844 #if HAVE_ALTIVEC
4845 if (parasail_can_use_altivec()) {
4846 parasail_sg_qb_de_stats_table_scan_profile_64_pointer = parasail_sg_qb_de_stats_table_scan_profile_altivec_128_64;
4847 }
4848 else
4849 #endif
4850 #if HAVE_NEON
4851 if (parasail_can_use_neon()) {
4852 parasail_sg_qb_de_stats_table_scan_profile_64_pointer = parasail_sg_qb_de_stats_table_scan_profile_neon_128_64;
4853 }
4854 else
4855 #endif
4856 {
4857 parasail_sg_qb_de_stats_table_scan_profile_64_pointer = NULL;
4858 }
4859 return parasail_sg_qb_de_stats_table_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
4860 }
4861
4862 parasail_result_t* parasail_sg_qb_de_stats_table_scan_profile_32_dispatcher(
4863 const parasail_profile_t * const restrict profile,
4864 const char * const restrict s2, const int s2Len,
4865 const int open, const int gap)
4866 {
4867 #if HAVE_AVX2
4868 if (parasail_can_use_avx2()) {
4869 parasail_sg_qb_de_stats_table_scan_profile_32_pointer = parasail_sg_qb_de_stats_table_scan_profile_avx2_256_32;
4870 }
4871 else
4872 #endif
4873 #if HAVE_SSE41
4874 if (parasail_can_use_sse41()) {
4875 parasail_sg_qb_de_stats_table_scan_profile_32_pointer = parasail_sg_qb_de_stats_table_scan_profile_sse41_128_32;
4876 }
4877 else
4878 #endif
4879 #if HAVE_SSE2
4880 if (parasail_can_use_sse2()) {
4881 parasail_sg_qb_de_stats_table_scan_profile_32_pointer = parasail_sg_qb_de_stats_table_scan_profile_sse2_128_32;
4882 }
4883 else
4884 #endif
4885 #if HAVE_ALTIVEC
4886 if (parasail_can_use_altivec()) {
4887 parasail_sg_qb_de_stats_table_scan_profile_32_pointer = parasail_sg_qb_de_stats_table_scan_profile_altivec_128_32;
4888 }
4889 else
4890 #endif
4891 #if HAVE_NEON
4892 if (parasail_can_use_neon()) {
4893 parasail_sg_qb_de_stats_table_scan_profile_32_pointer = parasail_sg_qb_de_stats_table_scan_profile_neon_128_32;
4894 }
4895 else
4896 #endif
4897 {
4898 parasail_sg_qb_de_stats_table_scan_profile_32_pointer = NULL;
4899 }
4900 return parasail_sg_qb_de_stats_table_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
4901 }
4902
4903 parasail_result_t* parasail_sg_qb_de_stats_table_scan_profile_16_dispatcher(
4904 const parasail_profile_t * const restrict profile,
4905 const char * const restrict s2, const int s2Len,
4906 const int open, const int gap)
4907 {
4908 #if HAVE_AVX2
4909 if (parasail_can_use_avx2()) {
4910 parasail_sg_qb_de_stats_table_scan_profile_16_pointer = parasail_sg_qb_de_stats_table_scan_profile_avx2_256_16;
4911 }
4912 else
4913 #endif
4914 #if HAVE_SSE41
4915 if (parasail_can_use_sse41()) {
4916 parasail_sg_qb_de_stats_table_scan_profile_16_pointer = parasail_sg_qb_de_stats_table_scan_profile_sse41_128_16;
4917 }
4918 else
4919 #endif
4920 #if HAVE_SSE2
4921 if (parasail_can_use_sse2()) {
4922 parasail_sg_qb_de_stats_table_scan_profile_16_pointer = parasail_sg_qb_de_stats_table_scan_profile_sse2_128_16;
4923 }
4924 else
4925 #endif
4926 #if HAVE_ALTIVEC
4927 if (parasail_can_use_altivec()) {
4928 parasail_sg_qb_de_stats_table_scan_profile_16_pointer = parasail_sg_qb_de_stats_table_scan_profile_altivec_128_16;
4929 }
4930 else
4931 #endif
4932 #if HAVE_NEON
4933 if (parasail_can_use_neon()) {
4934 parasail_sg_qb_de_stats_table_scan_profile_16_pointer = parasail_sg_qb_de_stats_table_scan_profile_neon_128_16;
4935 }
4936 else
4937 #endif
4938 {
4939 parasail_sg_qb_de_stats_table_scan_profile_16_pointer = NULL;
4940 }
4941 return parasail_sg_qb_de_stats_table_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
4942 }
4943
4944 parasail_result_t* parasail_sg_qb_de_stats_table_scan_profile_8_dispatcher(
4945 const parasail_profile_t * const restrict profile,
4946 const char * const restrict s2, const int s2Len,
4947 const int open, const int gap)
4948 {
4949 #if HAVE_AVX2
4950 if (parasail_can_use_avx2()) {
4951 parasail_sg_qb_de_stats_table_scan_profile_8_pointer = parasail_sg_qb_de_stats_table_scan_profile_avx2_256_8;
4952 }
4953 else
4954 #endif
4955 #if HAVE_SSE41
4956 if (parasail_can_use_sse41()) {
4957 parasail_sg_qb_de_stats_table_scan_profile_8_pointer = parasail_sg_qb_de_stats_table_scan_profile_sse41_128_8;
4958 }
4959 else
4960 #endif
4961 #if HAVE_SSE2
4962 if (parasail_can_use_sse2()) {
4963 parasail_sg_qb_de_stats_table_scan_profile_8_pointer = parasail_sg_qb_de_stats_table_scan_profile_sse2_128_8;
4964 }
4965 else
4966 #endif
4967 #if HAVE_ALTIVEC
4968 if (parasail_can_use_altivec()) {
4969 parasail_sg_qb_de_stats_table_scan_profile_8_pointer = parasail_sg_qb_de_stats_table_scan_profile_altivec_128_8;
4970 }
4971 else
4972 #endif
4973 #if HAVE_NEON
4974 if (parasail_can_use_neon()) {
4975 parasail_sg_qb_de_stats_table_scan_profile_8_pointer = parasail_sg_qb_de_stats_table_scan_profile_neon_128_8;
4976 }
4977 else
4978 #endif
4979 {
4980 parasail_sg_qb_de_stats_table_scan_profile_8_pointer = NULL;
4981 }
4982 return parasail_sg_qb_de_stats_table_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
4983 }
4984
4985 parasail_result_t* parasail_sg_qb_de_stats_table_striped_profile_64_dispatcher(
4986 const parasail_profile_t * const restrict profile,
4987 const char * const restrict s2, const int s2Len,
4988 const int open, const int gap)
4989 {
4990 #if HAVE_AVX2
4991 if (parasail_can_use_avx2()) {
4992 parasail_sg_qb_de_stats_table_striped_profile_64_pointer = parasail_sg_qb_de_stats_table_striped_profile_avx2_256_64;
4993 }
4994 else
4995 #endif
4996 #if HAVE_SSE41
4997 if (parasail_can_use_sse41()) {
4998 parasail_sg_qb_de_stats_table_striped_profile_64_pointer = parasail_sg_qb_de_stats_table_striped_profile_sse41_128_64;
4999 }
5000 else
5001 #endif
5002 #if HAVE_SSE2
5003 if (parasail_can_use_sse2()) {
5004 parasail_sg_qb_de_stats_table_striped_profile_64_pointer = parasail_sg_qb_de_stats_table_striped_profile_sse2_128_64;
5005 }
5006 else
5007 #endif
5008 #if HAVE_ALTIVEC
5009 if (parasail_can_use_altivec()) {
5010 parasail_sg_qb_de_stats_table_striped_profile_64_pointer = parasail_sg_qb_de_stats_table_striped_profile_altivec_128_64;
5011 }
5012 else
5013 #endif
5014 #if HAVE_NEON
5015 if (parasail_can_use_neon()) {
5016 parasail_sg_qb_de_stats_table_striped_profile_64_pointer = parasail_sg_qb_de_stats_table_striped_profile_neon_128_64;
5017 }
5018 else
5019 #endif
5020 {
5021 parasail_sg_qb_de_stats_table_striped_profile_64_pointer = NULL;
5022 }
5023 return parasail_sg_qb_de_stats_table_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
5024 }
5025
5026 parasail_result_t* parasail_sg_qb_de_stats_table_striped_profile_32_dispatcher(
5027 const parasail_profile_t * const restrict profile,
5028 const char * const restrict s2, const int s2Len,
5029 const int open, const int gap)
5030 {
5031 #if HAVE_AVX2
5032 if (parasail_can_use_avx2()) {
5033 parasail_sg_qb_de_stats_table_striped_profile_32_pointer = parasail_sg_qb_de_stats_table_striped_profile_avx2_256_32;
5034 }
5035 else
5036 #endif
5037 #if HAVE_SSE41
5038 if (parasail_can_use_sse41()) {
5039 parasail_sg_qb_de_stats_table_striped_profile_32_pointer = parasail_sg_qb_de_stats_table_striped_profile_sse41_128_32;
5040 }
5041 else
5042 #endif
5043 #if HAVE_SSE2
5044 if (parasail_can_use_sse2()) {
5045 parasail_sg_qb_de_stats_table_striped_profile_32_pointer = parasail_sg_qb_de_stats_table_striped_profile_sse2_128_32;
5046 }
5047 else
5048 #endif
5049 #if HAVE_ALTIVEC
5050 if (parasail_can_use_altivec()) {
5051 parasail_sg_qb_de_stats_table_striped_profile_32_pointer = parasail_sg_qb_de_stats_table_striped_profile_altivec_128_32;
5052 }
5053 else
5054 #endif
5055 #if HAVE_NEON
5056 if (parasail_can_use_neon()) {
5057 parasail_sg_qb_de_stats_table_striped_profile_32_pointer = parasail_sg_qb_de_stats_table_striped_profile_neon_128_32;
5058 }
5059 else
5060 #endif
5061 {
5062 parasail_sg_qb_de_stats_table_striped_profile_32_pointer = NULL;
5063 }
5064 return parasail_sg_qb_de_stats_table_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
5065 }
5066
5067 parasail_result_t* parasail_sg_qb_de_stats_table_striped_profile_16_dispatcher(
5068 const parasail_profile_t * const restrict profile,
5069 const char * const restrict s2, const int s2Len,
5070 const int open, const int gap)
5071 {
5072 #if HAVE_AVX2
5073 if (parasail_can_use_avx2()) {
5074 parasail_sg_qb_de_stats_table_striped_profile_16_pointer = parasail_sg_qb_de_stats_table_striped_profile_avx2_256_16;
5075 }
5076 else
5077 #endif
5078 #if HAVE_SSE41
5079 if (parasail_can_use_sse41()) {
5080 parasail_sg_qb_de_stats_table_striped_profile_16_pointer = parasail_sg_qb_de_stats_table_striped_profile_sse41_128_16;
5081 }
5082 else
5083 #endif
5084 #if HAVE_SSE2
5085 if (parasail_can_use_sse2()) {
5086 parasail_sg_qb_de_stats_table_striped_profile_16_pointer = parasail_sg_qb_de_stats_table_striped_profile_sse2_128_16;
5087 }
5088 else
5089 #endif
5090 #if HAVE_ALTIVEC
5091 if (parasail_can_use_altivec()) {
5092 parasail_sg_qb_de_stats_table_striped_profile_16_pointer = parasail_sg_qb_de_stats_table_striped_profile_altivec_128_16;
5093 }
5094 else
5095 #endif
5096 #if HAVE_NEON
5097 if (parasail_can_use_neon()) {
5098 parasail_sg_qb_de_stats_table_striped_profile_16_pointer = parasail_sg_qb_de_stats_table_striped_profile_neon_128_16;
5099 }
5100 else
5101 #endif
5102 {
5103 parasail_sg_qb_de_stats_table_striped_profile_16_pointer = NULL;
5104 }
5105 return parasail_sg_qb_de_stats_table_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
5106 }
5107
5108 parasail_result_t* parasail_sg_qb_de_stats_table_striped_profile_8_dispatcher(
5109 const parasail_profile_t * const restrict profile,
5110 const char * const restrict s2, const int s2Len,
5111 const int open, const int gap)
5112 {
5113 #if HAVE_AVX2
5114 if (parasail_can_use_avx2()) {
5115 parasail_sg_qb_de_stats_table_striped_profile_8_pointer = parasail_sg_qb_de_stats_table_striped_profile_avx2_256_8;
5116 }
5117 else
5118 #endif
5119 #if HAVE_SSE41
5120 if (parasail_can_use_sse41()) {
5121 parasail_sg_qb_de_stats_table_striped_profile_8_pointer = parasail_sg_qb_de_stats_table_striped_profile_sse41_128_8;
5122 }
5123 else
5124 #endif
5125 #if HAVE_SSE2
5126 if (parasail_can_use_sse2()) {
5127 parasail_sg_qb_de_stats_table_striped_profile_8_pointer = parasail_sg_qb_de_stats_table_striped_profile_sse2_128_8;
5128 }
5129 else
5130 #endif
5131 #if HAVE_ALTIVEC
5132 if (parasail_can_use_altivec()) {
5133 parasail_sg_qb_de_stats_table_striped_profile_8_pointer = parasail_sg_qb_de_stats_table_striped_profile_altivec_128_8;
5134 }
5135 else
5136 #endif
5137 #if HAVE_NEON
5138 if (parasail_can_use_neon()) {
5139 parasail_sg_qb_de_stats_table_striped_profile_8_pointer = parasail_sg_qb_de_stats_table_striped_profile_neon_128_8;
5140 }
5141 else
5142 #endif
5143 {
5144 parasail_sg_qb_de_stats_table_striped_profile_8_pointer = NULL;
5145 }
5146 return parasail_sg_qb_de_stats_table_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
5147 }
5148
5149 parasail_result_t* parasail_sg_qb_de_rowcol_scan_profile_64_dispatcher(
5150 const parasail_profile_t * const restrict profile,
5151 const char * const restrict s2, const int s2Len,
5152 const int open, const int gap)
5153 {
5154 #if HAVE_AVX2
5155 if (parasail_can_use_avx2()) {
5156 parasail_sg_qb_de_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_rowcol_scan_profile_avx2_256_64;
5157 }
5158 else
5159 #endif
5160 #if HAVE_SSE41
5161 if (parasail_can_use_sse41()) {
5162 parasail_sg_qb_de_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_rowcol_scan_profile_sse41_128_64;
5163 }
5164 else
5165 #endif
5166 #if HAVE_SSE2
5167 if (parasail_can_use_sse2()) {
5168 parasail_sg_qb_de_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_rowcol_scan_profile_sse2_128_64;
5169 }
5170 else
5171 #endif
5172 #if HAVE_ALTIVEC
5173 if (parasail_can_use_altivec()) {
5174 parasail_sg_qb_de_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_rowcol_scan_profile_altivec_128_64;
5175 }
5176 else
5177 #endif
5178 #if HAVE_NEON
5179 if (parasail_can_use_neon()) {
5180 parasail_sg_qb_de_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_rowcol_scan_profile_neon_128_64;
5181 }
5182 else
5183 #endif
5184 {
5185 parasail_sg_qb_de_rowcol_scan_profile_64_pointer = NULL;
5186 }
5187 return parasail_sg_qb_de_rowcol_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
5188 }
5189
5190 parasail_result_t* parasail_sg_qb_de_rowcol_scan_profile_32_dispatcher(
5191 const parasail_profile_t * const restrict profile,
5192 const char * const restrict s2, const int s2Len,
5193 const int open, const int gap)
5194 {
5195 #if HAVE_AVX2
5196 if (parasail_can_use_avx2()) {
5197 parasail_sg_qb_de_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_rowcol_scan_profile_avx2_256_32;
5198 }
5199 else
5200 #endif
5201 #if HAVE_SSE41
5202 if (parasail_can_use_sse41()) {
5203 parasail_sg_qb_de_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_rowcol_scan_profile_sse41_128_32;
5204 }
5205 else
5206 #endif
5207 #if HAVE_SSE2
5208 if (parasail_can_use_sse2()) {
5209 parasail_sg_qb_de_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_rowcol_scan_profile_sse2_128_32;
5210 }
5211 else
5212 #endif
5213 #if HAVE_ALTIVEC
5214 if (parasail_can_use_altivec()) {
5215 parasail_sg_qb_de_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_rowcol_scan_profile_altivec_128_32;
5216 }
5217 else
5218 #endif
5219 #if HAVE_NEON
5220 if (parasail_can_use_neon()) {
5221 parasail_sg_qb_de_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_rowcol_scan_profile_neon_128_32;
5222 }
5223 else
5224 #endif
5225 {
5226 parasail_sg_qb_de_rowcol_scan_profile_32_pointer = NULL;
5227 }
5228 return parasail_sg_qb_de_rowcol_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
5229 }
5230
5231 parasail_result_t* parasail_sg_qb_de_rowcol_scan_profile_16_dispatcher(
5232 const parasail_profile_t * const restrict profile,
5233 const char * const restrict s2, const int s2Len,
5234 const int open, const int gap)
5235 {
5236 #if HAVE_AVX2
5237 if (parasail_can_use_avx2()) {
5238 parasail_sg_qb_de_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_rowcol_scan_profile_avx2_256_16;
5239 }
5240 else
5241 #endif
5242 #if HAVE_SSE41
5243 if (parasail_can_use_sse41()) {
5244 parasail_sg_qb_de_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_rowcol_scan_profile_sse41_128_16;
5245 }
5246 else
5247 #endif
5248 #if HAVE_SSE2
5249 if (parasail_can_use_sse2()) {
5250 parasail_sg_qb_de_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_rowcol_scan_profile_sse2_128_16;
5251 }
5252 else
5253 #endif
5254 #if HAVE_ALTIVEC
5255 if (parasail_can_use_altivec()) {
5256 parasail_sg_qb_de_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_rowcol_scan_profile_altivec_128_16;
5257 }
5258 else
5259 #endif
5260 #if HAVE_NEON
5261 if (parasail_can_use_neon()) {
5262 parasail_sg_qb_de_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_rowcol_scan_profile_neon_128_16;
5263 }
5264 else
5265 #endif
5266 {
5267 parasail_sg_qb_de_rowcol_scan_profile_16_pointer = NULL;
5268 }
5269 return parasail_sg_qb_de_rowcol_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
5270 }
5271
5272 parasail_result_t* parasail_sg_qb_de_rowcol_scan_profile_8_dispatcher(
5273 const parasail_profile_t * const restrict profile,
5274 const char * const restrict s2, const int s2Len,
5275 const int open, const int gap)
5276 {
5277 #if HAVE_AVX2
5278 if (parasail_can_use_avx2()) {
5279 parasail_sg_qb_de_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_rowcol_scan_profile_avx2_256_8;
5280 }
5281 else
5282 #endif
5283 #if HAVE_SSE41
5284 if (parasail_can_use_sse41()) {
5285 parasail_sg_qb_de_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_rowcol_scan_profile_sse41_128_8;
5286 }
5287 else
5288 #endif
5289 #if HAVE_SSE2
5290 if (parasail_can_use_sse2()) {
5291 parasail_sg_qb_de_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_rowcol_scan_profile_sse2_128_8;
5292 }
5293 else
5294 #endif
5295 #if HAVE_ALTIVEC
5296 if (parasail_can_use_altivec()) {
5297 parasail_sg_qb_de_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_rowcol_scan_profile_altivec_128_8;
5298 }
5299 else
5300 #endif
5301 #if HAVE_NEON
5302 if (parasail_can_use_neon()) {
5303 parasail_sg_qb_de_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_rowcol_scan_profile_neon_128_8;
5304 }
5305 else
5306 #endif
5307 {
5308 parasail_sg_qb_de_rowcol_scan_profile_8_pointer = NULL;
5309 }
5310 return parasail_sg_qb_de_rowcol_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
5311 }
5312
5313 parasail_result_t* parasail_sg_qb_de_rowcol_striped_profile_64_dispatcher(
5314 const parasail_profile_t * const restrict profile,
5315 const char * const restrict s2, const int s2Len,
5316 const int open, const int gap)
5317 {
5318 #if HAVE_AVX2
5319 if (parasail_can_use_avx2()) {
5320 parasail_sg_qb_de_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_rowcol_striped_profile_avx2_256_64;
5321 }
5322 else
5323 #endif
5324 #if HAVE_SSE41
5325 if (parasail_can_use_sse41()) {
5326 parasail_sg_qb_de_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_rowcol_striped_profile_sse41_128_64;
5327 }
5328 else
5329 #endif
5330 #if HAVE_SSE2
5331 if (parasail_can_use_sse2()) {
5332 parasail_sg_qb_de_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_rowcol_striped_profile_sse2_128_64;
5333 }
5334 else
5335 #endif
5336 #if HAVE_ALTIVEC
5337 if (parasail_can_use_altivec()) {
5338 parasail_sg_qb_de_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_rowcol_striped_profile_altivec_128_64;
5339 }
5340 else
5341 #endif
5342 #if HAVE_NEON
5343 if (parasail_can_use_neon()) {
5344 parasail_sg_qb_de_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_rowcol_striped_profile_neon_128_64;
5345 }
5346 else
5347 #endif
5348 {
5349 parasail_sg_qb_de_rowcol_striped_profile_64_pointer = NULL;
5350 }
5351 return parasail_sg_qb_de_rowcol_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
5352 }
5353
5354 parasail_result_t* parasail_sg_qb_de_rowcol_striped_profile_32_dispatcher(
5355 const parasail_profile_t * const restrict profile,
5356 const char * const restrict s2, const int s2Len,
5357 const int open, const int gap)
5358 {
5359 #if HAVE_AVX2
5360 if (parasail_can_use_avx2()) {
5361 parasail_sg_qb_de_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_rowcol_striped_profile_avx2_256_32;
5362 }
5363 else
5364 #endif
5365 #if HAVE_SSE41
5366 if (parasail_can_use_sse41()) {
5367 parasail_sg_qb_de_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_rowcol_striped_profile_sse41_128_32;
5368 }
5369 else
5370 #endif
5371 #if HAVE_SSE2
5372 if (parasail_can_use_sse2()) {
5373 parasail_sg_qb_de_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_rowcol_striped_profile_sse2_128_32;
5374 }
5375 else
5376 #endif
5377 #if HAVE_ALTIVEC
5378 if (parasail_can_use_altivec()) {
5379 parasail_sg_qb_de_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_rowcol_striped_profile_altivec_128_32;
5380 }
5381 else
5382 #endif
5383 #if HAVE_NEON
5384 if (parasail_can_use_neon()) {
5385 parasail_sg_qb_de_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_rowcol_striped_profile_neon_128_32;
5386 }
5387 else
5388 #endif
5389 {
5390 parasail_sg_qb_de_rowcol_striped_profile_32_pointer = NULL;
5391 }
5392 return parasail_sg_qb_de_rowcol_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
5393 }
5394
5395 parasail_result_t* parasail_sg_qb_de_rowcol_striped_profile_16_dispatcher(
5396 const parasail_profile_t * const restrict profile,
5397 const char * const restrict s2, const int s2Len,
5398 const int open, const int gap)
5399 {
5400 #if HAVE_AVX2
5401 if (parasail_can_use_avx2()) {
5402 parasail_sg_qb_de_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_rowcol_striped_profile_avx2_256_16;
5403 }
5404 else
5405 #endif
5406 #if HAVE_SSE41
5407 if (parasail_can_use_sse41()) {
5408 parasail_sg_qb_de_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_rowcol_striped_profile_sse41_128_16;
5409 }
5410 else
5411 #endif
5412 #if HAVE_SSE2
5413 if (parasail_can_use_sse2()) {
5414 parasail_sg_qb_de_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_rowcol_striped_profile_sse2_128_16;
5415 }
5416 else
5417 #endif
5418 #if HAVE_ALTIVEC
5419 if (parasail_can_use_altivec()) {
5420 parasail_sg_qb_de_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_rowcol_striped_profile_altivec_128_16;
5421 }
5422 else
5423 #endif
5424 #if HAVE_NEON
5425 if (parasail_can_use_neon()) {
5426 parasail_sg_qb_de_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_rowcol_striped_profile_neon_128_16;
5427 }
5428 else
5429 #endif
5430 {
5431 parasail_sg_qb_de_rowcol_striped_profile_16_pointer = NULL;
5432 }
5433 return parasail_sg_qb_de_rowcol_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
5434 }
5435
5436 parasail_result_t* parasail_sg_qb_de_rowcol_striped_profile_8_dispatcher(
5437 const parasail_profile_t * const restrict profile,
5438 const char * const restrict s2, const int s2Len,
5439 const int open, const int gap)
5440 {
5441 #if HAVE_AVX2
5442 if (parasail_can_use_avx2()) {
5443 parasail_sg_qb_de_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_rowcol_striped_profile_avx2_256_8;
5444 }
5445 else
5446 #endif
5447 #if HAVE_SSE41
5448 if (parasail_can_use_sse41()) {
5449 parasail_sg_qb_de_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_rowcol_striped_profile_sse41_128_8;
5450 }
5451 else
5452 #endif
5453 #if HAVE_SSE2
5454 if (parasail_can_use_sse2()) {
5455 parasail_sg_qb_de_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_rowcol_striped_profile_sse2_128_8;
5456 }
5457 else
5458 #endif
5459 #if HAVE_ALTIVEC
5460 if (parasail_can_use_altivec()) {
5461 parasail_sg_qb_de_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_rowcol_striped_profile_altivec_128_8;
5462 }
5463 else
5464 #endif
5465 #if HAVE_NEON
5466 if (parasail_can_use_neon()) {
5467 parasail_sg_qb_de_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_rowcol_striped_profile_neon_128_8;
5468 }
5469 else
5470 #endif
5471 {
5472 parasail_sg_qb_de_rowcol_striped_profile_8_pointer = NULL;
5473 }
5474 return parasail_sg_qb_de_rowcol_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
5475 }
5476
5477 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_profile_64_dispatcher(
5478 const parasail_profile_t * const restrict profile,
5479 const char * const restrict s2, const int s2Len,
5480 const int open, const int gap)
5481 {
5482 #if HAVE_AVX2
5483 if (parasail_can_use_avx2()) {
5484 parasail_sg_qb_de_stats_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_avx2_256_64;
5485 }
5486 else
5487 #endif
5488 #if HAVE_SSE41
5489 if (parasail_can_use_sse41()) {
5490 parasail_sg_qb_de_stats_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_sse41_128_64;
5491 }
5492 else
5493 #endif
5494 #if HAVE_SSE2
5495 if (parasail_can_use_sse2()) {
5496 parasail_sg_qb_de_stats_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_sse2_128_64;
5497 }
5498 else
5499 #endif
5500 #if HAVE_ALTIVEC
5501 if (parasail_can_use_altivec()) {
5502 parasail_sg_qb_de_stats_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_altivec_128_64;
5503 }
5504 else
5505 #endif
5506 #if HAVE_NEON
5507 if (parasail_can_use_neon()) {
5508 parasail_sg_qb_de_stats_rowcol_scan_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_neon_128_64;
5509 }
5510 else
5511 #endif
5512 {
5513 parasail_sg_qb_de_stats_rowcol_scan_profile_64_pointer = NULL;
5514 }
5515 return parasail_sg_qb_de_stats_rowcol_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
5516 }
5517
5518 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_profile_32_dispatcher(
5519 const parasail_profile_t * const restrict profile,
5520 const char * const restrict s2, const int s2Len,
5521 const int open, const int gap)
5522 {
5523 #if HAVE_AVX2
5524 if (parasail_can_use_avx2()) {
5525 parasail_sg_qb_de_stats_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_avx2_256_32;
5526 }
5527 else
5528 #endif
5529 #if HAVE_SSE41
5530 if (parasail_can_use_sse41()) {
5531 parasail_sg_qb_de_stats_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_sse41_128_32;
5532 }
5533 else
5534 #endif
5535 #if HAVE_SSE2
5536 if (parasail_can_use_sse2()) {
5537 parasail_sg_qb_de_stats_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_sse2_128_32;
5538 }
5539 else
5540 #endif
5541 #if HAVE_ALTIVEC
5542 if (parasail_can_use_altivec()) {
5543 parasail_sg_qb_de_stats_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_altivec_128_32;
5544 }
5545 else
5546 #endif
5547 #if HAVE_NEON
5548 if (parasail_can_use_neon()) {
5549 parasail_sg_qb_de_stats_rowcol_scan_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_neon_128_32;
5550 }
5551 else
5552 #endif
5553 {
5554 parasail_sg_qb_de_stats_rowcol_scan_profile_32_pointer = NULL;
5555 }
5556 return parasail_sg_qb_de_stats_rowcol_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
5557 }
5558
5559 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_profile_16_dispatcher(
5560 const parasail_profile_t * const restrict profile,
5561 const char * const restrict s2, const int s2Len,
5562 const int open, const int gap)
5563 {
5564 #if HAVE_AVX2
5565 if (parasail_can_use_avx2()) {
5566 parasail_sg_qb_de_stats_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_avx2_256_16;
5567 }
5568 else
5569 #endif
5570 #if HAVE_SSE41
5571 if (parasail_can_use_sse41()) {
5572 parasail_sg_qb_de_stats_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_sse41_128_16;
5573 }
5574 else
5575 #endif
5576 #if HAVE_SSE2
5577 if (parasail_can_use_sse2()) {
5578 parasail_sg_qb_de_stats_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_sse2_128_16;
5579 }
5580 else
5581 #endif
5582 #if HAVE_ALTIVEC
5583 if (parasail_can_use_altivec()) {
5584 parasail_sg_qb_de_stats_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_altivec_128_16;
5585 }
5586 else
5587 #endif
5588 #if HAVE_NEON
5589 if (parasail_can_use_neon()) {
5590 parasail_sg_qb_de_stats_rowcol_scan_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_neon_128_16;
5591 }
5592 else
5593 #endif
5594 {
5595 parasail_sg_qb_de_stats_rowcol_scan_profile_16_pointer = NULL;
5596 }
5597 return parasail_sg_qb_de_stats_rowcol_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
5598 }
5599
5600 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_profile_8_dispatcher(
5601 const parasail_profile_t * const restrict profile,
5602 const char * const restrict s2, const int s2Len,
5603 const int open, const int gap)
5604 {
5605 #if HAVE_AVX2
5606 if (parasail_can_use_avx2()) {
5607 parasail_sg_qb_de_stats_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_avx2_256_8;
5608 }
5609 else
5610 #endif
5611 #if HAVE_SSE41
5612 if (parasail_can_use_sse41()) {
5613 parasail_sg_qb_de_stats_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_sse41_128_8;
5614 }
5615 else
5616 #endif
5617 #if HAVE_SSE2
5618 if (parasail_can_use_sse2()) {
5619 parasail_sg_qb_de_stats_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_sse2_128_8;
5620 }
5621 else
5622 #endif
5623 #if HAVE_ALTIVEC
5624 if (parasail_can_use_altivec()) {
5625 parasail_sg_qb_de_stats_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_altivec_128_8;
5626 }
5627 else
5628 #endif
5629 #if HAVE_NEON
5630 if (parasail_can_use_neon()) {
5631 parasail_sg_qb_de_stats_rowcol_scan_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_scan_profile_neon_128_8;
5632 }
5633 else
5634 #endif
5635 {
5636 parasail_sg_qb_de_stats_rowcol_scan_profile_8_pointer = NULL;
5637 }
5638 return parasail_sg_qb_de_stats_rowcol_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
5639 }
5640
5641 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_profile_64_dispatcher(
5642 const parasail_profile_t * const restrict profile,
5643 const char * const restrict s2, const int s2Len,
5644 const int open, const int gap)
5645 {
5646 #if HAVE_AVX2
5647 if (parasail_can_use_avx2()) {
5648 parasail_sg_qb_de_stats_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_avx2_256_64;
5649 }
5650 else
5651 #endif
5652 #if HAVE_SSE41
5653 if (parasail_can_use_sse41()) {
5654 parasail_sg_qb_de_stats_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_sse41_128_64;
5655 }
5656 else
5657 #endif
5658 #if HAVE_SSE2
5659 if (parasail_can_use_sse2()) {
5660 parasail_sg_qb_de_stats_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_sse2_128_64;
5661 }
5662 else
5663 #endif
5664 #if HAVE_ALTIVEC
5665 if (parasail_can_use_altivec()) {
5666 parasail_sg_qb_de_stats_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_altivec_128_64;
5667 }
5668 else
5669 #endif
5670 #if HAVE_NEON
5671 if (parasail_can_use_neon()) {
5672 parasail_sg_qb_de_stats_rowcol_striped_profile_64_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_neon_128_64;
5673 }
5674 else
5675 #endif
5676 {
5677 parasail_sg_qb_de_stats_rowcol_striped_profile_64_pointer = NULL;
5678 }
5679 return parasail_sg_qb_de_stats_rowcol_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
5680 }
5681
5682 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_profile_32_dispatcher(
5683 const parasail_profile_t * const restrict profile,
5684 const char * const restrict s2, const int s2Len,
5685 const int open, const int gap)
5686 {
5687 #if HAVE_AVX2
5688 if (parasail_can_use_avx2()) {
5689 parasail_sg_qb_de_stats_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_avx2_256_32;
5690 }
5691 else
5692 #endif
5693 #if HAVE_SSE41
5694 if (parasail_can_use_sse41()) {
5695 parasail_sg_qb_de_stats_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_sse41_128_32;
5696 }
5697 else
5698 #endif
5699 #if HAVE_SSE2
5700 if (parasail_can_use_sse2()) {
5701 parasail_sg_qb_de_stats_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_sse2_128_32;
5702 }
5703 else
5704 #endif
5705 #if HAVE_ALTIVEC
5706 if (parasail_can_use_altivec()) {
5707 parasail_sg_qb_de_stats_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_altivec_128_32;
5708 }
5709 else
5710 #endif
5711 #if HAVE_NEON
5712 if (parasail_can_use_neon()) {
5713 parasail_sg_qb_de_stats_rowcol_striped_profile_32_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_neon_128_32;
5714 }
5715 else
5716 #endif
5717 {
5718 parasail_sg_qb_de_stats_rowcol_striped_profile_32_pointer = NULL;
5719 }
5720 return parasail_sg_qb_de_stats_rowcol_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
5721 }
5722
5723 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_profile_16_dispatcher(
5724 const parasail_profile_t * const restrict profile,
5725 const char * const restrict s2, const int s2Len,
5726 const int open, const int gap)
5727 {
5728 #if HAVE_AVX2
5729 if (parasail_can_use_avx2()) {
5730 parasail_sg_qb_de_stats_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_avx2_256_16;
5731 }
5732 else
5733 #endif
5734 #if HAVE_SSE41
5735 if (parasail_can_use_sse41()) {
5736 parasail_sg_qb_de_stats_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_sse41_128_16;
5737 }
5738 else
5739 #endif
5740 #if HAVE_SSE2
5741 if (parasail_can_use_sse2()) {
5742 parasail_sg_qb_de_stats_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_sse2_128_16;
5743 }
5744 else
5745 #endif
5746 #if HAVE_ALTIVEC
5747 if (parasail_can_use_altivec()) {
5748 parasail_sg_qb_de_stats_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_altivec_128_16;
5749 }
5750 else
5751 #endif
5752 #if HAVE_NEON
5753 if (parasail_can_use_neon()) {
5754 parasail_sg_qb_de_stats_rowcol_striped_profile_16_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_neon_128_16;
5755 }
5756 else
5757 #endif
5758 {
5759 parasail_sg_qb_de_stats_rowcol_striped_profile_16_pointer = NULL;
5760 }
5761 return parasail_sg_qb_de_stats_rowcol_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
5762 }
5763
5764 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_profile_8_dispatcher(
5765 const parasail_profile_t * const restrict profile,
5766 const char * const restrict s2, const int s2Len,
5767 const int open, const int gap)
5768 {
5769 #if HAVE_AVX2
5770 if (parasail_can_use_avx2()) {
5771 parasail_sg_qb_de_stats_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_avx2_256_8;
5772 }
5773 else
5774 #endif
5775 #if HAVE_SSE41
5776 if (parasail_can_use_sse41()) {
5777 parasail_sg_qb_de_stats_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_sse41_128_8;
5778 }
5779 else
5780 #endif
5781 #if HAVE_SSE2
5782 if (parasail_can_use_sse2()) {
5783 parasail_sg_qb_de_stats_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_sse2_128_8;
5784 }
5785 else
5786 #endif
5787 #if HAVE_ALTIVEC
5788 if (parasail_can_use_altivec()) {
5789 parasail_sg_qb_de_stats_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_altivec_128_8;
5790 }
5791 else
5792 #endif
5793 #if HAVE_NEON
5794 if (parasail_can_use_neon()) {
5795 parasail_sg_qb_de_stats_rowcol_striped_profile_8_pointer = parasail_sg_qb_de_stats_rowcol_striped_profile_neon_128_8;
5796 }
5797 else
5798 #endif
5799 {
5800 parasail_sg_qb_de_stats_rowcol_striped_profile_8_pointer = NULL;
5801 }
5802 return parasail_sg_qb_de_stats_rowcol_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
5803 }
5804
5805 parasail_result_t* parasail_sg_qb_de_trace_scan_profile_64_dispatcher(
5806 const parasail_profile_t * const restrict profile,
5807 const char * const restrict s2, const int s2Len,
5808 const int open, const int gap)
5809 {
5810 #if HAVE_AVX2
5811 if (parasail_can_use_avx2()) {
5812 parasail_sg_qb_de_trace_scan_profile_64_pointer = parasail_sg_qb_de_trace_scan_profile_avx2_256_64;
5813 }
5814 else
5815 #endif
5816 #if HAVE_SSE41
5817 if (parasail_can_use_sse41()) {
5818 parasail_sg_qb_de_trace_scan_profile_64_pointer = parasail_sg_qb_de_trace_scan_profile_sse41_128_64;
5819 }
5820 else
5821 #endif
5822 #if HAVE_SSE2
5823 if (parasail_can_use_sse2()) {
5824 parasail_sg_qb_de_trace_scan_profile_64_pointer = parasail_sg_qb_de_trace_scan_profile_sse2_128_64;
5825 }
5826 else
5827 #endif
5828 #if HAVE_ALTIVEC
5829 if (parasail_can_use_altivec()) {
5830 parasail_sg_qb_de_trace_scan_profile_64_pointer = parasail_sg_qb_de_trace_scan_profile_altivec_128_64;
5831 }
5832 else
5833 #endif
5834 #if HAVE_NEON
5835 if (parasail_can_use_neon()) {
5836 parasail_sg_qb_de_trace_scan_profile_64_pointer = parasail_sg_qb_de_trace_scan_profile_neon_128_64;
5837 }
5838 else
5839 #endif
5840 {
5841 parasail_sg_qb_de_trace_scan_profile_64_pointer = NULL;
5842 }
5843 return parasail_sg_qb_de_trace_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
5844 }
5845
5846 parasail_result_t* parasail_sg_qb_de_trace_scan_profile_32_dispatcher(
5847 const parasail_profile_t * const restrict profile,
5848 const char * const restrict s2, const int s2Len,
5849 const int open, const int gap)
5850 {
5851 #if HAVE_AVX2
5852 if (parasail_can_use_avx2()) {
5853 parasail_sg_qb_de_trace_scan_profile_32_pointer = parasail_sg_qb_de_trace_scan_profile_avx2_256_32;
5854 }
5855 else
5856 #endif
5857 #if HAVE_SSE41
5858 if (parasail_can_use_sse41()) {
5859 parasail_sg_qb_de_trace_scan_profile_32_pointer = parasail_sg_qb_de_trace_scan_profile_sse41_128_32;
5860 }
5861 else
5862 #endif
5863 #if HAVE_SSE2
5864 if (parasail_can_use_sse2()) {
5865 parasail_sg_qb_de_trace_scan_profile_32_pointer = parasail_sg_qb_de_trace_scan_profile_sse2_128_32;
5866 }
5867 else
5868 #endif
5869 #if HAVE_ALTIVEC
5870 if (parasail_can_use_altivec()) {
5871 parasail_sg_qb_de_trace_scan_profile_32_pointer = parasail_sg_qb_de_trace_scan_profile_altivec_128_32;
5872 }
5873 else
5874 #endif
5875 #if HAVE_NEON
5876 if (parasail_can_use_neon()) {
5877 parasail_sg_qb_de_trace_scan_profile_32_pointer = parasail_sg_qb_de_trace_scan_profile_neon_128_32;
5878 }
5879 else
5880 #endif
5881 {
5882 parasail_sg_qb_de_trace_scan_profile_32_pointer = NULL;
5883 }
5884 return parasail_sg_qb_de_trace_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
5885 }
5886
5887 parasail_result_t* parasail_sg_qb_de_trace_scan_profile_16_dispatcher(
5888 const parasail_profile_t * const restrict profile,
5889 const char * const restrict s2, const int s2Len,
5890 const int open, const int gap)
5891 {
5892 #if HAVE_AVX2
5893 if (parasail_can_use_avx2()) {
5894 parasail_sg_qb_de_trace_scan_profile_16_pointer = parasail_sg_qb_de_trace_scan_profile_avx2_256_16;
5895 }
5896 else
5897 #endif
5898 #if HAVE_SSE41
5899 if (parasail_can_use_sse41()) {
5900 parasail_sg_qb_de_trace_scan_profile_16_pointer = parasail_sg_qb_de_trace_scan_profile_sse41_128_16;
5901 }
5902 else
5903 #endif
5904 #if HAVE_SSE2
5905 if (parasail_can_use_sse2()) {
5906 parasail_sg_qb_de_trace_scan_profile_16_pointer = parasail_sg_qb_de_trace_scan_profile_sse2_128_16;
5907 }
5908 else
5909 #endif
5910 #if HAVE_ALTIVEC
5911 if (parasail_can_use_altivec()) {
5912 parasail_sg_qb_de_trace_scan_profile_16_pointer = parasail_sg_qb_de_trace_scan_profile_altivec_128_16;
5913 }
5914 else
5915 #endif
5916 #if HAVE_NEON
5917 if (parasail_can_use_neon()) {
5918 parasail_sg_qb_de_trace_scan_profile_16_pointer = parasail_sg_qb_de_trace_scan_profile_neon_128_16;
5919 }
5920 else
5921 #endif
5922 {
5923 parasail_sg_qb_de_trace_scan_profile_16_pointer = NULL;
5924 }
5925 return parasail_sg_qb_de_trace_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
5926 }
5927
5928 parasail_result_t* parasail_sg_qb_de_trace_scan_profile_8_dispatcher(
5929 const parasail_profile_t * const restrict profile,
5930 const char * const restrict s2, const int s2Len,
5931 const int open, const int gap)
5932 {
5933 #if HAVE_AVX2
5934 if (parasail_can_use_avx2()) {
5935 parasail_sg_qb_de_trace_scan_profile_8_pointer = parasail_sg_qb_de_trace_scan_profile_avx2_256_8;
5936 }
5937 else
5938 #endif
5939 #if HAVE_SSE41
5940 if (parasail_can_use_sse41()) {
5941 parasail_sg_qb_de_trace_scan_profile_8_pointer = parasail_sg_qb_de_trace_scan_profile_sse41_128_8;
5942 }
5943 else
5944 #endif
5945 #if HAVE_SSE2
5946 if (parasail_can_use_sse2()) {
5947 parasail_sg_qb_de_trace_scan_profile_8_pointer = parasail_sg_qb_de_trace_scan_profile_sse2_128_8;
5948 }
5949 else
5950 #endif
5951 #if HAVE_ALTIVEC
5952 if (parasail_can_use_altivec()) {
5953 parasail_sg_qb_de_trace_scan_profile_8_pointer = parasail_sg_qb_de_trace_scan_profile_altivec_128_8;
5954 }
5955 else
5956 #endif
5957 #if HAVE_NEON
5958 if (parasail_can_use_neon()) {
5959 parasail_sg_qb_de_trace_scan_profile_8_pointer = parasail_sg_qb_de_trace_scan_profile_neon_128_8;
5960 }
5961 else
5962 #endif
5963 {
5964 parasail_sg_qb_de_trace_scan_profile_8_pointer = NULL;
5965 }
5966 return parasail_sg_qb_de_trace_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
5967 }
5968
5969 parasail_result_t* parasail_sg_qb_de_trace_striped_profile_64_dispatcher(
5970 const parasail_profile_t * const restrict profile,
5971 const char * const restrict s2, const int s2Len,
5972 const int open, const int gap)
5973 {
5974 #if HAVE_AVX2
5975 if (parasail_can_use_avx2()) {
5976 parasail_sg_qb_de_trace_striped_profile_64_pointer = parasail_sg_qb_de_trace_striped_profile_avx2_256_64;
5977 }
5978 else
5979 #endif
5980 #if HAVE_SSE41
5981 if (parasail_can_use_sse41()) {
5982 parasail_sg_qb_de_trace_striped_profile_64_pointer = parasail_sg_qb_de_trace_striped_profile_sse41_128_64;
5983 }
5984 else
5985 #endif
5986 #if HAVE_SSE2
5987 if (parasail_can_use_sse2()) {
5988 parasail_sg_qb_de_trace_striped_profile_64_pointer = parasail_sg_qb_de_trace_striped_profile_sse2_128_64;
5989 }
5990 else
5991 #endif
5992 #if HAVE_ALTIVEC
5993 if (parasail_can_use_altivec()) {
5994 parasail_sg_qb_de_trace_striped_profile_64_pointer = parasail_sg_qb_de_trace_striped_profile_altivec_128_64;
5995 }
5996 else
5997 #endif
5998 #if HAVE_NEON
5999 if (parasail_can_use_neon()) {
6000 parasail_sg_qb_de_trace_striped_profile_64_pointer = parasail_sg_qb_de_trace_striped_profile_neon_128_64;
6001 }
6002 else
6003 #endif
6004 {
6005 parasail_sg_qb_de_trace_striped_profile_64_pointer = NULL;
6006 }
6007 return parasail_sg_qb_de_trace_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
6008 }
6009
6010 parasail_result_t* parasail_sg_qb_de_trace_striped_profile_32_dispatcher(
6011 const parasail_profile_t * const restrict profile,
6012 const char * const restrict s2, const int s2Len,
6013 const int open, const int gap)
6014 {
6015 #if HAVE_AVX2
6016 if (parasail_can_use_avx2()) {
6017 parasail_sg_qb_de_trace_striped_profile_32_pointer = parasail_sg_qb_de_trace_striped_profile_avx2_256_32;
6018 }
6019 else
6020 #endif
6021 #if HAVE_SSE41
6022 if (parasail_can_use_sse41()) {
6023 parasail_sg_qb_de_trace_striped_profile_32_pointer = parasail_sg_qb_de_trace_striped_profile_sse41_128_32;
6024 }
6025 else
6026 #endif
6027 #if HAVE_SSE2
6028 if (parasail_can_use_sse2()) {
6029 parasail_sg_qb_de_trace_striped_profile_32_pointer = parasail_sg_qb_de_trace_striped_profile_sse2_128_32;
6030 }
6031 else
6032 #endif
6033 #if HAVE_ALTIVEC
6034 if (parasail_can_use_altivec()) {
6035 parasail_sg_qb_de_trace_striped_profile_32_pointer = parasail_sg_qb_de_trace_striped_profile_altivec_128_32;
6036 }
6037 else
6038 #endif
6039 #if HAVE_NEON
6040 if (parasail_can_use_neon()) {
6041 parasail_sg_qb_de_trace_striped_profile_32_pointer = parasail_sg_qb_de_trace_striped_profile_neon_128_32;
6042 }
6043 else
6044 #endif
6045 {
6046 parasail_sg_qb_de_trace_striped_profile_32_pointer = NULL;
6047 }
6048 return parasail_sg_qb_de_trace_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
6049 }
6050
6051 parasail_result_t* parasail_sg_qb_de_trace_striped_profile_16_dispatcher(
6052 const parasail_profile_t * const restrict profile,
6053 const char * const restrict s2, const int s2Len,
6054 const int open, const int gap)
6055 {
6056 #if HAVE_AVX2
6057 if (parasail_can_use_avx2()) {
6058 parasail_sg_qb_de_trace_striped_profile_16_pointer = parasail_sg_qb_de_trace_striped_profile_avx2_256_16;
6059 }
6060 else
6061 #endif
6062 #if HAVE_SSE41
6063 if (parasail_can_use_sse41()) {
6064 parasail_sg_qb_de_trace_striped_profile_16_pointer = parasail_sg_qb_de_trace_striped_profile_sse41_128_16;
6065 }
6066 else
6067 #endif
6068 #if HAVE_SSE2
6069 if (parasail_can_use_sse2()) {
6070 parasail_sg_qb_de_trace_striped_profile_16_pointer = parasail_sg_qb_de_trace_striped_profile_sse2_128_16;
6071 }
6072 else
6073 #endif
6074 #if HAVE_ALTIVEC
6075 if (parasail_can_use_altivec()) {
6076 parasail_sg_qb_de_trace_striped_profile_16_pointer = parasail_sg_qb_de_trace_striped_profile_altivec_128_16;
6077 }
6078 else
6079 #endif
6080 #if HAVE_NEON
6081 if (parasail_can_use_neon()) {
6082 parasail_sg_qb_de_trace_striped_profile_16_pointer = parasail_sg_qb_de_trace_striped_profile_neon_128_16;
6083 }
6084 else
6085 #endif
6086 {
6087 parasail_sg_qb_de_trace_striped_profile_16_pointer = NULL;
6088 }
6089 return parasail_sg_qb_de_trace_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
6090 }
6091
6092 parasail_result_t* parasail_sg_qb_de_trace_striped_profile_8_dispatcher(
6093 const parasail_profile_t * const restrict profile,
6094 const char * const restrict s2, const int s2Len,
6095 const int open, const int gap)
6096 {
6097 #if HAVE_AVX2
6098 if (parasail_can_use_avx2()) {
6099 parasail_sg_qb_de_trace_striped_profile_8_pointer = parasail_sg_qb_de_trace_striped_profile_avx2_256_8;
6100 }
6101 else
6102 #endif
6103 #if HAVE_SSE41
6104 if (parasail_can_use_sse41()) {
6105 parasail_sg_qb_de_trace_striped_profile_8_pointer = parasail_sg_qb_de_trace_striped_profile_sse41_128_8;
6106 }
6107 else
6108 #endif
6109 #if HAVE_SSE2
6110 if (parasail_can_use_sse2()) {
6111 parasail_sg_qb_de_trace_striped_profile_8_pointer = parasail_sg_qb_de_trace_striped_profile_sse2_128_8;
6112 }
6113 else
6114 #endif
6115 #if HAVE_ALTIVEC
6116 if (parasail_can_use_altivec()) {
6117 parasail_sg_qb_de_trace_striped_profile_8_pointer = parasail_sg_qb_de_trace_striped_profile_altivec_128_8;
6118 }
6119 else
6120 #endif
6121 #if HAVE_NEON
6122 if (parasail_can_use_neon()) {
6123 parasail_sg_qb_de_trace_striped_profile_8_pointer = parasail_sg_qb_de_trace_striped_profile_neon_128_8;
6124 }
6125 else
6126 #endif
6127 {
6128 parasail_sg_qb_de_trace_striped_profile_8_pointer = NULL;
6129 }
6130 return parasail_sg_qb_de_trace_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
6131 }
6132
6133 /* implementation which simply calls the pointer,
6134 * first time it's the dispatcher, otherwise it's correct impl */
6135
6136 parasail_result_t* parasail_sg_qb_de_scan_64(
6137 const char * const restrict s1, const int s1Len,
6138 const char * const restrict s2, const int s2Len,
6139 const int open, const int gap,
6140 const parasail_matrix_t *matrix)
6141 {
6142 return parasail_sg_qb_de_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6143 }
6144
6145 parasail_result_t* parasail_sg_qb_de_scan_32(
6146 const char * const restrict s1, const int s1Len,
6147 const char * const restrict s2, const int s2Len,
6148 const int open, const int gap,
6149 const parasail_matrix_t *matrix)
6150 {
6151 return parasail_sg_qb_de_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6152 }
6153
6154 parasail_result_t* parasail_sg_qb_de_scan_16(
6155 const char * const restrict s1, const int s1Len,
6156 const char * const restrict s2, const int s2Len,
6157 const int open, const int gap,
6158 const parasail_matrix_t *matrix)
6159 {
6160 return parasail_sg_qb_de_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6161 }
6162
6163 parasail_result_t* parasail_sg_qb_de_scan_8(
6164 const char * const restrict s1, const int s1Len,
6165 const char * const restrict s2, const int s2Len,
6166 const int open, const int gap,
6167 const parasail_matrix_t *matrix)
6168 {
6169 return parasail_sg_qb_de_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6170 }
6171
6172 parasail_result_t* parasail_sg_qb_de_striped_64(
6173 const char * const restrict s1, const int s1Len,
6174 const char * const restrict s2, const int s2Len,
6175 const int open, const int gap,
6176 const parasail_matrix_t *matrix)
6177 {
6178 return parasail_sg_qb_de_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6179 }
6180
6181 parasail_result_t* parasail_sg_qb_de_striped_32(
6182 const char * const restrict s1, const int s1Len,
6183 const char * const restrict s2, const int s2Len,
6184 const int open, const int gap,
6185 const parasail_matrix_t *matrix)
6186 {
6187 return parasail_sg_qb_de_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6188 }
6189
6190 parasail_result_t* parasail_sg_qb_de_striped_16(
6191 const char * const restrict s1, const int s1Len,
6192 const char * const restrict s2, const int s2Len,
6193 const int open, const int gap,
6194 const parasail_matrix_t *matrix)
6195 {
6196 return parasail_sg_qb_de_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6197 }
6198
6199 parasail_result_t* parasail_sg_qb_de_striped_8(
6200 const char * const restrict s1, const int s1Len,
6201 const char * const restrict s2, const int s2Len,
6202 const int open, const int gap,
6203 const parasail_matrix_t *matrix)
6204 {
6205 return parasail_sg_qb_de_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6206 }
6207
6208 parasail_result_t* parasail_sg_qb_de_diag_64(
6209 const char * const restrict s1, const int s1Len,
6210 const char * const restrict s2, const int s2Len,
6211 const int open, const int gap,
6212 const parasail_matrix_t *matrix)
6213 {
6214 return parasail_sg_qb_de_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6215 }
6216
6217 parasail_result_t* parasail_sg_qb_de_diag_32(
6218 const char * const restrict s1, const int s1Len,
6219 const char * const restrict s2, const int s2Len,
6220 const int open, const int gap,
6221 const parasail_matrix_t *matrix)
6222 {
6223 return parasail_sg_qb_de_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6224 }
6225
6226 parasail_result_t* parasail_sg_qb_de_diag_16(
6227 const char * const restrict s1, const int s1Len,
6228 const char * const restrict s2, const int s2Len,
6229 const int open, const int gap,
6230 const parasail_matrix_t *matrix)
6231 {
6232 return parasail_sg_qb_de_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6233 }
6234
6235 parasail_result_t* parasail_sg_qb_de_diag_8(
6236 const char * const restrict s1, const int s1Len,
6237 const char * const restrict s2, const int s2Len,
6238 const int open, const int gap,
6239 const parasail_matrix_t *matrix)
6240 {
6241 return parasail_sg_qb_de_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6242 }
6243
6244 parasail_result_t* parasail_sg_qb_de_stats_scan_64(
6245 const char * const restrict s1, const int s1Len,
6246 const char * const restrict s2, const int s2Len,
6247 const int open, const int gap,
6248 const parasail_matrix_t *matrix)
6249 {
6250 return parasail_sg_qb_de_stats_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6251 }
6252
6253 parasail_result_t* parasail_sg_qb_de_stats_scan_32(
6254 const char * const restrict s1, const int s1Len,
6255 const char * const restrict s2, const int s2Len,
6256 const int open, const int gap,
6257 const parasail_matrix_t *matrix)
6258 {
6259 return parasail_sg_qb_de_stats_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6260 }
6261
6262 parasail_result_t* parasail_sg_qb_de_stats_scan_16(
6263 const char * const restrict s1, const int s1Len,
6264 const char * const restrict s2, const int s2Len,
6265 const int open, const int gap,
6266 const parasail_matrix_t *matrix)
6267 {
6268 return parasail_sg_qb_de_stats_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6269 }
6270
6271 parasail_result_t* parasail_sg_qb_de_stats_scan_8(
6272 const char * const restrict s1, const int s1Len,
6273 const char * const restrict s2, const int s2Len,
6274 const int open, const int gap,
6275 const parasail_matrix_t *matrix)
6276 {
6277 return parasail_sg_qb_de_stats_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6278 }
6279
6280 parasail_result_t* parasail_sg_qb_de_stats_striped_64(
6281 const char * const restrict s1, const int s1Len,
6282 const char * const restrict s2, const int s2Len,
6283 const int open, const int gap,
6284 const parasail_matrix_t *matrix)
6285 {
6286 return parasail_sg_qb_de_stats_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6287 }
6288
6289 parasail_result_t* parasail_sg_qb_de_stats_striped_32(
6290 const char * const restrict s1, const int s1Len,
6291 const char * const restrict s2, const int s2Len,
6292 const int open, const int gap,
6293 const parasail_matrix_t *matrix)
6294 {
6295 return parasail_sg_qb_de_stats_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6296 }
6297
6298 parasail_result_t* parasail_sg_qb_de_stats_striped_16(
6299 const char * const restrict s1, const int s1Len,
6300 const char * const restrict s2, const int s2Len,
6301 const int open, const int gap,
6302 const parasail_matrix_t *matrix)
6303 {
6304 return parasail_sg_qb_de_stats_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6305 }
6306
6307 parasail_result_t* parasail_sg_qb_de_stats_striped_8(
6308 const char * const restrict s1, const int s1Len,
6309 const char * const restrict s2, const int s2Len,
6310 const int open, const int gap,
6311 const parasail_matrix_t *matrix)
6312 {
6313 return parasail_sg_qb_de_stats_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6314 }
6315
6316 parasail_result_t* parasail_sg_qb_de_stats_diag_64(
6317 const char * const restrict s1, const int s1Len,
6318 const char * const restrict s2, const int s2Len,
6319 const int open, const int gap,
6320 const parasail_matrix_t *matrix)
6321 {
6322 return parasail_sg_qb_de_stats_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6323 }
6324
6325 parasail_result_t* parasail_sg_qb_de_stats_diag_32(
6326 const char * const restrict s1, const int s1Len,
6327 const char * const restrict s2, const int s2Len,
6328 const int open, const int gap,
6329 const parasail_matrix_t *matrix)
6330 {
6331 return parasail_sg_qb_de_stats_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6332 }
6333
6334 parasail_result_t* parasail_sg_qb_de_stats_diag_16(
6335 const char * const restrict s1, const int s1Len,
6336 const char * const restrict s2, const int s2Len,
6337 const int open, const int gap,
6338 const parasail_matrix_t *matrix)
6339 {
6340 return parasail_sg_qb_de_stats_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6341 }
6342
6343 parasail_result_t* parasail_sg_qb_de_stats_diag_8(
6344 const char * const restrict s1, const int s1Len,
6345 const char * const restrict s2, const int s2Len,
6346 const int open, const int gap,
6347 const parasail_matrix_t *matrix)
6348 {
6349 return parasail_sg_qb_de_stats_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6350 }
6351
6352 parasail_result_t* parasail_sg_qb_de_table_scan_64(
6353 const char * const restrict s1, const int s1Len,
6354 const char * const restrict s2, const int s2Len,
6355 const int open, const int gap,
6356 const parasail_matrix_t *matrix)
6357 {
6358 return parasail_sg_qb_de_table_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6359 }
6360
6361 parasail_result_t* parasail_sg_qb_de_table_scan_32(
6362 const char * const restrict s1, const int s1Len,
6363 const char * const restrict s2, const int s2Len,
6364 const int open, const int gap,
6365 const parasail_matrix_t *matrix)
6366 {
6367 return parasail_sg_qb_de_table_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6368 }
6369
6370 parasail_result_t* parasail_sg_qb_de_table_scan_16(
6371 const char * const restrict s1, const int s1Len,
6372 const char * const restrict s2, const int s2Len,
6373 const int open, const int gap,
6374 const parasail_matrix_t *matrix)
6375 {
6376 return parasail_sg_qb_de_table_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6377 }
6378
6379 parasail_result_t* parasail_sg_qb_de_table_scan_8(
6380 const char * const restrict s1, const int s1Len,
6381 const char * const restrict s2, const int s2Len,
6382 const int open, const int gap,
6383 const parasail_matrix_t *matrix)
6384 {
6385 return parasail_sg_qb_de_table_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6386 }
6387
6388 parasail_result_t* parasail_sg_qb_de_table_striped_64(
6389 const char * const restrict s1, const int s1Len,
6390 const char * const restrict s2, const int s2Len,
6391 const int open, const int gap,
6392 const parasail_matrix_t *matrix)
6393 {
6394 return parasail_sg_qb_de_table_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6395 }
6396
6397 parasail_result_t* parasail_sg_qb_de_table_striped_32(
6398 const char * const restrict s1, const int s1Len,
6399 const char * const restrict s2, const int s2Len,
6400 const int open, const int gap,
6401 const parasail_matrix_t *matrix)
6402 {
6403 return parasail_sg_qb_de_table_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6404 }
6405
6406 parasail_result_t* parasail_sg_qb_de_table_striped_16(
6407 const char * const restrict s1, const int s1Len,
6408 const char * const restrict s2, const int s2Len,
6409 const int open, const int gap,
6410 const parasail_matrix_t *matrix)
6411 {
6412 return parasail_sg_qb_de_table_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6413 }
6414
6415 parasail_result_t* parasail_sg_qb_de_table_striped_8(
6416 const char * const restrict s1, const int s1Len,
6417 const char * const restrict s2, const int s2Len,
6418 const int open, const int gap,
6419 const parasail_matrix_t *matrix)
6420 {
6421 return parasail_sg_qb_de_table_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6422 }
6423
6424 parasail_result_t* parasail_sg_qb_de_table_diag_64(
6425 const char * const restrict s1, const int s1Len,
6426 const char * const restrict s2, const int s2Len,
6427 const int open, const int gap,
6428 const parasail_matrix_t *matrix)
6429 {
6430 return parasail_sg_qb_de_table_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6431 }
6432
6433 parasail_result_t* parasail_sg_qb_de_table_diag_32(
6434 const char * const restrict s1, const int s1Len,
6435 const char * const restrict s2, const int s2Len,
6436 const int open, const int gap,
6437 const parasail_matrix_t *matrix)
6438 {
6439 return parasail_sg_qb_de_table_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6440 }
6441
6442 parasail_result_t* parasail_sg_qb_de_table_diag_16(
6443 const char * const restrict s1, const int s1Len,
6444 const char * const restrict s2, const int s2Len,
6445 const int open, const int gap,
6446 const parasail_matrix_t *matrix)
6447 {
6448 return parasail_sg_qb_de_table_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6449 }
6450
6451 parasail_result_t* parasail_sg_qb_de_table_diag_8(
6452 const char * const restrict s1, const int s1Len,
6453 const char * const restrict s2, const int s2Len,
6454 const int open, const int gap,
6455 const parasail_matrix_t *matrix)
6456 {
6457 return parasail_sg_qb_de_table_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6458 }
6459
6460 parasail_result_t* parasail_sg_qb_de_stats_table_scan_64(
6461 const char * const restrict s1, const int s1Len,
6462 const char * const restrict s2, const int s2Len,
6463 const int open, const int gap,
6464 const parasail_matrix_t *matrix)
6465 {
6466 return parasail_sg_qb_de_stats_table_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6467 }
6468
6469 parasail_result_t* parasail_sg_qb_de_stats_table_scan_32(
6470 const char * const restrict s1, const int s1Len,
6471 const char * const restrict s2, const int s2Len,
6472 const int open, const int gap,
6473 const parasail_matrix_t *matrix)
6474 {
6475 return parasail_sg_qb_de_stats_table_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6476 }
6477
6478 parasail_result_t* parasail_sg_qb_de_stats_table_scan_16(
6479 const char * const restrict s1, const int s1Len,
6480 const char * const restrict s2, const int s2Len,
6481 const int open, const int gap,
6482 const parasail_matrix_t *matrix)
6483 {
6484 return parasail_sg_qb_de_stats_table_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6485 }
6486
6487 parasail_result_t* parasail_sg_qb_de_stats_table_scan_8(
6488 const char * const restrict s1, const int s1Len,
6489 const char * const restrict s2, const int s2Len,
6490 const int open, const int gap,
6491 const parasail_matrix_t *matrix)
6492 {
6493 return parasail_sg_qb_de_stats_table_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6494 }
6495
6496 parasail_result_t* parasail_sg_qb_de_stats_table_striped_64(
6497 const char * const restrict s1, const int s1Len,
6498 const char * const restrict s2, const int s2Len,
6499 const int open, const int gap,
6500 const parasail_matrix_t *matrix)
6501 {
6502 return parasail_sg_qb_de_stats_table_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6503 }
6504
6505 parasail_result_t* parasail_sg_qb_de_stats_table_striped_32(
6506 const char * const restrict s1, const int s1Len,
6507 const char * const restrict s2, const int s2Len,
6508 const int open, const int gap,
6509 const parasail_matrix_t *matrix)
6510 {
6511 return parasail_sg_qb_de_stats_table_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6512 }
6513
6514 parasail_result_t* parasail_sg_qb_de_stats_table_striped_16(
6515 const char * const restrict s1, const int s1Len,
6516 const char * const restrict s2, const int s2Len,
6517 const int open, const int gap,
6518 const parasail_matrix_t *matrix)
6519 {
6520 return parasail_sg_qb_de_stats_table_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6521 }
6522
6523 parasail_result_t* parasail_sg_qb_de_stats_table_striped_8(
6524 const char * const restrict s1, const int s1Len,
6525 const char * const restrict s2, const int s2Len,
6526 const int open, const int gap,
6527 const parasail_matrix_t *matrix)
6528 {
6529 return parasail_sg_qb_de_stats_table_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6530 }
6531
6532 parasail_result_t* parasail_sg_qb_de_stats_table_diag_64(
6533 const char * const restrict s1, const int s1Len,
6534 const char * const restrict s2, const int s2Len,
6535 const int open, const int gap,
6536 const parasail_matrix_t *matrix)
6537 {
6538 return parasail_sg_qb_de_stats_table_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6539 }
6540
6541 parasail_result_t* parasail_sg_qb_de_stats_table_diag_32(
6542 const char * const restrict s1, const int s1Len,
6543 const char * const restrict s2, const int s2Len,
6544 const int open, const int gap,
6545 const parasail_matrix_t *matrix)
6546 {
6547 return parasail_sg_qb_de_stats_table_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6548 }
6549
6550 parasail_result_t* parasail_sg_qb_de_stats_table_diag_16(
6551 const char * const restrict s1, const int s1Len,
6552 const char * const restrict s2, const int s2Len,
6553 const int open, const int gap,
6554 const parasail_matrix_t *matrix)
6555 {
6556 return parasail_sg_qb_de_stats_table_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6557 }
6558
6559 parasail_result_t* parasail_sg_qb_de_stats_table_diag_8(
6560 const char * const restrict s1, const int s1Len,
6561 const char * const restrict s2, const int s2Len,
6562 const int open, const int gap,
6563 const parasail_matrix_t *matrix)
6564 {
6565 return parasail_sg_qb_de_stats_table_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6566 }
6567
6568 parasail_result_t* parasail_sg_qb_de_rowcol_scan_64(
6569 const char * const restrict s1, const int s1Len,
6570 const char * const restrict s2, const int s2Len,
6571 const int open, const int gap,
6572 const parasail_matrix_t *matrix)
6573 {
6574 return parasail_sg_qb_de_rowcol_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6575 }
6576
6577 parasail_result_t* parasail_sg_qb_de_rowcol_scan_32(
6578 const char * const restrict s1, const int s1Len,
6579 const char * const restrict s2, const int s2Len,
6580 const int open, const int gap,
6581 const parasail_matrix_t *matrix)
6582 {
6583 return parasail_sg_qb_de_rowcol_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6584 }
6585
6586 parasail_result_t* parasail_sg_qb_de_rowcol_scan_16(
6587 const char * const restrict s1, const int s1Len,
6588 const char * const restrict s2, const int s2Len,
6589 const int open, const int gap,
6590 const parasail_matrix_t *matrix)
6591 {
6592 return parasail_sg_qb_de_rowcol_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6593 }
6594
6595 parasail_result_t* parasail_sg_qb_de_rowcol_scan_8(
6596 const char * const restrict s1, const int s1Len,
6597 const char * const restrict s2, const int s2Len,
6598 const int open, const int gap,
6599 const parasail_matrix_t *matrix)
6600 {
6601 return parasail_sg_qb_de_rowcol_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6602 }
6603
6604 parasail_result_t* parasail_sg_qb_de_rowcol_striped_64(
6605 const char * const restrict s1, const int s1Len,
6606 const char * const restrict s2, const int s2Len,
6607 const int open, const int gap,
6608 const parasail_matrix_t *matrix)
6609 {
6610 return parasail_sg_qb_de_rowcol_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6611 }
6612
6613 parasail_result_t* parasail_sg_qb_de_rowcol_striped_32(
6614 const char * const restrict s1, const int s1Len,
6615 const char * const restrict s2, const int s2Len,
6616 const int open, const int gap,
6617 const parasail_matrix_t *matrix)
6618 {
6619 return parasail_sg_qb_de_rowcol_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6620 }
6621
6622 parasail_result_t* parasail_sg_qb_de_rowcol_striped_16(
6623 const char * const restrict s1, const int s1Len,
6624 const char * const restrict s2, const int s2Len,
6625 const int open, const int gap,
6626 const parasail_matrix_t *matrix)
6627 {
6628 return parasail_sg_qb_de_rowcol_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6629 }
6630
6631 parasail_result_t* parasail_sg_qb_de_rowcol_striped_8(
6632 const char * const restrict s1, const int s1Len,
6633 const char * const restrict s2, const int s2Len,
6634 const int open, const int gap,
6635 const parasail_matrix_t *matrix)
6636 {
6637 return parasail_sg_qb_de_rowcol_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6638 }
6639
6640 parasail_result_t* parasail_sg_qb_de_rowcol_diag_64(
6641 const char * const restrict s1, const int s1Len,
6642 const char * const restrict s2, const int s2Len,
6643 const int open, const int gap,
6644 const parasail_matrix_t *matrix)
6645 {
6646 return parasail_sg_qb_de_rowcol_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6647 }
6648
6649 parasail_result_t* parasail_sg_qb_de_rowcol_diag_32(
6650 const char * const restrict s1, const int s1Len,
6651 const char * const restrict s2, const int s2Len,
6652 const int open, const int gap,
6653 const parasail_matrix_t *matrix)
6654 {
6655 return parasail_sg_qb_de_rowcol_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6656 }
6657
6658 parasail_result_t* parasail_sg_qb_de_rowcol_diag_16(
6659 const char * const restrict s1, const int s1Len,
6660 const char * const restrict s2, const int s2Len,
6661 const int open, const int gap,
6662 const parasail_matrix_t *matrix)
6663 {
6664 return parasail_sg_qb_de_rowcol_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6665 }
6666
6667 parasail_result_t* parasail_sg_qb_de_rowcol_diag_8(
6668 const char * const restrict s1, const int s1Len,
6669 const char * const restrict s2, const int s2Len,
6670 const int open, const int gap,
6671 const parasail_matrix_t *matrix)
6672 {
6673 return parasail_sg_qb_de_rowcol_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6674 }
6675
6676 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_64(
6677 const char * const restrict s1, const int s1Len,
6678 const char * const restrict s2, const int s2Len,
6679 const int open, const int gap,
6680 const parasail_matrix_t *matrix)
6681 {
6682 return parasail_sg_qb_de_stats_rowcol_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6683 }
6684
6685 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_32(
6686 const char * const restrict s1, const int s1Len,
6687 const char * const restrict s2, const int s2Len,
6688 const int open, const int gap,
6689 const parasail_matrix_t *matrix)
6690 {
6691 return parasail_sg_qb_de_stats_rowcol_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6692 }
6693
6694 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_16(
6695 const char * const restrict s1, const int s1Len,
6696 const char * const restrict s2, const int s2Len,
6697 const int open, const int gap,
6698 const parasail_matrix_t *matrix)
6699 {
6700 return parasail_sg_qb_de_stats_rowcol_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6701 }
6702
6703 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_8(
6704 const char * const restrict s1, const int s1Len,
6705 const char * const restrict s2, const int s2Len,
6706 const int open, const int gap,
6707 const parasail_matrix_t *matrix)
6708 {
6709 return parasail_sg_qb_de_stats_rowcol_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6710 }
6711
6712 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_64(
6713 const char * const restrict s1, const int s1Len,
6714 const char * const restrict s2, const int s2Len,
6715 const int open, const int gap,
6716 const parasail_matrix_t *matrix)
6717 {
6718 return parasail_sg_qb_de_stats_rowcol_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6719 }
6720
6721 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_32(
6722 const char * const restrict s1, const int s1Len,
6723 const char * const restrict s2, const int s2Len,
6724 const int open, const int gap,
6725 const parasail_matrix_t *matrix)
6726 {
6727 return parasail_sg_qb_de_stats_rowcol_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6728 }
6729
6730 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_16(
6731 const char * const restrict s1, const int s1Len,
6732 const char * const restrict s2, const int s2Len,
6733 const int open, const int gap,
6734 const parasail_matrix_t *matrix)
6735 {
6736 return parasail_sg_qb_de_stats_rowcol_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6737 }
6738
6739 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_8(
6740 const char * const restrict s1, const int s1Len,
6741 const char * const restrict s2, const int s2Len,
6742 const int open, const int gap,
6743 const parasail_matrix_t *matrix)
6744 {
6745 return parasail_sg_qb_de_stats_rowcol_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6746 }
6747
6748 parasail_result_t* parasail_sg_qb_de_stats_rowcol_diag_64(
6749 const char * const restrict s1, const int s1Len,
6750 const char * const restrict s2, const int s2Len,
6751 const int open, const int gap,
6752 const parasail_matrix_t *matrix)
6753 {
6754 return parasail_sg_qb_de_stats_rowcol_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6755 }
6756
6757 parasail_result_t* parasail_sg_qb_de_stats_rowcol_diag_32(
6758 const char * const restrict s1, const int s1Len,
6759 const char * const restrict s2, const int s2Len,
6760 const int open, const int gap,
6761 const parasail_matrix_t *matrix)
6762 {
6763 return parasail_sg_qb_de_stats_rowcol_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6764 }
6765
6766 parasail_result_t* parasail_sg_qb_de_stats_rowcol_diag_16(
6767 const char * const restrict s1, const int s1Len,
6768 const char * const restrict s2, const int s2Len,
6769 const int open, const int gap,
6770 const parasail_matrix_t *matrix)
6771 {
6772 return parasail_sg_qb_de_stats_rowcol_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6773 }
6774
6775 parasail_result_t* parasail_sg_qb_de_stats_rowcol_diag_8(
6776 const char * const restrict s1, const int s1Len,
6777 const char * const restrict s2, const int s2Len,
6778 const int open, const int gap,
6779 const parasail_matrix_t *matrix)
6780 {
6781 return parasail_sg_qb_de_stats_rowcol_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6782 }
6783
6784 parasail_result_t* parasail_sg_qb_de_trace_scan_64(
6785 const char * const restrict s1, const int s1Len,
6786 const char * const restrict s2, const int s2Len,
6787 const int open, const int gap,
6788 const parasail_matrix_t *matrix)
6789 {
6790 return parasail_sg_qb_de_trace_scan_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6791 }
6792
6793 parasail_result_t* parasail_sg_qb_de_trace_scan_32(
6794 const char * const restrict s1, const int s1Len,
6795 const char * const restrict s2, const int s2Len,
6796 const int open, const int gap,
6797 const parasail_matrix_t *matrix)
6798 {
6799 return parasail_sg_qb_de_trace_scan_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6800 }
6801
6802 parasail_result_t* parasail_sg_qb_de_trace_scan_16(
6803 const char * const restrict s1, const int s1Len,
6804 const char * const restrict s2, const int s2Len,
6805 const int open, const int gap,
6806 const parasail_matrix_t *matrix)
6807 {
6808 return parasail_sg_qb_de_trace_scan_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6809 }
6810
6811 parasail_result_t* parasail_sg_qb_de_trace_scan_8(
6812 const char * const restrict s1, const int s1Len,
6813 const char * const restrict s2, const int s2Len,
6814 const int open, const int gap,
6815 const parasail_matrix_t *matrix)
6816 {
6817 return parasail_sg_qb_de_trace_scan_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6818 }
6819
6820 parasail_result_t* parasail_sg_qb_de_trace_striped_64(
6821 const char * const restrict s1, const int s1Len,
6822 const char * const restrict s2, const int s2Len,
6823 const int open, const int gap,
6824 const parasail_matrix_t *matrix)
6825 {
6826 return parasail_sg_qb_de_trace_striped_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6827 }
6828 #endif
6829
parasail_sg_qb_de_trace_striped_32(const char * const restrict s1,const int s1Len,const char * const restrict s2,const int s2Len,const int open,const int gap,const parasail_matrix_t * matrix)6830 parasail_result_t* parasail_sg_qb_de_trace_striped_32(
6831 const char * const restrict s1, const int s1Len,
6832 const char * const restrict s2, const int s2Len,
6833 const int open, const int gap,
6834 const parasail_matrix_t *matrix)
6835 {
6836 return parasail_sg_qb_de_trace_striped_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6837 }
6838
parasail_sg_qb_de_trace_striped_16(const char * const restrict s1,const int s1Len,const char * const restrict s2,const int s2Len,const int open,const int gap,const parasail_matrix_t * matrix)6839 parasail_result_t* parasail_sg_qb_de_trace_striped_16(
6840 const char * const restrict s1, const int s1Len,
6841 const char * const restrict s2, const int s2Len,
6842 const int open, const int gap,
6843 const parasail_matrix_t *matrix)
6844 {
6845 return parasail_sg_qb_de_trace_striped_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6846 }
6847
6848 #if 0
6849 parasail_result_t* parasail_sg_qb_de_trace_striped_8(
6850 const char * const restrict s1, const int s1Len,
6851 const char * const restrict s2, const int s2Len,
6852 const int open, const int gap,
6853 const parasail_matrix_t *matrix)
6854 {
6855 return parasail_sg_qb_de_trace_striped_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6856 }
6857
6858 parasail_result_t* parasail_sg_qb_de_trace_diag_64(
6859 const char * const restrict s1, const int s1Len,
6860 const char * const restrict s2, const int s2Len,
6861 const int open, const int gap,
6862 const parasail_matrix_t *matrix)
6863 {
6864 return parasail_sg_qb_de_trace_diag_64_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6865 }
6866
6867 parasail_result_t* parasail_sg_qb_de_trace_diag_32(
6868 const char * const restrict s1, const int s1Len,
6869 const char * const restrict s2, const int s2Len,
6870 const int open, const int gap,
6871 const parasail_matrix_t *matrix)
6872 {
6873 return parasail_sg_qb_de_trace_diag_32_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6874 }
6875
6876 parasail_result_t* parasail_sg_qb_de_trace_diag_16(
6877 const char * const restrict s1, const int s1Len,
6878 const char * const restrict s2, const int s2Len,
6879 const int open, const int gap,
6880 const parasail_matrix_t *matrix)
6881 {
6882 return parasail_sg_qb_de_trace_diag_16_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6883 }
6884
6885 parasail_result_t* parasail_sg_qb_de_trace_diag_8(
6886 const char * const restrict s1, const int s1Len,
6887 const char * const restrict s2, const int s2Len,
6888 const int open, const int gap,
6889 const parasail_matrix_t *matrix)
6890 {
6891 return parasail_sg_qb_de_trace_diag_8_pointer(s1, s1Len, s2, s2Len, open, gap, matrix);
6892 }
6893
6894 parasail_result_t* parasail_sg_qb_de_scan_profile_64(
6895 const parasail_profile_t * const restrict profile,
6896 const char * const restrict s2, const int s2Len,
6897 const int open, const int gap)
6898 {
6899 return parasail_sg_qb_de_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
6900 }
6901
6902 parasail_result_t* parasail_sg_qb_de_scan_profile_32(
6903 const parasail_profile_t * const restrict profile,
6904 const char * const restrict s2, const int s2Len,
6905 const int open, const int gap)
6906 {
6907 return parasail_sg_qb_de_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
6908 }
6909
6910 parasail_result_t* parasail_sg_qb_de_scan_profile_16(
6911 const parasail_profile_t * const restrict profile,
6912 const char * const restrict s2, const int s2Len,
6913 const int open, const int gap)
6914 {
6915 return parasail_sg_qb_de_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
6916 }
6917
6918 parasail_result_t* parasail_sg_qb_de_scan_profile_8(
6919 const parasail_profile_t * const restrict profile,
6920 const char * const restrict s2, const int s2Len,
6921 const int open, const int gap)
6922 {
6923 return parasail_sg_qb_de_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
6924 }
6925
6926 parasail_result_t* parasail_sg_qb_de_striped_profile_64(
6927 const parasail_profile_t * const restrict profile,
6928 const char * const restrict s2, const int s2Len,
6929 const int open, const int gap)
6930 {
6931 return parasail_sg_qb_de_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
6932 }
6933
6934 parasail_result_t* parasail_sg_qb_de_striped_profile_32(
6935 const parasail_profile_t * const restrict profile,
6936 const char * const restrict s2, const int s2Len,
6937 const int open, const int gap)
6938 {
6939 return parasail_sg_qb_de_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
6940 }
6941
6942 parasail_result_t* parasail_sg_qb_de_striped_profile_16(
6943 const parasail_profile_t * const restrict profile,
6944 const char * const restrict s2, const int s2Len,
6945 const int open, const int gap)
6946 {
6947 return parasail_sg_qb_de_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
6948 }
6949
6950 parasail_result_t* parasail_sg_qb_de_striped_profile_8(
6951 const parasail_profile_t * const restrict profile,
6952 const char * const restrict s2, const int s2Len,
6953 const int open, const int gap)
6954 {
6955 return parasail_sg_qb_de_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
6956 }
6957
6958 parasail_result_t* parasail_sg_qb_de_stats_scan_profile_64(
6959 const parasail_profile_t * const restrict profile,
6960 const char * const restrict s2, const int s2Len,
6961 const int open, const int gap)
6962 {
6963 return parasail_sg_qb_de_stats_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
6964 }
6965
6966 parasail_result_t* parasail_sg_qb_de_stats_scan_profile_32(
6967 const parasail_profile_t * const restrict profile,
6968 const char * const restrict s2, const int s2Len,
6969 const int open, const int gap)
6970 {
6971 return parasail_sg_qb_de_stats_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
6972 }
6973
6974 parasail_result_t* parasail_sg_qb_de_stats_scan_profile_16(
6975 const parasail_profile_t * const restrict profile,
6976 const char * const restrict s2, const int s2Len,
6977 const int open, const int gap)
6978 {
6979 return parasail_sg_qb_de_stats_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
6980 }
6981
6982 parasail_result_t* parasail_sg_qb_de_stats_scan_profile_8(
6983 const parasail_profile_t * const restrict profile,
6984 const char * const restrict s2, const int s2Len,
6985 const int open, const int gap)
6986 {
6987 return parasail_sg_qb_de_stats_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
6988 }
6989
6990 parasail_result_t* parasail_sg_qb_de_stats_striped_profile_64(
6991 const parasail_profile_t * const restrict profile,
6992 const char * const restrict s2, const int s2Len,
6993 const int open, const int gap)
6994 {
6995 return parasail_sg_qb_de_stats_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
6996 }
6997
6998 parasail_result_t* parasail_sg_qb_de_stats_striped_profile_32(
6999 const parasail_profile_t * const restrict profile,
7000 const char * const restrict s2, const int s2Len,
7001 const int open, const int gap)
7002 {
7003 return parasail_sg_qb_de_stats_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
7004 }
7005
7006 parasail_result_t* parasail_sg_qb_de_stats_striped_profile_16(
7007 const parasail_profile_t * const restrict profile,
7008 const char * const restrict s2, const int s2Len,
7009 const int open, const int gap)
7010 {
7011 return parasail_sg_qb_de_stats_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
7012 }
7013
7014 parasail_result_t* parasail_sg_qb_de_stats_striped_profile_8(
7015 const parasail_profile_t * const restrict profile,
7016 const char * const restrict s2, const int s2Len,
7017 const int open, const int gap)
7018 {
7019 return parasail_sg_qb_de_stats_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
7020 }
7021
7022 parasail_result_t* parasail_sg_qb_de_table_scan_profile_64(
7023 const parasail_profile_t * const restrict profile,
7024 const char * const restrict s2, const int s2Len,
7025 const int open, const int gap)
7026 {
7027 return parasail_sg_qb_de_table_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
7028 }
7029
7030 parasail_result_t* parasail_sg_qb_de_table_scan_profile_32(
7031 const parasail_profile_t * const restrict profile,
7032 const char * const restrict s2, const int s2Len,
7033 const int open, const int gap)
7034 {
7035 return parasail_sg_qb_de_table_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
7036 }
7037
7038 parasail_result_t* parasail_sg_qb_de_table_scan_profile_16(
7039 const parasail_profile_t * const restrict profile,
7040 const char * const restrict s2, const int s2Len,
7041 const int open, const int gap)
7042 {
7043 return parasail_sg_qb_de_table_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
7044 }
7045
7046 parasail_result_t* parasail_sg_qb_de_table_scan_profile_8(
7047 const parasail_profile_t * const restrict profile,
7048 const char * const restrict s2, const int s2Len,
7049 const int open, const int gap)
7050 {
7051 return parasail_sg_qb_de_table_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
7052 }
7053
7054 parasail_result_t* parasail_sg_qb_de_table_striped_profile_64(
7055 const parasail_profile_t * const restrict profile,
7056 const char * const restrict s2, const int s2Len,
7057 const int open, const int gap)
7058 {
7059 return parasail_sg_qb_de_table_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
7060 }
7061
7062 parasail_result_t* parasail_sg_qb_de_table_striped_profile_32(
7063 const parasail_profile_t * const restrict profile,
7064 const char * const restrict s2, const int s2Len,
7065 const int open, const int gap)
7066 {
7067 return parasail_sg_qb_de_table_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
7068 }
7069
7070 parasail_result_t* parasail_sg_qb_de_table_striped_profile_16(
7071 const parasail_profile_t * const restrict profile,
7072 const char * const restrict s2, const int s2Len,
7073 const int open, const int gap)
7074 {
7075 return parasail_sg_qb_de_table_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
7076 }
7077
7078 parasail_result_t* parasail_sg_qb_de_table_striped_profile_8(
7079 const parasail_profile_t * const restrict profile,
7080 const char * const restrict s2, const int s2Len,
7081 const int open, const int gap)
7082 {
7083 return parasail_sg_qb_de_table_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
7084 }
7085
7086 parasail_result_t* parasail_sg_qb_de_stats_table_scan_profile_64(
7087 const parasail_profile_t * const restrict profile,
7088 const char * const restrict s2, const int s2Len,
7089 const int open, const int gap)
7090 {
7091 return parasail_sg_qb_de_stats_table_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
7092 }
7093
7094 parasail_result_t* parasail_sg_qb_de_stats_table_scan_profile_32(
7095 const parasail_profile_t * const restrict profile,
7096 const char * const restrict s2, const int s2Len,
7097 const int open, const int gap)
7098 {
7099 return parasail_sg_qb_de_stats_table_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
7100 }
7101
7102 parasail_result_t* parasail_sg_qb_de_stats_table_scan_profile_16(
7103 const parasail_profile_t * const restrict profile,
7104 const char * const restrict s2, const int s2Len,
7105 const int open, const int gap)
7106 {
7107 return parasail_sg_qb_de_stats_table_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
7108 }
7109
7110 parasail_result_t* parasail_sg_qb_de_stats_table_scan_profile_8(
7111 const parasail_profile_t * const restrict profile,
7112 const char * const restrict s2, const int s2Len,
7113 const int open, const int gap)
7114 {
7115 return parasail_sg_qb_de_stats_table_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
7116 }
7117
7118 parasail_result_t* parasail_sg_qb_de_stats_table_striped_profile_64(
7119 const parasail_profile_t * const restrict profile,
7120 const char * const restrict s2, const int s2Len,
7121 const int open, const int gap)
7122 {
7123 return parasail_sg_qb_de_stats_table_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
7124 }
7125
7126 parasail_result_t* parasail_sg_qb_de_stats_table_striped_profile_32(
7127 const parasail_profile_t * const restrict profile,
7128 const char * const restrict s2, const int s2Len,
7129 const int open, const int gap)
7130 {
7131 return parasail_sg_qb_de_stats_table_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
7132 }
7133
7134 parasail_result_t* parasail_sg_qb_de_stats_table_striped_profile_16(
7135 const parasail_profile_t * const restrict profile,
7136 const char * const restrict s2, const int s2Len,
7137 const int open, const int gap)
7138 {
7139 return parasail_sg_qb_de_stats_table_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
7140 }
7141
7142 parasail_result_t* parasail_sg_qb_de_stats_table_striped_profile_8(
7143 const parasail_profile_t * const restrict profile,
7144 const char * const restrict s2, const int s2Len,
7145 const int open, const int gap)
7146 {
7147 return parasail_sg_qb_de_stats_table_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
7148 }
7149
7150 parasail_result_t* parasail_sg_qb_de_rowcol_scan_profile_64(
7151 const parasail_profile_t * const restrict profile,
7152 const char * const restrict s2, const int s2Len,
7153 const int open, const int gap)
7154 {
7155 return parasail_sg_qb_de_rowcol_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
7156 }
7157
7158 parasail_result_t* parasail_sg_qb_de_rowcol_scan_profile_32(
7159 const parasail_profile_t * const restrict profile,
7160 const char * const restrict s2, const int s2Len,
7161 const int open, const int gap)
7162 {
7163 return parasail_sg_qb_de_rowcol_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
7164 }
7165
7166 parasail_result_t* parasail_sg_qb_de_rowcol_scan_profile_16(
7167 const parasail_profile_t * const restrict profile,
7168 const char * const restrict s2, const int s2Len,
7169 const int open, const int gap)
7170 {
7171 return parasail_sg_qb_de_rowcol_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
7172 }
7173
7174 parasail_result_t* parasail_sg_qb_de_rowcol_scan_profile_8(
7175 const parasail_profile_t * const restrict profile,
7176 const char * const restrict s2, const int s2Len,
7177 const int open, const int gap)
7178 {
7179 return parasail_sg_qb_de_rowcol_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
7180 }
7181
7182 parasail_result_t* parasail_sg_qb_de_rowcol_striped_profile_64(
7183 const parasail_profile_t * const restrict profile,
7184 const char * const restrict s2, const int s2Len,
7185 const int open, const int gap)
7186 {
7187 return parasail_sg_qb_de_rowcol_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
7188 }
7189
7190 parasail_result_t* parasail_sg_qb_de_rowcol_striped_profile_32(
7191 const parasail_profile_t * const restrict profile,
7192 const char * const restrict s2, const int s2Len,
7193 const int open, const int gap)
7194 {
7195 return parasail_sg_qb_de_rowcol_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
7196 }
7197
7198 parasail_result_t* parasail_sg_qb_de_rowcol_striped_profile_16(
7199 const parasail_profile_t * const restrict profile,
7200 const char * const restrict s2, const int s2Len,
7201 const int open, const int gap)
7202 {
7203 return parasail_sg_qb_de_rowcol_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
7204 }
7205
7206 parasail_result_t* parasail_sg_qb_de_rowcol_striped_profile_8(
7207 const parasail_profile_t * const restrict profile,
7208 const char * const restrict s2, const int s2Len,
7209 const int open, const int gap)
7210 {
7211 return parasail_sg_qb_de_rowcol_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
7212 }
7213
7214 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_profile_64(
7215 const parasail_profile_t * const restrict profile,
7216 const char * const restrict s2, const int s2Len,
7217 const int open, const int gap)
7218 {
7219 return parasail_sg_qb_de_stats_rowcol_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
7220 }
7221
7222 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_profile_32(
7223 const parasail_profile_t * const restrict profile,
7224 const char * const restrict s2, const int s2Len,
7225 const int open, const int gap)
7226 {
7227 return parasail_sg_qb_de_stats_rowcol_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
7228 }
7229
7230 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_profile_16(
7231 const parasail_profile_t * const restrict profile,
7232 const char * const restrict s2, const int s2Len,
7233 const int open, const int gap)
7234 {
7235 return parasail_sg_qb_de_stats_rowcol_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
7236 }
7237
7238 parasail_result_t* parasail_sg_qb_de_stats_rowcol_scan_profile_8(
7239 const parasail_profile_t * const restrict profile,
7240 const char * const restrict s2, const int s2Len,
7241 const int open, const int gap)
7242 {
7243 return parasail_sg_qb_de_stats_rowcol_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
7244 }
7245
7246 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_profile_64(
7247 const parasail_profile_t * const restrict profile,
7248 const char * const restrict s2, const int s2Len,
7249 const int open, const int gap)
7250 {
7251 return parasail_sg_qb_de_stats_rowcol_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
7252 }
7253
7254 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_profile_32(
7255 const parasail_profile_t * const restrict profile,
7256 const char * const restrict s2, const int s2Len,
7257 const int open, const int gap)
7258 {
7259 return parasail_sg_qb_de_stats_rowcol_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
7260 }
7261
7262 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_profile_16(
7263 const parasail_profile_t * const restrict profile,
7264 const char * const restrict s2, const int s2Len,
7265 const int open, const int gap)
7266 {
7267 return parasail_sg_qb_de_stats_rowcol_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
7268 }
7269
7270 parasail_result_t* parasail_sg_qb_de_stats_rowcol_striped_profile_8(
7271 const parasail_profile_t * const restrict profile,
7272 const char * const restrict s2, const int s2Len,
7273 const int open, const int gap)
7274 {
7275 return parasail_sg_qb_de_stats_rowcol_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
7276 }
7277
7278 parasail_result_t* parasail_sg_qb_de_trace_scan_profile_64(
7279 const parasail_profile_t * const restrict profile,
7280 const char * const restrict s2, const int s2Len,
7281 const int open, const int gap)
7282 {
7283 return parasail_sg_qb_de_trace_scan_profile_64_pointer(profile, s2, s2Len, open, gap);
7284 }
7285
7286 parasail_result_t* parasail_sg_qb_de_trace_scan_profile_32(
7287 const parasail_profile_t * const restrict profile,
7288 const char * const restrict s2, const int s2Len,
7289 const int open, const int gap)
7290 {
7291 return parasail_sg_qb_de_trace_scan_profile_32_pointer(profile, s2, s2Len, open, gap);
7292 }
7293
7294 parasail_result_t* parasail_sg_qb_de_trace_scan_profile_16(
7295 const parasail_profile_t * const restrict profile,
7296 const char * const restrict s2, const int s2Len,
7297 const int open, const int gap)
7298 {
7299 return parasail_sg_qb_de_trace_scan_profile_16_pointer(profile, s2, s2Len, open, gap);
7300 }
7301
7302 parasail_result_t* parasail_sg_qb_de_trace_scan_profile_8(
7303 const parasail_profile_t * const restrict profile,
7304 const char * const restrict s2, const int s2Len,
7305 const int open, const int gap)
7306 {
7307 return parasail_sg_qb_de_trace_scan_profile_8_pointer(profile, s2, s2Len, open, gap);
7308 }
7309
7310 parasail_result_t* parasail_sg_qb_de_trace_striped_profile_64(
7311 const parasail_profile_t * const restrict profile,
7312 const char * const restrict s2, const int s2Len,
7313 const int open, const int gap)
7314 {
7315 return parasail_sg_qb_de_trace_striped_profile_64_pointer(profile, s2, s2Len, open, gap);
7316 }
7317
7318 parasail_result_t* parasail_sg_qb_de_trace_striped_profile_32(
7319 const parasail_profile_t * const restrict profile,
7320 const char * const restrict s2, const int s2Len,
7321 const int open, const int gap)
7322 {
7323 return parasail_sg_qb_de_trace_striped_profile_32_pointer(profile, s2, s2Len, open, gap);
7324 }
7325
7326 parasail_result_t* parasail_sg_qb_de_trace_striped_profile_16(
7327 const parasail_profile_t * const restrict profile,
7328 const char * const restrict s2, const int s2Len,
7329 const int open, const int gap)
7330 {
7331 return parasail_sg_qb_de_trace_striped_profile_16_pointer(profile, s2, s2Len, open, gap);
7332 }
7333
7334 parasail_result_t* parasail_sg_qb_de_trace_striped_profile_8(
7335 const parasail_profile_t * const restrict profile,
7336 const char * const restrict s2, const int s2Len,
7337 const int open, const int gap)
7338 {
7339 return parasail_sg_qb_de_trace_striped_profile_8_pointer(profile, s2, s2Len, open, gap);
7340 }
7341 #endif
7342