@@ -319,7 +319,7 @@ T = Float32
319
319
end
320
320
321
321
function twoifelses! (res, half, m, keep = nothing , final = true )
322
- 𝒶𝓍j = axes (half, 1 )
322
+ local 𝒶𝓍j = axes (half, 1 )
323
323
for j in 𝒶𝓍j
324
324
𝓇𝒽𝓈 = if isnothing (keep)
325
325
log (half[j]) + m[j]
@@ -331,7 +331,7 @@ T = Float32
331
331
res
332
332
end
333
333
function twoifelses_avx! (res, half, m, keep = nothing , final = true )
334
- 𝒶𝓍j = axes (half, 1 )
334
+ local 𝒶𝓍j = axes (half, 1 )
335
335
@turbo for j in 𝒶𝓍j
336
336
𝓇𝒽𝓈 = if isnothing (keep)
337
337
log (half[j]) + m[j]
@@ -363,9 +363,9 @@ T = Float32
363
363
364
364
chebpts (m) = (n = m - 1 ; [cos (k * pi / n) for k = 0 : n])
365
365
function barycentric_weight0 (X)
366
- T = eltype (X)
367
- n = length (X) - 1
368
- w = zero (X)
366
+ local T = eltype (X)
367
+ local n = length (X) - 1
368
+ local w = zero (X)
369
369
@inbounds @fastmath for j = 0 : n
370
370
tmp = one (T)
371
371
for k = 0 : n
@@ -376,9 +376,9 @@ T = Float32
376
376
return w
377
377
end
378
378
function barycentric_weight1 (X)
379
- T = eltype (X)
380
- n = length (X) - 1
381
- w = zero (X)
379
+ local T = eltype (X)
380
+ local n = length (X) - 1
381
+ local w = zero (X)
382
382
@turbo for j = 0 : n
383
383
tmp = one (T)
384
384
for k = 0 : n
@@ -389,9 +389,9 @@ T = Float32
389
389
return w
390
390
end
391
391
function barycentric_weight2 (X)
392
- T = eltype (X)
393
- n = length (X) - 1
394
- w = zero (X)
392
+ local T = eltype (X)
393
+ local n = length (X) - 1
394
+ local w = zero (X)
395
395
@turbo inline = true for j = 0 : n
396
396
tmp = one (T)
397
397
for k = 0 : n
@@ -402,9 +402,9 @@ T = Float32
402
402
return w
403
403
end
404
404
function barycentric_weight3 (X)
405
- T = eltype (X)
406
- n = length (X) - 1
407
- w = zero (X)
405
+ local T = eltype (X)
406
+ local n = length (X) - 1
407
+ local w = zero (X)
408
408
@turbo inline = true for j = 0 : n
409
409
tmp = one (T)
410
410
for k = 0 : n
@@ -415,9 +415,9 @@ T = Float32
415
415
return w
416
416
end
417
417
function barycentric_weight4 (X)
418
- T = eltype (X)
419
- n = length (X) - 1
420
- w = zero (X)
418
+ local T = eltype (X)
419
+ local n = length (X) - 1
420
+ local w = zero (X)
421
421
@turbo for j = 0 : n
422
422
tmp = one (T)
423
423
for k = 0 : n
@@ -469,16 +469,16 @@ T = Float32
469
469
end
470
470
471
471
function absmax_tturbo (a) # LV threaded
472
- result = zero (eltype (a))
472
+ local result = zero (eltype (a))
473
473
@tturbo for i = 1 : length (a)
474
474
abs (a[i]) > result && (result = abs (a[i]))
475
475
end
476
476
result
477
477
end
478
478
479
479
function findminturbo (x)
480
- indmin = 0
481
- minval = typemax (eltype (x))
480
+ local indmin = 0
481
+ local minval = typemax (eltype (x))
482
482
@turbo for i ∈ eachindex (x)
483
483
newmin = x[i] < minval
484
484
minval = newmin ? x[i] : minval
@@ -487,8 +487,8 @@ T = Float32
487
487
minval, indmin
488
488
end
489
489
function findmintturbo (x)
490
- indmin = 0
491
- minval = typemax (eltype (x))
490
+ local indmin = 0
491
+ local minval = typemax (eltype (x))
492
492
@tturbo for i ∈ eachindex (x)
493
493
newmin = x[i] < minval
494
494
minval = newmin ? x[i] : minval
@@ -497,8 +497,8 @@ T = Float32
497
497
minval, indmin
498
498
end
499
499
function findminturbo_u4 (x)
500
- indmin = 0
501
- minval = typemax (eltype (x))
500
+ local indmin = 0
501
+ local minval = typemax (eltype (x))
502
502
@turbo unroll = 4 for i ∈ eachindex (x)
503
503
newmin = x[i] < minval
504
504
minval = newmin ? x[i] : minval
@@ -507,7 +507,8 @@ T = Float32
507
507
minval, indmin
508
508
end
509
509
function extrema_turbo (x)
510
- a = b = first (x)
510
+ local a = first (x)
511
+ local b = a;
511
512
@turbo for i in eachindex (x)
512
513
local e = x[i]
513
514
b = max (b, e)
0 commit comments