• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

JuliaLang / julia / #37832
77%

Build:
DEFAULT BRANCH: master
Ran 08 Jul 2024 11:27AM UTC
Jobs 1
Files 360
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 Jul 2024 09:07PM UTC coverage: 86.717% (-0.8%) from 87.5%
#37832

push

local

web-flow
add support for indexing in `@atomic` macro (#54707)

Following the discussion in #54642

Implemented:
- [x] `modifyindex_atomic!`, `swapindex_atomic!`, `replaceindex_atomic!`
for `GenericMemory`
- [x] `getindex_atomic`, `setindex_atomic!`, `setindexonce_atomic!` for
`GenericMemory`
- [x] add support for references in `@atomic` macros
- [x] add support for vararg indices in `@atomic` macros 
- [x] tests
- [x] update docstrings with example usage
- ~[ ] update Atomics section of the manual (?)~
- [x] news

@oscardssmith @vtjnash 

# New `@atomic` transformations implemented here:
```julia
julia> @macroexpand (@atomic a[i1,i2])
:(Base.getindex_atomic(a, :sequentially_consistent, i1, i2))

julia> @macroexpand (@atomic order a[i1,i2])
:(Base.getindex_atomic(a, order, i1, i2))

julia> @macroexpand (@atomic a[i1,i2] = 2.0)
:(Base.setindex_atomic!(a, :sequentially_consistent, 2.0, i1, i2))

julia> @macroexpand (@atomic order a[i1,i2] = 2.0)
:(Base.setindex_atomic!(a, order, 2.0, i1, i2))

julia> @macroexpand (@atomicswap a[i1,i2] = 2.0)
:(Base.swapindex_atomic!(a, :sequentially_consistent, 2.0, i1, i2))

julia> @macroexpand (@atomicswap order a[i1,i2] = 2.0)
:(Base.swapindex_atomic!(a, order, 2.0, i1, i2))

julia> @macroexpand (@atomic a[i1,i2] += 2.0)
:((Base.modifyindex_atomic!(a, :sequentially_consistent, +, 2.0, i1, i2))[2])

julia> @macroexpand (@atomic order a[i1,i2] += 2.0)
:((Base.modifyindex_atomic!(a, order, +, 2.0, i1, i2))[2])

julia> @macroexpand (@atomiconce a[i1,i2] = 2.0)
:(Base.setindexonce_atomic!(a, :sequentially_consistent, :sequentially_consistent, 2.0, i1, i2))

julia> @macroexpand (@atomiconce o1 o2 a[i1,i2] = 2.0)
:(Base.setindexonce_atomic!(a, o1, o2, 2.0, i1, i2))

julia> @macroexpand (@atomicreplace a[i1,i2] (2.0=>3.0))
:(Base.replaceindex_atomic!(a, :sequentially_consistent, :sequentially_consistent, 2.0, 3.0, i1, i2))

julia> @macroexpand (@atomicreplace o1 o2 a[i1,i2] (2.0=>3.0)... (continued)

66 of 73 new or added lines in 3 files covered. (90.41%)

879 existing lines in 26 files now uncovered.

76630 of 88368 relevant lines covered (86.72%)

15209469.38 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
92.54
-0.02% base/expr.jl
5
90.42
-0.5% base/multidimensional.jl

Uncovered Existing Lines

Lines Coverage ∆ File
1
96.01
-0.14% base/sort.jl
1
98.55
-1.45% base/uuid.jl
1
98.7
-0.43% base/bitset.jl
1
95.85
-0.16% stdlib/LinearAlgebra/src/diagonal.jl
1
88.1
-0.32% base/tuple.jl
1
80.76
-0.21% base/float.jl
1
96.54
-0.18% stdlib/LinearAlgebra/src/generic.jl
1
89.58
-0.05% base/compiler/tfuncs.jl
1
72.22
-2.78% stdlib/p7zip_jll/src/p7zip_jll.jl
1
96.01
-0.36% base/strings/string.jl
2
93.8
-0.18% base/bitarray.jl
2
94.76
-0.23% stdlib/Test/src/Test.jl
2
90.62
-0.17% stdlib/LinearAlgebra/src/matmul.jl
5
94.13
-1.05% base/dict.jl
7
90.24
-8.54% stdlib/Random/src/normal.jl
9
85.14
-12.36% stdlib/Random/src/Random.jl
16
82.41
-14.81% stdlib/Random/src/misc.jl
16
84.67
-2.85% base/gmp.jl
35
10.26
-89.74% stdlib/UUIDs/src/UUIDs.jl
37
57.29
-38.67% stdlib/Random/src/Xoshiro.jl
71
54.6
-43.55% base/strings/unicode.jl
90
1.08
-96.75% stdlib/Unicode/src/Unicode.jl
102
9.09
-84.24% stdlib/Random/src/DSFMT.jl
110
45.0
-45.91% stdlib/Random/src/generation.jl
179
76.69
-0.02% base/loading.jl
186
44.42
-47.08% stdlib/Random/src/RNGs.jl
Jobs
ID Job ID Ran Files Coverage
1 #37832.1 08 Jul 2024 11:27AM UTC 360
86.72
Source Files on build #37832
  • Tree
  • List 360
  • Changed 268
  • Source Changed 0
  • Coverage Changed 34
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 23dabef1 on github
  • Prev Build on master
  • Next Build on master
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc