Definition at line 710 of file rt_util.c.
710 {
712 double g = 0;
713 double b = 0;
714 double v = hsv[2];
715
718 else {
719 double i;
720 double f;
721 double p;
722 double q;
723 double t;
724
725 int a;
726
727 i = floor(hsv[0] * 6.);
728 f = (hsv[0] * 6.0) - i;
729 p = v * (1. - hsv[1]);
730 q = v * (1. - hsv[1] * f);
731 t = v * (1. - hsv[1] * (1. - f));
732
733 a = (int) i;
734 switch (a) {
735 case 1:
737 g = v;
738 b = p;
739 break;
740 case 2:
742 g = v;
743 b = t;
744 break;
745 case 3:
747 g = q;
748 b = v;
749 break;
750 case 4:
752 g = p;
753 b = v;
754 break;
755 case 5:
757 g = p;
758 b = q;
759 break;
760 case 0:
761 case 6:
762 default:
764 g = t;
765 b = p;
766 break;
767 }
768 }
769
771 rgb[1] = g;
772 rgb[2] = b;
773
775}
References DBL_EQ, ES_NONE, and r.
Referenced by test_hsv_to_rgb().