R/RcppExports.R

Defines functions cpp_array_factor cpp_oa cpp_oa_spectrum cpp_alpha_blocks cpp_polarization cpp_interaction_matrix cpp_propagator cpp_alpha_blocks_update cpp_polarization_update cpp_interaction_matrix_update cpp_propagator_update cpp_cg_solve cpp_extinction cpp_absorption cpp_scattering cpp_dispersion cpp_dispersion_spectrum cpp_incident_field cpp_incident_field_axis sample_random sample_hc cpp_euler_active cpp_euler_passive cpp_axis_rotation

Documented in sample_hc sample_random

# This file was generated by Rcpp::compileAttributes
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

cpp_array_factor <- function(kn, R) {
    .Call('cda_cpp_array_factor', PACKAGE = 'cda', kn, R)
}

cpp_oa <- function(R, A, AlphaBlocks, kn, medium, IncidenceNodes, IncidenceWeights, ScatteringNodes, ScatteringWeights, inversion, maxiter, tol) {
    .Call('cda_cpp_oa', PACKAGE = 'cda', R, A, AlphaBlocks, kn, medium, IncidenceNodes, IncidenceWeights, ScatteringNodes, ScatteringWeights, inversion, maxiter, tol)
}

cpp_oa_spectrum <- function(kn, medium, R, Alpha, Angles, IncidenceNodes, IncidenceWeights, ScatteringNodes, ScatteringWeights, inversion, maxiter, tol, progress) {
    .Call('cda_cpp_oa_spectrum', PACKAGE = 'cda', kn, medium, R, Alpha, Angles, IncidenceNodes, IncidenceWeights, ScatteringNodes, ScatteringWeights, inversion, maxiter, tol, progress)
}

cpp_alpha_blocks <- function(Alpha, Angles) {
    .Call('cda_cpp_alpha_blocks', PACKAGE = 'cda', Alpha, Angles)
}

cpp_polarization <- function(E, AlphaBlocks) {
    .Call('cda_cpp_polarization', PACKAGE = 'cda', E, AlphaBlocks)
}

cpp_interaction_matrix <- function(R, kn, AlphaBlocks) {
    .Call('cda_cpp_interaction_matrix', PACKAGE = 'cda', R, kn, AlphaBlocks)
}

cpp_propagator <- function(R, kn, AlphaBlocks) {
    .Call('cda_cpp_propagator', PACKAGE = 'cda', R, kn, AlphaBlocks)
}

cpp_alpha_blocks_update <- function(Alpha, Angles, AlphaBlocks) {
    invisible(.Call('cda_cpp_alpha_blocks_update', PACKAGE = 'cda', Alpha, Angles, AlphaBlocks))
}

cpp_polarization_update <- function(E, AlphaBlocks, P) {
    invisible(.Call('cda_cpp_polarization_update', PACKAGE = 'cda', E, AlphaBlocks, P))
}

cpp_interaction_matrix_update <- function(R, kn, AlphaBlocks, A) {
    invisible(.Call('cda_cpp_interaction_matrix_update', PACKAGE = 'cda', R, kn, AlphaBlocks, A))
}

cpp_propagator_update <- function(R, kn, AlphaBlocks, G) {
    invisible(.Call('cda_cpp_propagator_update', PACKAGE = 'cda', R, kn, AlphaBlocks, G))
}

cpp_cg_solve <- function(A, y, x0, nmax, tol) {
    .Call('cda_cpp_cg_solve', PACKAGE = 'cda', A, y, x0, nmax, tol)
}

cpp_extinction <- function(kn, P, Ein) {
    .Call('cda_cpp_extinction', PACKAGE = 'cda', kn, P, Ein)
}

cpp_absorption <- function(kn, P, E) {
    .Call('cda_cpp_absorption', PACKAGE = 'cda', kn, P, E)
}

cpp_scattering <- function(R, angles, weights, kn, P) {
    .Call('cda_cpp_scattering', PACKAGE = 'cda', R, angles, weights, kn, P)
}

cpp_dispersion <- function(R, A, AlphaBlocks, kn, medium, Incidence, Axes, ScatteringNodes, ScatteringWeights, polarisation, inversion, maxiter, tol) {
    .Call('cda_cpp_dispersion', PACKAGE = 'cda', R, A, AlphaBlocks, kn, medium, Incidence, Axes, ScatteringNodes, ScatteringWeights, polarisation, inversion, maxiter, tol)
}

cpp_dispersion_spectrum <- function(kn, medium, R, Alpha, Angles, Incidence, Axes, ScatteringNodes, ScatteringWeights, polarisation, inversion, maxiter, tol, progress) {
    .Call('cda_cpp_dispersion_spectrum', PACKAGE = 'cda', kn, medium, R, Alpha, Angles, Incidence, Axes, ScatteringNodes, ScatteringWeights, polarisation, inversion, maxiter, tol, progress)
}

cpp_incident_field <- function(Evec, kvec, R, Incidence) {
    .Call('cda_cpp_incident_field', PACKAGE = 'cda', Evec, kvec, R, Incidence)
}

cpp_incident_field_axis <- function(Evec, kvec, R, Incidence, Axes) {
    .Call('cda_cpp_incident_field_axis', PACKAGE = 'cda', Evec, kvec, R, Incidence, Axes)
}

#' @title Generate a random sample of points on the unit sphere
#' @description Random sample
#' @describeIn  sample_random random sample
#' @return 3xN matrix
#' @family sample
#' @examples 
#' sample_random(10)
#' @export
sample_random <- function(N) {
    .Call('cda_sample_random', PACKAGE = 'cda', N)
}

#' @title Generate a sample of points on the unit sphere
#' @description Random sample with minimum exlusion zone ("hard-core process")
#' @param exclusion minimum distance allowed between points
#' @param maxiter maximum number of iterations
#' @param k number of extra new points to try at each iteration
#' @return 3xN matrix
#' @describeIn sample_random random sample with exclusion zone
#' @family sample
#' @examples 
#' sample_hc(10)
#' @export
sample_hc <- function(N, exclusion = 0.1, maxiter = 200L, k = 30L) {
    .Call('cda_sample_hc', PACKAGE = 'cda', N, exclusion, maxiter, k)
}

cpp_euler_active <- function(phi, theta, psi) {
    .Call('cda_cpp_euler_active', PACKAGE = 'cda', phi, theta, psi)
}

cpp_euler_passive <- function(phi, theta, psi) {
    .Call('cda_cpp_euler_passive', PACKAGE = 'cda', phi, theta, psi)
}

cpp_axis_rotation <- function(angle, axis) {
    .Call('cda_cpp_axis_rotation', PACKAGE = 'cda', angle, axis)
}

Try the cda package in your browser

Any scripts or data that you put into this service are public.

cda documentation built on May 30, 2017, 6:19 a.m.