R/utility_functions.R

Defines functions rotr_vec rotl_vec

# VECTOR FUNCTIONS
rotl_vec <- function(vec, lshift) {
  num_els <- length(vec)
  select_mask <- ((1:num_els + lshift) %% num_els)
  select_mask[select_mask == 0] <- num_els
  return(vec[select_mask])
}

rotr_vec <- function(vec, rshift) {
  return(rotl_vec(vec, -rshift))
}
alan-turing-institute/network-comparison documentation built on June 7, 2022, 10:41 p.m.