Get the architecture of an object or coerce it into another

architecture(x, ...)

as.architecture(
  x,
  ostype = .Platform$OS.type,
  arch = R.version$arch,
  ptrsize = .Machine$sizeof.pointer,
  endian = .Platform$endian,
  ...
)

Arguments

x

The object to be coerced.

...

(optional) Additional arguments passed to the underlying method.

ostype

A character string, e.g. "unix" and "windows".

arch

A character string, e.g. "i386", "i686" and "x86_64".

ptrsize

The target pointer size - either 4L or 8L.

endian

The target endianess - either "little" or "big".

Value

architecture() returns a named list with character element ostype and arch, integer element ptrsize, and character element endian. These elements take a missing values if they could not be inferred.

as.architecture() returns a coerced version of x. If no coercion was needed, then x itself is returned.