def hsv2rgb_raw(hsv):
    """
    Converts an HSV tuple to RGB. Intended for internal use.
    You should use hsv2rgb_spectrum or hsv2rgb_rainbow instead.
    """
    HSV_SECTION_3 = 64
    h, s, v = hsv
    invsat = 255 - s
    brightness_floor = v * invsat // 256
    color_amplitude = v - brightness_floor
    section = h // HSV_SECTION_3
    offset = h % HSV_SECTION_3
    rampup = offset
    rampdown = HSV_SECTION_3 - 1 - offset
    rampup_amp_adj = rampup * color_amplitude // (256 // 4)
    rampdown_amp_adj = rampdown * color_amplitude // (256 // 4)
    rampup_adj_with_floor = rampup_amp_adj + brightness_floor
    rampdown_adj_with_floor = rampdown_amp_adj + brightness_floor
    r, g, b = 0, 0, 0
    if section:
        if section == 1:
            r = brightness_floor
            g = rampdown_adj_with_floor
            b = rampup_adj_with_floor
        else:
            r = rampup_adj_with_floor
            g = brightness_floor
            b = rampdown_adj_with_floor
    else:
        r = rampdown_adj_with_floor
        g = rampup_adj_with_floor
        b = brightness_floor
    return r, g, b
