function factory( mu, s ) {
	if (
		isnan( mu ) ||
		isnan( s ) ||
		s <= 0.0
	) {
		return constantFunction( NaN );
	}
	return mgf;

	/**
	* Evaluates the moment-generating function (MGF) for a raised cosine distribution.
	*
	* @private
	* @param {number} t - input value
	* @returns {number} evaluated MGF
	*
	* @example
	* var y = mgf( 2.0 );
	* // returns <number>
	*/
	function mgf( t ) {
		var out;
		var st;
		if ( isnan( t ) ) {
			return NaN;
		}
		st = s * t;
		out = PI_SQUARED * sinh( st );
		out /= st * ( PI_SQUARED + ( st*st ) );
		out *= exp( mu * t );
		return out;
	}
}
Returns a function for evaluating the moment-generating function (MGF) for a raised cosine distribution with location parameter `mu` and scale parameter `s`.

@param {number} mu - location parameter
@param {PositiveNumber} s - scale parameter
@returns {Function} MGF

@example
var mgf = factory( 3.0, 1.5 );

var y = mgf( 1.9 );
// returns ~495.57

y = mgf( -1.0 );
// returns ~0.058