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

JuliaLang / julia / #37605

30 Aug 2023 07:57AM UTC coverage: 86.2% (-0.3%) from 86.533%
#37605

push

local

web-flow
Speed up `logdet` for diagonal and triangular matrices (#50950)

4 of 4 new or added lines in 1 file covered. (100.0%)

73227 of 84950 relevant lines covered (86.2%)

12640960.64 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

82.61
/stdlib/Base64/src/buffer.jl
1
# This file is a part of Julia. License is MIT: https://julialang.org/license
2

3
# Data buffer for pipes.
4
mutable struct Buffer
5
    data::Vector{UInt8}
6
    ptr::Ptr{UInt8}
7
    size::Int
8

9
    function Buffer(bufsize)
1✔
10
        data = Vector{UInt8}(undef, bufsize)
1✔
11
        return new(data, pointer(data), 0)
1✔
12
    end
13
end
14

15
Base.empty!(buffer::Buffer) = buffer.size = 0
×
16
Base.getindex(buffer::Buffer, i::Integer) = unsafe_load(buffer.ptr, i)
348✔
17
Base.setindex!(buffer::Buffer, v::UInt8, i::Integer) = unsafe_store!(buffer.ptr, v, i)
×
18
Base.firstindex(buffer::Buffer) = 1
×
19
Base.lastindex(buffer::Buffer) = buffer.size
100✔
20
Base.pointer(buffer::Buffer) = buffer.ptr
×
21
capacity(buffer::Buffer) = Int(pointer(buffer.data, lastindex(buffer.data) + 1) - buffer.ptr)
1✔
22

23
function consumed!(buffer::Buffer, n::Integer)
3✔
24
    @assert n ≤ buffer.size
3✔
25
    buffer.ptr += n
3✔
26
    buffer.size -= n
3✔
27
end
28

29
function read_to_buffer(io::IO, buffer::Buffer)
2✔
30
    offset = buffer.ptr - pointer(buffer.data)
2✔
31
    copyto!(buffer.data, 1, buffer.data, offset + 1, buffer.size)
2✔
32
    buffer.ptr = pointer(buffer.data)
2✔
33
    if !eof(io)
2✔
34
        n = min(bytesavailable(io), capacity(buffer) - buffer.size)
1✔
35
        unsafe_read(io, buffer.ptr + buffer.size, n)
1✔
36
        buffer.size += n
1✔
37
    end
38
    return
2✔
39
end
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