to_rgb (Color::HSL)

    # File lib/color/hsl.rb, line 93
      def to_rgb(ignored = nil)
        return Color::RGB.new if Color.near_zero_or_less?(@l)
        return Color::RGB.new(0xff, 0xff, 0xff) if Color.near_one_or_more?(@l)
        return Color::RGB.from_fraction(@l, @l, @l) if Color.near_zero?(@s)

        # Is the value less than 0.5?
        if Color.near_zero_or_less?(@l - 0.5)
          tmp2 = @l * (1.0 + @s.to_f)
        else
          tmp2 = @l + @s - (@l * @s.to_f)
        end
        tmp1 = 2.0 * @l - tmp2

        tmp3  = [ @h + (1.0 / 3.0), @h, @h - (1.0 / 3.0) ]

        rgb = tmp3.map { |hue|
          hue += 1.0 if Color.near_zero_or_less?(hue)
          hue -= 1.0 if Color.near_one_or_more?(hue)

          if Color.near_zero_or_less?((6.0 * hue) - 1.0)
            tmp1 + ((tmp2 - tmp1) * hue * 6.0)
          elsif Color.near_zero_or_less?((2.0 * hue) - 1.0)
            tmp2
          elsif Color.near_zero_or_less?((3.0 * hue) - 2.0)
            tmp1 + (tmp2 - tmp1) * ((2 / 3.0) - hue) * 6.0
          else
            tmp1
          end
        }

         Color::RGB.from_fraction(*rgb)
      end