#ifndef ASSEMBLER
#ifdef OS_WINDOWS
typedef char env_var_t[MAX_PATH];
-#define readenv(p, n) GetEnvironmentVariable((n), (p), sizeof(p))
+#define readenv(p, n) GetEnvironmentVariable((LPCTSTR)(n), (LPTSTR)(p), sizeof(p))
#else
typedef char* env_var_t;
#define readenv(p, n) ((p)=getenv(n))
#ifndef ASSEMBLER
+#ifdef C_MSVC
+#include <intrin.h>
+#endif
+
#define MB
#define WMB
if (y <= 1) return x;
- y = blas_quick_divide_table[y];
-
#if defined(_MSC_VER) && !defined(__clang__)
- (void*)result;
- return x*y;
+ result = x/y;
+ return result;
#else
+
+ y = blas_quick_divide_table[y];
+
__asm__ __volatile__ ("mull %0" :"=d" (result) :"a"(x), "0" (y));
return result;