% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/01_chronon_cardinality.R
\name{chronon_cardinality_fixed}
\alias{chronon_cardinality_fixed}
\title{Fixed cardinality between time granules}
\usage{
chronon_cardinality_fixed(x, y, ...)
}
\arguments{
\item{x}{The finer time granule (e.g. \code{cal_gregorian$month(1L)})}

\item{y}{The coarser time granule (e.g. \code{cal_gregorian$year(1L)})}

\item{...}{Additional arguments for methods.}
}
\value{
A single number describing how many unit \code{x} time granules fit
into a unit \code{y} time granule.
}
\description{
A restricted variant of \code{\link[=chronon_cardinality]{chronon_cardinality()}} for time granule pairs
whose relationship is a constant, context-independent number (e.g., 60
seconds in a minute, 24 hours in a day). Unlike \code{chronon_cardinality()},
methods for this generic do not receive (and must not need) an \code{at} time
point, and should return the number of unit (\code{n = 1L}) \code{x} granules that
fit within one unit \code{y} granule.
}
\details{
Defining a method for \code{chronon_cardinality_fixed()} automatically provides
a \code{chronon_cardinality()} method for the pair (scaled by the requested
granule sizes via the \code{list(mt_unit, mt_unit)} fallback method), and marks
the relationship as safe to use for \code{\link[=chronon_divmod]{chronon_divmod()}}'s graph traversal,
where variable (context-dependent) cardinalities cannot be used since no
\code{at} is available mid-traversal.
}
\keyword{internal}
