# File lib/eymiha/units/numeric_with_units.rb, line 252
    def %(value)
      if derived?
        reduce%value
      elsif value.kind_of? NumericWithUnits
        if value.derived?
          self%value.reduce
        else
          aligned_value = align(value)
          aligned_value.numeric = aligned_value.numeric % value.numeric
          aligned_value
        end
      elsif value.kind_of? Numeric
        NumericWithUnits.new(numeric % value,unit)
      else
        raise UnitsException.new("units mismatch")
      end
    end