% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/normal.R
\name{normal_lowercase}
\alias{normal_lowercase}
\alias{dnormmix}
\alias{pnormmix}
\alias{qnormmix}
\alias{rnormmix}
\alias{dnormmixgpd}
\alias{pnormmixgpd}
\alias{qnormmixgpd}
\alias{rnormmixgpd}
\alias{dnormgpd}
\alias{pnormgpd}
\alias{qnormgpd}
\alias{rnormgpd}
\title{Lowercase vectorized normal distribution functions}
\usage{
dnormmix(x, w, mean, sd, log = FALSE)

pnormmix(q, w, mean, sd, lower.tail = TRUE, log.p = FALSE)

qnormmix(
  p,
  w,
  mean,
  sd,
  lower.tail = TRUE,
  log.p = FALSE,
  tol = 1e-10,
  maxiter = 200
)

rnormmix(n, w, mean, sd)

dnormmixgpd(x, w, mean, sd, threshold, tail_scale, tail_shape, log = FALSE)

pnormmixgpd(
  q,
  w,
  mean,
  sd,
  threshold,
  tail_scale,
  tail_shape,
  lower.tail = TRUE,
  log.p = FALSE
)

qnormmixgpd(
  p,
  w,
  mean,
  sd,
  threshold,
  tail_scale,
  tail_shape,
  lower.tail = TRUE,
  log.p = FALSE,
  tol = 1e-10,
  maxiter = 200
)

rnormmixgpd(n, w, mean, sd, threshold, tail_scale, tail_shape)

dnormgpd(x, mean, sd, threshold, tail_scale, tail_shape, log = FALSE)

pnormgpd(
  q,
  mean,
  sd,
  threshold,
  tail_scale,
  tail_shape,
  lower.tail = TRUE,
  log.p = FALSE
)

qnormgpd(
  p,
  mean,
  sd,
  threshold,
  tail_scale,
  tail_shape,
  lower.tail = TRUE,
  log.p = FALSE
)

rnormgpd(n, mean, sd, threshold, tail_scale, tail_shape)
}
\arguments{
\item{x}{Numeric vector of quantiles.}

\item{w}{Numeric vector of mixture weights.}

\item{mean, sd}{Numeric vectors (mix) or scalars (base+gpd) of component parameters.}

\item{log}{Logical; if \code{TRUE}, return log-density.}

\item{q}{Numeric vector of quantiles.}

\item{lower.tail}{Logical; if \code{TRUE} (default), probabilities are \eqn{P(X \le x)}.}

\item{log.p}{Logical; if \code{TRUE}, probabilities are on log scale.}

\item{p}{Numeric vector of probabilities.}

\item{tol, maxiter}{Tolerance and max iterations for numerical inversion.}

\item{n}{Integer number of observations to generate.}

\item{threshold, tail_scale, tail_shape}{GPD tail parameters (scalars).}
}
\value{
Numeric vector of densities, probabilities, quantiles, or random variates.
}
\description{
Vectorized R wrappers for the scalar normal-kernel topics in this file. These helpers are meant
for interactive use and examples rather than direct use inside NIMBLE code.
}
\details{
These wrappers vectorize the scalar normal-kernel routines for ordinary R use. They preserve the
same formulas, parameter meanings, and tail construction as the uppercase functions; the only
change is that \code{x}, \code{q}, \code{p}, and \code{n} may now be length greater than one.

For the mixture quantile and splice quantile functions, the numerical and piecewise logic is
delegated directly to the corresponding scalar routine. As a result, the lowercase helpers are
faithful front ends rather than separate implementations.
}
\section{Functions}{
\itemize{
\item \code{dnormmix()}: Normal mixture density (vectorized)

\item \code{pnormmix()}: Normal mixture distribution function (vectorized)

\item \code{qnormmix()}: Normal mixture quantile function (vectorized)

\item \code{rnormmix()}: Normal mixture random generation (vectorized)

\item \code{dnormmixgpd()}: Normal mixture + GPD density (vectorized)

\item \code{pnormmixgpd()}: Normal mixture + GPD distribution function (vectorized)

\item \code{qnormmixgpd()}: Normal mixture + GPD quantile function (vectorized)

\item \code{rnormmixgpd()}: Normal mixture + GPD random generation (vectorized)

\item \code{dnormgpd()}: Normal + GPD density (vectorized)

\item \code{pnormgpd()}: Normal + GPD distribution function (vectorized)

\item \code{qnormgpd()}: Normal + GPD quantile function (vectorized)

\item \code{rnormgpd()}: Normal + GPD random generation (vectorized)

}}
\examples{
w <- c(0.6, 0.25, 0.15)
mu <- c(-1, 0.5, 2)
sig <- c(1, 0.7, 1.3)

# Normal mixture
dnormmix(c(0, 1, 2), w = w, mean = mu, sd = sig)
rnormmix(5, w = w, mean = mu, sd = sig)

# Normal mixture + GPD
dnormmixgpd(c(1, 2, 3), w = w, mean = mu, sd = sig,
            threshold = 2, tail_scale = 1, tail_shape = 0.2)

# Normal + GPD (single component)
dnormgpd(c(1, 2, 3), mean = 0.5, sd = 1, threshold = 2,
         tail_scale = 1, tail_shape = 0.2)

}
\seealso{
\code{\link[=normal_mix]{normal_mix()}}, \code{\link[=normal_mixgpd]{normal_mixgpd()}}, \code{\link[=normal_gpd]{normal_gpd()}}, \code{\link[=bundle]{bundle()}}, \code{\link[=get_kernel_registry]{get_kernel_registry()}}.

Other vectorized kernel helpers: 
\code{\link{amoroso_lowercase}},
\code{\link{base_lowercase}},
\code{\link{cauchy_mix_lowercase}},
\code{\link{gamma_lowercase}},
\code{\link{invgauss_lowercase}},
\code{\link{laplace_lowercase}},
\code{\link{lognormal_lowercase}}
}
\concept{vectorized kernel helpers}
