2130 zvol DKIOCFREE uses nested DMU transactions
[illumos-gate.git] / usr / src / cmd / fps / fptest / linpack.h
blob32ec023bcfd02f0d2cb0c031bd686cb9da92c091
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
27 #ifndef _LINPACK_H
28 #define _LINPACK_H
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
34 #ifdef DP
35 #define PREC "double"
36 #define LINPACK dlinpack_test
37 #define LINSUB dlinsub
38 #define MATGEN dmatgen
39 #define GEFA dgetrf_64
40 #define GESL dgetrs_64
41 #define AXPY daxpy
42 #define SCAL dscal
43 #define EPSLON depslon
44 #define MXPY dmxpy
45 #define REAL double
46 #define LP_ZERO 0.0e0
47 #define LP_ONE 1.0e0
48 #define MAT_SIZE d_mat_size
49 #define LinpValsA d_linpvalsa
50 #define LAPACK_ECACHE_SIZE d_lapack_ecache_size
52 #else
54 #define PREC "single"
55 #define LINPACK slinpack_test
56 #define LINSUB slinsub
57 #define MATGEN smatgen
58 #define GEFA sgetrf_64
59 #define GESL sgetrs_64
60 #define AXPY saxpy
61 #define SCAL sscal
62 #define EPSLON sepslon
63 #define MXPY smxpy
64 #define REAL float
65 #define LP_ZERO 0.0
66 #define LP_ONE 1.0
67 #define MAT_SIZE s_mat_size
68 #define LinpValsA s_linpvalsa
69 #define LAPACK_ECACHE_SIZE s_lapack_ecache_size
71 #endif
73 struct LinpVals {
74 REAL residn;
75 REAL resid;
76 REAL eps;
77 REAL x11;
78 REAL xn1;
81 #undef FPS_LAPA_LIB8
82 #undef FPS_LAPA_LIB10
83 #undef FPS_LAPA_LIB11
84 #undef FPS_LAPA_LIB12
85 #undef FPS_LAPA_LIB13
86 #undef FPS_LAPA_UNK
88 /* SS12 U1 */
89 #if (LAPA_COMP_PERF_6 == 1)
90 #define FPS_LAPA_LIB13
92 #elif (LAPA_COMP_PERF_5 == 1)
93 #define FPS_LAPA_LIB13
95 /* QA SS12 */
96 #elif (LAPA_COMP_PERF_4 == 1)
97 #define FPS_LAPA_LIB13
99 /* SS12 */
100 #elif (LAPA_COMP_PERF_3 == 1)
101 #define FPS_LAPA_LIB12
103 /* SS11 */
104 #elif (LAPA_COMP_PERF_2 == 1)
105 #define FPS_LAPA_LIB11
107 /* SOS8 */
108 #elif (LAPA_COMP_PERF_0 == 1)
109 #define FPS_LAPA_LIB8
111 #else
113 #define FPS_LAPA_UNK
114 #endif
116 #ifdef __sparc
118 /* V9B V9 or V8 arch */
119 #ifdef V9B
120 #ifdef FPS_LAPA_LIB8
121 #include <singdoub64v9b_sos8.h>
122 #endif
124 #ifdef FPS_LAPA_LIB10
125 #include <singdoub64v9b_sos10.h>
126 #endif
128 #ifdef FPS_LAPA_LIB11
129 #include <singdoub64v9b_sos11.h>
130 #endif
132 #ifdef FPS_LAPA_LIB12
133 #include <singdoub64v9b_ss12.h>
134 #endif
136 #ifdef FPS_LAPA_LIB13
137 #include <singdoub64v9b_ss12u1.h>
138 #endif
140 #else
142 #ifdef FPS_LAPA_LIB8
143 #include <singdoub64_sos8.h>
144 #endif
146 #ifdef FPS_LAPA_LIB10
147 #include <singdoub64_sos10.h>
148 #endif
150 /* This is NOT a typo. singdoub64_sos10.h works with SOS11 */
151 #ifdef FPS_LAPA_LIB11
152 #include <singdoub64_sos10.h>
153 #endif
155 #ifdef FPS_LAPA_LIB12
156 #include <singdoub64_ss12.h>
157 #endif
159 #ifdef FPS_LAPA_LIB13
160 #include <singdoub64_ss12u1.h>
161 #endif
163 #endif /* V9B */
165 #endif
167 #ifdef __cplusplus
169 #endif
171 #endif /* _LINPACK_H */