## simple_triplet stuff
export("as.simple_triplet_matrix",
       "is.simple_triplet_matrix",
       "simple_triplet_diag_matrix",
       "simple_triplet_matrix",
       "simple_triplet_zero_matrix"
       )

S3method("Ops","simple_triplet_matrix")
S3method("[","simple_triplet_matrix")
S3method("as.matrix","simple_triplet_matrix")
S3method("as.simple_triplet_matrix","matrix")
S3method("as.simple_triplet_matrix","simple_triplet_matrix")
S3method("c","simple_triplet_matrix")
S3method("cbind","simple_triplet_matrix")
S3method("dim","simple_triplet_matrix")
S3method("dimnames","simple_triplet_matrix")
S3method("dimnames<-","simple_triplet_matrix")
S3method("duplicated","simple_triplet_matrix")
S3method("is.numeric","simple_triplet_matrix")
S3method("print","simple_triplet_matrix")
S3method("rbind","simple_triplet_matrix")
S3method("t","simple_triplet_matrix")
S3method("unique","simple_triplet_matrix")

## enhanced stuff
useDynLib(slam)

export("rowSums",
       "colSums",
       "rowMeans",
       "colMeans"
      )

S3method("rowSums", "default")
S3method("rowSums", "simple_triplet_matrix")

S3method("colSums", "default")
S3method("colSums", "simple_triplet_matrix")

S3method("rowMeans", "default")
S3method("rowMeans", "simple_triplet_matrix")

S3method("colMeans", "default")
S3method("colMeans", "simple_triplet_matrix")


export("tcrossprod.simple_triplet_matrix")

## array stuff
export("as.simple_sparse_array",
       "is.simple_sparse_array",
       "simple_sparse_array"
       )

S3method("[","simple_sparse_array")
S3method("as.array","simple_sparse_array")
S3method("as.simple_sparse_array","array")
S3method("as.simple_sparse_array","simple_sparse_array")
S3method("dim","simple_sparse_array")
S3method("dimnames","simple_sparse_array")
S3method("print","simple_sparse_array")
