Definition at line 613 of file rt_util.c.
613 {
615 double g = 0;
616 double b = 0;
617 double v = hsv[2];
618
621 else {
622 double i;
623 double f;
624 double p;
625 double q;
626 double t;
627
628 int a;
629
630 i = floor(hsv[0] * 6.);
631 f = (hsv[0] * 6.0) - i;
632 p = v * (1. - hsv[1]);
633 q = v * (1. - hsv[1] * f);
634 t = v * (1. - hsv[1] * (1. - f));
635
636 a = (int) i;
637 switch (a) {
638 case 1:
640 g = v;
641 b = p;
642 break;
643 case 2:
645 g = v;
646 b = t;
647 break;
648 case 3:
650 g = q;
651 b = v;
652 break;
653 case 4:
655 g = p;
656 b = v;
657 break;
658 case 5:
660 g = p;
661 b = q;
662 break;
663 case 0:
664 case 6:
665 default:
667 g = t;
668 b = p;
669 break;
670 }
671 }
672
674 rgb[1] = g;
675 rgb[2] = b;
676
678}
References DBL_EQ, ES_NONE, and r.
Referenced by test_hsv_to_rgb().