File indexing completed on 2026-01-07 10:10:52
0001 #ifndef OPENBLAS_CONFIG_H
0002 #define OPENBLAS_CONFIG_H
0003 #define OPENBLAS_OS_LINUX 1
0004 #define OPENBLAS_ARCH_X86_64 1
0005 #define OPENBLAS_C_GCC 1
0006 #define OPENBLAS___64BIT__ 1
0007 #define OPENBLAS_FUNDERSCORE
0008 #define OPENBLAS_BUNDERSCORE _
0009 #define OPENBLAS_NEEDBUNDERSCORE 1
0010 #define OPENBLAS_GENERIC
0011 #define OPENBLAS_L1_DATA_SIZE 32768
0012 #define OPENBLAS_L1_DATA_LINESIZE 128
0013 #define OPENBLAS_L2_SIZE 512488
0014 #define OPENBLAS_L2_LINESIZE 128
0015 #define OPENBLAS_DTB_DEFAULT_ENTRIES 128
0016 #define OPENBLAS_DTB_SIZE 4096
0017 #define OPENBLAS_L2_ASSOCIATIVE 8
0018 #define OPENBLAS_CORE_generic
0019 #define OPENBLAS_CHAR_CORENAME "generic"
0020 #define OPENBLAS_SLOCAL_BUFFER_SIZE 4096
0021 #define OPENBLAS_DLOCAL_BUFFER_SIZE 4096
0022 #define OPENBLAS_CLOCAL_BUFFER_SIZE 8192
0023 #define OPENBLAS_ZLOCAL_BUFFER_SIZE 8192
0024 #define OPENBLAS_GEMM_MULTITHREAD_THRESHOLD 4
0025 #define OPENBLAS_VERSION "OpenBLAS 0.3.30"
0026
0027
0028 #if defined(OPENBLAS_OS_WINNT) || defined(OPENBLAS_OS_CYGWIN_NT) || defined(OPENBLAS_OS_INTERIX)
0029 #define OPENBLAS_WINDOWS_ABI
0030 #define OPENBLAS_OS_WINDOWS
0031
0032 #ifdef DOUBLE
0033 #define DOUBLE_DEFINED DOUBLE
0034 #undef DOUBLE
0035 #endif
0036 #endif
0037
0038 #ifdef OPENBLAS_NEEDBUNDERSCORE
0039 #define BLASFUNC(FUNC) FUNC##_
0040 #else
0041 #define BLASFUNC(FUNC) FUNC
0042 #endif
0043
0044 #ifdef OPENBLAS_QUAD_PRECISION
0045 typedef struct {
0046 unsigned long x[2];
0047 } xdouble;
0048 #elif defined OPENBLAS_EXPRECISION
0049 #define xdouble long double
0050 #else
0051 #define xdouble double
0052 #endif
0053
0054 #if defined(OPENBLAS_OS_WINDOWS) && defined(OPENBLAS___64BIT__)
0055 typedef long long BLASLONG;
0056 typedef unsigned long long BLASULONG;
0057 #else
0058 typedef long BLASLONG;
0059 typedef unsigned long BLASULONG;
0060 #endif
0061
0062 #ifndef BFLOAT16
0063 #include <stdint.h>
0064 typedef uint16_t bfloat16;
0065 #endif
0066
0067 #ifdef OPENBLAS_USE64BITINT
0068 typedef BLASLONG blasint;
0069 #else
0070 typedef int blasint;
0071 #endif
0072
0073 #if defined(XDOUBLE) || defined(DOUBLE)
0074 #define FLOATRET FLOAT
0075 #else
0076 #ifdef NEED_F2CCONV
0077 #define FLOATRET double
0078 #else
0079 #define FLOATRET float
0080 #endif
0081 #endif
0082
0083
0084
0085
0086 #include <stdio.h>
0087
0088
0089
0090
0091 #if ((defined(__STDC_IEC_559_COMPLEX__) || __STDC_VERSION__ >= 199901L || \
0092 (__GNUC__ >= 3 && !defined(__cplusplus))) && !(defined(FORCE_OPENBLAS_COMPLEX_STRUCT))) && !defined(_MSC_VER)
0093 #define OPENBLAS_COMPLEX_C99
0094 #ifndef __cplusplus
0095 #include <complex.h>
0096 #endif
0097 typedef float _Complex openblas_complex_float;
0098 typedef double _Complex openblas_complex_double;
0099 typedef xdouble _Complex openblas_complex_xdouble;
0100 #define openblas_make_complex_float(real, imag) ((real) + ((imag) * _Complex_I))
0101 #define openblas_make_complex_double(real, imag) ((real) + ((imag) * _Complex_I))
0102 #define openblas_make_complex_xdouble(real, imag) ((real) + ((imag) * _Complex_I))
0103 #define openblas_complex_float_real(z) (creal(z))
0104 #define openblas_complex_float_imag(z) (cimag(z))
0105 #define openblas_complex_double_real(z) (creal(z))
0106 #define openblas_complex_double_imag(z) (cimag(z))
0107 #define openblas_complex_xdouble_real(z) (creal(z))
0108 #define openblas_complex_xdouble_imag(z) (cimag(z))
0109 #else
0110 #define OPENBLAS_COMPLEX_STRUCT
0111 typedef struct { float real, imag; } openblas_complex_float;
0112 typedef struct { double real, imag; } openblas_complex_double;
0113 typedef struct { xdouble real, imag; } openblas_complex_xdouble;
0114 #define openblas_make_complex_float(real, imag) {(real), (imag)}
0115 #define openblas_make_complex_double(real, imag) {(real), (imag)}
0116 #define openblas_make_complex_xdouble(real, imag) {(real), (imag)}
0117 #define openblas_complex_float_real(z) ((z).real)
0118 #define openblas_complex_float_imag(z) ((z).imag)
0119 #define openblas_complex_double_real(z) ((z).real)
0120 #define openblas_complex_double_imag(z) ((z).imag)
0121 #define openblas_complex_xdouble_real(z) ((z).real)
0122 #define openblas_complex_xdouble_imag(z) ((z).imag)
0123 #endif
0124
0125
0126 #ifdef OPENBLAS_OS_LINUX
0127 #ifndef _GNU_SOURCE
0128 #define _GNU_SOURCE
0129 #endif
0130 #include <sched.h>
0131 #endif
0132
0133 #endif