Age | Commit message (Collapse) | Author |
|
This strtod implementation is not perfectly accurate, as evidenced by the test
(accuracy_strtod.cpp), but it is sufficiently close (up to 8 eps).
The main sources of inaccuracy are:
- Highly repeated division/multiplication by 'base'
(Each operation brings a multiplicative error of 1+2^-53.)
- Loss during the initial conversion from long long to double (most prominently,
69294956446009195 should first be rounded to 69294956446009200 and then
converted to 69294956446009200.0 and then divided by ten, yielding
6929495644600920.0. Currently, it converts first to double, can't represent
69294956446009195.0, and instead represents 69294956446009190, which
eventually yields 6929495644600919.0. Close, but technically wrong.)
I believe that these issues can be fixed by rewriting the part at and after
double value = digits.number();
and that the loss before that is acceptable.
Specifically, losing the exact exponent on overflow is obviously fine.
The only other loss occurs when the significant digits overflow a 'long long'.
But these store 64(-7ish) bits, and the mantissa of a double only stores 52 bits.
With a bit more thinking, one could probably get the error down to 1 or 2 eps.
(But not better.)
Fixes #1979.
|
|
See also #1979.
|
|
|
|
|
|
Currently we don't deal with them, so they shouldn't return a
SimpleSelector - that'd be a false positive.
Also don't produce a ComplexSelector if no SimpleSelector was parsed.
This fixes a couple of rendering issues on awesomekling.github.io:
link colours, footer size, content max-width (and possibly more!)
|
|
Previously we would only check if the border width property is empty and
skip drawing in that case, and enforcing a minimum width of 1px
otherwise - but "border: 0;" should not paint a border :^)
|
|
This makes the blog posts on awesomekling.github.io show up :^)
|
|
|
|
Back in 36ba0a35eecec73c3347c43aeb18f3ea4849117d I thought that Travis would
automagically delete theoldest files. Apparently it does not.
Note that no dummy changes are needed, because BuildIt.sh lists itself
as a dependency for the Toolchain. Hooray for something that works!
|
|
This is very basic and doesn't support many features. Instead
of describing what it *doesn't* support, I'll describe what I
have tested:
1. Public key authentication (password is not supported)
2. Single command execution
3. PTY-less interactive bash shell (/bin/sh doesn't work)
4. Multi-user (i.e you can ssh as 'anon' as well as root)
|
|
It's based on <netinet/in.h> and more definitions might be required
here (e.g, IP header).
|
|
This file uses 'struct timeval' without including relevant header.
|
|
|
|
Will be updated as we add more protocols (e.g AF_INET6)
|
|
I had this assert trigger, I believe in a legitimate case.
This is the behavior glic and musl follow.
|
|
In theory, this should make dithering a teensy bit faster.
|
|
We can now cycle pages of suggestions when there are more suggestions
than we can fit on one screen.
This does not inculude a visual indicator that more pages exist,
however.
|
|
Lines in the history should not be considered for update at all.
Fixes #2185
|
|
Fixup for 6f2837cb130261da5747716bddaaefc75793c8ab
|
|
|
|
We now look at the Content-Type HTTP header when deciding how to render
some loaded content. If there is no Content-Type header (which will
always be the case when loading local files, for example), we make a
guess based on the URL filename.
|
|
HTTP headers are case-insensitive, so just add CaseInsensitiveTraits
to the HashMap and we're good to go! :^)
|
|
|
|
Embedders of HtmlView can now react to this by hooking on_url_drop.
|
|
|
|
When encountering a text file, we now put it in a wrapper document with
the file contents in a <pre> tag. This works really nicely :^)
|
|
|
|
|
|
This adds a row of secondary (darker) shade to the menubar, giving it
a more buttonish look to match the highlight added to the Taskbar. :^)
|
|
Previously we were wasting the bottom pixel row on darkness. Use the
base button color all the way to the bottom row and offset the top
highlight by one pixel instead.
|
|
|
|
|
|
|
|
|
|
Non-configurable for now.
|
|
|
|
|
|
You can now drag a hyperlink as a text/uri-list. This allows you to
drag a file from "ls" output and drop it on a FileManager to copy
the file there. Truly futuristic stuff!
|
|
The buffer positions referred to by a VT::Position now include history
scrollback, meaning that a VT::Position with row=0 is at the start of
the history.
The active terminal buffer keeps moving in VT::Position coordinates
whenever we scroll. This allows selection to follow history. It also
allows us to click hyperlinks in history.
Fixes #957.
|
|
|
|
Okay, links are finally starting to feel visually intuitive. :^)
|
|
It felt too rushed to open links when simply mousedown'ing on them.
Improve this by implementing basic "click" semantics instead.
This patch also introduces the ability to prevent link opening if you
want to force selection instead. Hold shift and we will not open links.
|
|
This makes the visual interaction between the menu bar and the window
a lot less janky looking.
|
|
|
|
|
|
This broke when we introduced LaunchServer.
|
|
|
|
The dotted line is custom painted to put some more distance between the
dots than what Painter::draw_line() does.
|
|
|
|
Just a bool is insufficient as we'll have to support dashed lines as well.
|