disable multithreading on windows

This commit is contained in:
Jutho Haegeman 2021-06-15 12:10:00 +02:00
parent 7755a7581d
commit 9359a9bdc4

View file

@ -3,7 +3,11 @@ using WignerSymbols
using LinearAlgebra
using Random
using Base.Threads
N = Base.Threads.nthreads()
if Base.Sys.iswindows() # not sure why the multithreaded version fails on Windows
N = 1
else
N = Base.Threads.nthreads()
end
Random.seed!(1234)
smalljlist = 0:1//2:10
@ -51,27 +55,7 @@ end
end
# test recurrence relations: Phys Rev E 57, 7274 (1998)
if Base.Sys.iswindows() # not sure why the multithreaded version fails on Windows
@testset "wigner3j: recurrence relations" begin
for k = 1:8
j2 = convert(BigFloat, rand(largejlist))
j3 = convert(BigFloat, rand(largejlist))
m2 = -convert(BigFloat, rand(-j2:0))
m3 = convert(BigFloat, rand(-j3:0))
for j in max(abs(j2-j3),abs(m2+m3))+1:(j2+j3)-1
X = j*sqrt(((j+1)^2-(j2-j3)^2)*((j2+j3+1)^2-(j+1)^2)*((j+1)^2-(m2+m3)^2))
Y = (2*j+1)*((m2+m3)*(j2*(j2+1)-j3*(j3+1)) - (m2-m3)*j*(j+1))
Z = (j+1)*sqrt((j^2-(j2-j3)^2)*((j2+j3+1)^2-j^2)*(j^2-(m2+m3)^2))
tol = 10*max(abs(X),abs(Y),abs(Z))*eps(BigFloat)
@test (X*wigner3j(BigFloat,j+1,j2,j3,-m2-m3,m2,m3) +
Z*wigner3j(BigFloat,j-1,j2,j3,-m2-m3,m2,m3))
(-Y*wigner3j(BigFloat,j,j2,j3,-m2-m3,m2,m3)) atol=tol
end
end
end
else
@threads for i = 1:N
@threads for i = 1:N
@testset "wigner3j: recurrence relations, thread $i" begin
for k = 1:div(8,N)
j2 = convert(BigFloat, rand(largejlist))
@ -90,7 +74,6 @@ else
end
end
end
end
end
@threads for i = 1:N