Primitive                package:base                R Documentation

_C_a_l_l _a "_P_r_i_m_i_t_i_v_e" _I_n_t_e_r_n_a_l _F_u_n_c_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     '.Primitive' returns an entry point to a 'primitive' (internally
     implemented) function.

_U_s_a_g_e:

     .Primitive(name)

_A_r_g_u_m_e_n_t_s:

    name: name of the R function.

_D_e_t_a_i_l_s:

     The advantage of '.Primitive' over '.Internal' functions is the
     potential efficiency of argument passing.  However, this is done
     by ignoring argument names and using positional matching of
     arguments (unless arranged differently for specific primitives
     such as 'log', 'round', 'signif', 'rep' and 'seq.int'), so this is
     discouraged for functions of more than one argument.

     All primitive functions are in the base name space.

_S_e_e _A_l_s_o:

     '.Internal'.

_E_x_a_m_p_l_e_s:

     mysqrt <- .Primitive("sqrt")
     c
     .Internal # this one *must* be primitive!
     get("if") # just 'if' or 'print(if)' are not syntactically ok.

