R: Tunrning base R functions into S3 generics for bit64

bit64S3 {bit64} | R Documentation

## Tunrning base R functions into S3 generics for bit64

### Description

Turn those base functions S3 generic which are used in bit64

### Usage

    	from:to
     #--as-cran complains about \method{:}{default}(from, to)
     #--as-cran complains about \method{:}{integer64}(from, to)
    	is.double(x)
     ## Default S3 method:
    is.double(x)
     ## S3 method for class 'integer64'
    is.double(x)
    	match(x, table, ...)
     ## Default S3 method:
    match(x, table, ...)
    	x %in% table
     ## Default S3 method:
    x %in% table
    	rank(x, ...)
     ## Default S3 method:
    rank(x, ...)

    	order(...)
     ## Default S3 method:
    order(...)

### Arguments

`x` | integer64 vector: the values to be matched, optionally carrying a cache created with `hashcache`
`table` | integer64 vector: the values to be matched against, optionally carrying a cache created with `hashcache` or `sortordercache`
`from` | scalar denoting first element of sequence
`to` | scalar denoting last element of sequence
`...` | ignored

### Details

The following functions are turned into S3 gernerics in order to dispatch methods for `integer64`:

    	   \code{\link{:}}
    	   \code{\link{is.double}}
    	   \code{\link{match}}
    	   \code{\link{%in%}}

    	   \code{\link{rank}}
    	   \code{\link{order}}

### Value

`invisible`

### Note

`is.double` returns `FALSE` for `integer64`
`:` currently only dispatches at its first argument, thus `as.integer64(1):9` works but `1:as.integer64(9)` doesn't `match` currently only dispatches at its first argument and expects its second argument also to be integer64, otherwise throws an error. Beware of something like `match(2, as.integer64(0:3))` `%in%` currently only dispatches at its first argument and expects its second argument also to be integer64, otherwise throws an error. Beware of something like `2 %in% as.integer64(0:3)` `order` currently only orders a single argument, trying more than one raises an error

### Author(s)

Jens Oehlschlägel <Jens.Oehlschlaegel@truecluster.com>

### See Also

`bit64`, `S3`

### Examples

     is.double(as.integer64(1))
    	as.integer64(1):9
     match(as.integer64(2), as.integer64(0:3))
     as.integer64(2) %in% as.integer64(0:3)

     unique(as.integer64(c(1,1,2)))
     rank(as.integer64(c(1,1,2)))

     order(as.integer64(c(1,NA,2)))

[Package bit64 version 0.9-7 Index]