@@ -8,7 +8,8 @@ NB. lapack definitions
88path=: jpath ' ~addons/math/lapack/'
99
10103 : 0' '
11- if. UNAME-: ' Linux' do.
11+ if. 0: ~: 4 !: 0 @ < ' IFWA64' do. IFWA64=. 0 end.
12+ if. (< UNAME)e. ' Linux' ; ' FreeBSD' ; ' OpenBSD' do.
1213 dll=: ' liblapack.so.3'
1314 JLAPACK=: ' F'
1415elseif. UNAME-: ' Darwin' do.
@@ -23,31 +24,25 @@ elseif. UNAME-:'Darwin' do.
2324 end.
2425elseif. UNAME-: ' Win' do.
2526 if. IF64 do.
26- if. fexist path, ' jlapack64.dll' do.
27- dll=: ' "' , path, ' jlapack64.dll"'
28- JLAPACK=: ' J'
29- else.
30- dll=: ' liblapack.dll'
27+ if. IFWA64 do.
28+ dll=: ' libopenblas' , ((-. IFWA64){:: ' _arm64' ; (-. IF64)# ' _32' ), ' .dll'
3129 JLAPACK=: ' F'
30+ else.
31+ if. fexist path, ' jlapack64.dll' do.
32+ dll=: ' "' , path, ' jlapack64.dll"'
33+ JLAPACK=: ' J'
34+ else.
35+ dll=: ' libopenblas' , ((-. IFWA64){:: ' _arm64' ; (-. IF64)# ' _32' ), ' .dll'
36+ JLAPACK=: ' F'
37+ end.
3238 end.
3339 else.
3440 dll=: ' "' , path, ' jlapack.dll"'
3541 JLAPACK=: ' J'
3642 end.
37- elseif. UNAME-: ' Android' do.
38- JLAPACK=: ' J'
39- arch=. LF-. ~ 2 !: 0 ' getprop ro.product.cpu.abi'
40- if. IF64 < arch-: ' arm64-v8a' do.
41- arch=. ' armeabi-v7a'
42- elseif. IF64 < arch-: ' x86_64' do.
43- arch=. ' x86'
44- end.
45- dll=: ' "' , (jpath' ~bin/../libexec/android-libs/' , arch, ' /liblapack.so' ), ' "'
46- if. 0 = fexist dltb dll -. ' "' do.
47- smoutput ' lapack error: please run install_jlapack_'''' to install liblapack.so'
48- end.
4943elseif. do.
50- ' platform not supported' 13 !: 8 [ 10
44+ dll=: ' liblapack.so'
45+ JLAPACK=: ' F'
5146end.
5247' '
5348)
0 commit comments