useDynLib(pbdDMAT)

import(methods, rlecuyer, pbdMPI, pbdSLAP, Rcpp, pbdBASE)

# All internal functions
exportPattern("^dmat\\.[[:alpha:]]+")

exportMethods(
  "median", "apply",
  "qr", "qr.Q", "qr.R", "qr.qty", "qr.qy",
  "lm.fit"
)

export(
  # Arithmetic
  "+", "-", "*", "/", "^", "%%", "%/%",
  # Algebra
  t, "%*%",
  solve, La.svd, svd, lu, chol,
  # Math
  abs, sqrt, log, log2, log10, log1p, round, ceiling, floor,
  # Principal Components
  scale, prcomp, diag,
  # Covariance
  var, cov, sd,
  # Reductions
  sum, mean, prod, rowSums, colSums, rowMeans, colMeans
)
