on and it causes performance overhead when loading packages.

` keep.source ` :

    

When ` TRUE ` , the source code for functions (newly defined or loaded) is
stored internally allowing comments to be kept in the right places. Retrieve
the source by printing or using ` deparse(fn, control = "useSource") ` .

The default is ` [ interactive ](/link/interactive?package=base&version=3.6.2)
() ` , i.e., ` TRUE ` for interactive use.

%% used by tools::makeLazyLoading  ` keep.source.pkgs ` :

    

As for ` keep.source ` , used only when packages are installed. Defaults to `
FALSE ` unless the environment variable ` R_KEEP_PKG_SOURCE ` is set to ` yes
` .

` matprod ` :

    

a string selecting the implementation of the matrix products ` [ %*%
](/link/%25*%25?package=base&version=3.6.2) ` , ` [ crossprod
](/link/crossprod?package=base&version=3.6.2) ` , and ` [ tcrossprod
](/link/tcrossprod?package=base&version=3.6.2) ` for double and complex
vectors:

` "internal" `

    

uses an unoptimized 3-loop algorithm which correctly propagates ` [ NaN
](/link/NaN?package=base&version=3.6.2) ` and ` [ Inf
](/link/Inf?package=base&version=3.6.2) ` values and is consistent in
precision with other summation algorithms inside  R  like ` [ sum
](/link/sum?package=base&version=3.6.2) ` or ` [ colSums
](/link/colSums?package=base&version=3.6.2) ` (which now means that it uses a
` long double ` accumulator for summation if available and enabled, see ` [
capabilities ](/link/capabilities?package=base&version=3.6.2) ` ).

` "default" `

    

uses BLAS to speed up computation, but to ensure correct propagation of ` NaN
` and ` Inf ` values it uses an unoptimized 3-loop algorithm for inputs that
may contain ` NaN ` or ` Inf ` values. When deemed beneficial for performance,
` "default" ` may call the 3-loop algorithm unconditionally, i.e., without
checking the input for NaN/Inf values. The 3-loop algorithm uses (only) a `
double ` accumulator for summation, which is consistent with the reference
BLAS implementation.

` "blas" `

    

uses BLAS unconditionally without any checks and should be used with extreme
caution. BLAS libraries do not propagate ` [ NaN
](/link/NaN?package=base&version=3.6.2) ` or ` [ Inf
](/link/Inf?package=base&version=3.6.2) ` values correctly and for inputs with
` NaN ` / ` Inf ` values the results may be undefined.

` "default.simd" `

    

is experimental and will likely be removed in future versions of  R  . It
provides the same behavior as ` "default" ` , but the check whether the input
contains NaN/Inf values is faster on some SIMD hardware. On older systems it
will run correctly, but may be much slower than ` "default" ` .

` max.print ` :

    

integer, defaulting to ` 99999 ` . ` [ print
](/link/print?package=base&version=3.6.2) ` or ` [ show
](/link/show?package=base&version=3.6.2) ` methods can make use of this
option, to limit the amount of information that is printed, to something in
the order of (and typically slightly less than) ` max.print ` _entries_ .

` OutDec ` :

    

character string containing a single character. The preferred character to be
used as the decimal point in output conversions, that is in printing,
plotting, ` [ format ](/link/format?package=base&version=3.6.2) ` and ` [
as.character ](/link/as.character?package=base&version=3.6.2) ` but not when
deparsing nor by ` [ sprintf ](/link/sprintf?package=base&version=3.6.2) ` nor
` [ formatC ](/link/formatC?package=base&version=3.6.2) ` (which are sometimes
used prior to printing.)

` pager ` :

    

the command used for displaying text files by ` [ file.show
](/link/file.show?package=base&version=3.6.2) ` , details depending on the
platform:

On a unix-alike

    

defaults to ` [ R_HOME ](/link/R_HOME?package=base&version=3.6.2) /bin/pager `
, which is a shell script running the command-line specified by the
environment variable ` PAGER ` whose default is set at configuration, usually
to ` less ` .

On Windows

    

defaults to ` "intern