 
 			return new Constant(@numerator * b.numerator, @denominator * b.denominator, newMode)
 
-		# Adds to another constant and returns the resulting Constant.
-		# @param b [Constant]
-		# @return [Constant] The addition of this and b
+		# Add another constant to this one.
+		#
+		# @param b [Constant] The constant to add.
+		# @return [Constant] The sum of the two constants.
 		add: (b) ->
 			if @mode == b.mode
 				newMode = @mode

				newMode = "float"

			return new Constant(b.denominator * @numerator + @denominator * b.numerator, @denominator * b.denominator, newMode)
		# This constant to the power of another constant
		# @param b [Constant]
		# @return [Constant] Returns a constant of base this to power b
		pow: (b) ->
			if @mode == "rational"
				if b.mode == "rational"

			else
				return if not assumeZero then @copy() else new Constant("0")

		# Substitute an expression.
		#
		# @deprecated
		substituteExpression: (sourceExpression, variable, equivalencies=null, eliminate=false) ->
			throw new Error("Can't sub uncertainties")

		# Get uncertainty.
		#
		# @throw [Error] Not implemented for uncertainties.
		getUncertainty: ->
			throw new Error("Can't take uncertainty of an uncertainty")

		# Get variable units.
		#
		# @throw [Error] Not implemented for uncertainties.
		getVariableUnits: (variable, equivalencies) ->
			throw new Error("Can't do that with uncertainties")

		# Set variable units.
		#
		# @throw [Error] Not implemented for uncertainties.
		setVariableUnits: (variable, equivalencies, units) ->
			throw new Error("Can't do that with uncertainties")

		# Simplify this node.
		#
		# @return [Uncertainty] A copy of this uncertainty.
		simplify: ->
			@copy()

		# Expand this node.
		#
		# @return [Uncertainty] A copy of this uncertainty.
		expand: ->
			@copy()

		# Expand and then simplify this node.
		#
		# @return [Uncertainty] A copy of this uncertainty.
		expandAndSimplify: ->
			@copy()

		# Make a new drawing node representing this uncertainty.
		#
		# @return [DrawingNode] A drawing node representing this uncertainty.
		toDrawingNode: ->
			UncertaintyNode = prettyRender.Uncertainty
			return new UncertaintyNode(@label)

		# Differentiate.
		# Don't differentiate uncertainties. It won't work.
		#
		# @throw [Error] Not implemented for uncertainties.
		differentiate: (variable) ->
			throw new Error("Can't differentiate uncertainties!")

