Approximation for n >= 1000
Factorial
Actual Value (truncated)
Approximation
1000!
4.0238726007709377354370243392300398571937E2567
4.0238726007709377354370243392307 E2567
10000!
2.8462596809170545189064132121198688901480E35659
2.8462596809170545189064132121197 E35659
100000!
2.824229407960347874293421578024535518477E456573
2.824229407960347874293421578024 E456573
Close enough!
* If the input is a terminal rather than a file or pipe, only then look
for the single period on a line as end of text. Also look for end of
file as an end of the text, so that piped in text works.
* Parse multiple e-mail addresses properly, adding a comma between them
(a space doesn't work). Also allow mixing of "to" e-mail addresses
and command line switches, previously all "to" addresses had to be
at the end.
* Fewer blank lines in the output, make it look nicer, remove things
like a redundant display of the body text before text was read. Also
no output text when just piping in a message.
* Avoid buffer overrun by using fgets instead of gets.
* Use stderr for text the user likely doesn't want to save, and for
prompts that would be invisible if stdout was redirected to a file.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
- Termios: cf{get,set}{i,o}speed can handle arbitrary speed values.
- The value is stored in the appropriate fields of the termios structure
in this case. The old constants (stored in the flags) are preserved
for BeOS binary compatibility.
- Adjust the FTDI FT232* driver to accept custom rates, by replacing the
hardcoded regster values with a function that will compute it
according to FTDI documentation (confirmed giving the same values for
the existing baudrates).
Currently only applies when in a window, not when replicated
(then it always switches).
Feel free to fix (need to create the settings object when replicated).
- Fixes BFont::GetHasGlyphs, the "empty square" which was returned led
it to think the font had glyphs for everything
- This means the "no character" empty square will not be drawn anymore,
if we want it back, we will need to rework the implementation a bit
more (either request it explicitly when there is a missing glyph, or
return it as it was before but including an info that it is the
"missing glyph")
- Maybe GetHasGlyphs should also bypass the font fallback system, and
return what's actually in the requested font only.
This also fixes a locking problem in the GlyphLayoutEngine, the code
didn't handle the read/write lock properly and tried to ReadUnlock from
a place where only the write lock was held.
- Interface Kit tests use a View class which is not BView, and has no
SetViewUIColor.
- Libexpat is now in a separate package.
- Shouldn't we add this to the buildbots so we can cath the breakage?
Avoids showing the same language multiple times in the list, for example
when there are cyrillic and latin variants. It is still possible to pick
one of the variants, as they are also added as country-specific entries.
Fixes#9144.
- Don't crash when a [.svn] cache directory is missing
- Ignores the cache directories of the main VCS : bazaar, git, mercurial, svn
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Fixes#11532.
url and email label are now marked as a link and open the address
in the browser/mail-app on click
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Fixes#3825
A few extra changes from the original patch:
- Remove "smart" parsing (detection of "ftp", etc) as it could lead to
ftp://ftp://url or other strangeness,
- Add gopher protocol, because mmu_man may have an home page there.
A combination of two problems made things go wrong with the timestamp of
decoded audio.
1) The output buffer size is too small to hold the complete input.
swresample handles this by buffering the input for use the next time it
is called, however repeatedly doing this results in lots of buffering,
and our way to compute the output timestamp from the input does not take
it into account so it does weird things. Moreover, we would need to
empty the buffer by calling swr_convert with NULL input in that case.
Fix: make sure to not feed more data to swr_convert than it can output
in our buffer. This way, no buffering occurs, only the matrixing
conversion.
2) When using planar audio, the "frame size" is a bit different. Instead
of adding sample size * channel count to 1 pointer, we need to add
sample size * 1 to each channel buffer.
Fix: add the "fInputFrameSize" which takes this into account, instead of
misusing fOutputFrameSize for the input.
Fixes#12460.