Definition at line 561 of file rt_util.c.
561 {
563 double g = 0;
564 double b = 0;
565 double v = hsv[2];
566
569 else {
570 double i;
571 double f;
572 double p;
573 double q;
574 double t;
575
576 int a;
577
578 i = floor(hsv[0] * 6.);
579 f = (hsv[0] * 6.0) - i;
580 p = v * (1. - hsv[1]);
581 q = v * (1. - hsv[1] * f);
582 t = v * (1. - hsv[1] * (1. - f));
583
584 a = (int) i;
585 switch (a) {
586 case 1:
588 g = v;
589 b = p;
590 break;
591 case 2:
593 g = v;
594 b = t;
595 break;
596 case 3:
598 g = q;
599 b = v;
600 break;
601 case 4:
603 g = p;
604 b = v;
605 break;
606 case 5:
608 g = p;
609 b = q;
610 break;
611 case 0:
612 case 6:
613 default:
615 g = t;
616 b = p;
617 break;
618 }
619 }
620
622 rgb[1] = g;
623 rgb[2] = b;
624
626}
References DBL_EQ, ES_NONE, and r.
Referenced by test_hsv_to_rgb().