use crate::{
illuminant::{Illuminant, IlluminantType},
spectral::Spd,
};
static SPD_DATA: [(u32, f64); 401] = [
(380, 1.05),
(381, 1.102),
(382, 1.1532),
(383, 1.2044),
(384, 1.2564),
(385, 1.31),
(386, 1.37272),
(387, 1.43696),
(388, 1.50184),
(389, 1.56648),
(390, 1.63),
(391, 1.68441947530864),
(392, 1.73773408179012),
(393, 1.79083895061728),
(394, 1.84462921296296),
(395, 1.9),
(396, 1.96297570216049),
(397, 2.02803987654321),
(398, 2.09480533950617),
(399, 2.16288490740742),
(400, 2.23189139799918),
(401, 2.29997254485363),
(402, 2.38373147033663),
(403, 3.94189994567676),
(404, 21.0556041703914),
(405, 38.2958005675225),
(406, 14.2789453739576),
(407, 3.28076398241136),
(408, 2.7932747968747),
(409, 2.86186871290428),
(410, 2.93402295532943),
(411, 3.00632657407407),
(412, 3.07903774691358),
(413, 3.15219481481481),
(414, 3.22583611882716),
(415, 3.3),
(416, 3.37500689814815),
(417, 3.4505425308642),
(418, 3.52657471450617),
(419, 3.6030712654321),
(420, 3.68),
(421, 3.75784),
(422, 3.83592),
(423, 3.91408),
(424, 3.99216),
(425, 4.07),
(426, 4.14700543209877),
(427, 4.22355950617284),
(428, 4.29961086419753),
(429, 4.37510814814815),
(430, 4.45),
(431, 4.52409679012346),
(432, 4.59752),
(433, 4.67025283950617),
(434, 4.74227851851852),
(435, 32.0734146443142),
(436, 143.837155232769),
(437, 4.96762621948258),
(438, 5.02317135802469),
(439, 5.09136),
(440, 5.15864197530864),
(441, 5.22473481481481),
(442, 5.28989827160494),
(443, 5.35415111111111),
(444, 5.41751209876543),
(445, 5.48),
(446, 5.54262518518518),
(447, 5.60416691358025),
(448, 5.66439604938272),
(449, 5.72308345679012),
(450, 5.78),
(451, 5.83336),
(452, 5.88488),
(453, 5.93472),
(454, 5.98304),
(455, 6.03),
(456, 6.07736),
(457, 6.12328),
(458, 6.16752),
(459, 6.20984),
(460, 6.25),
(461, 6.28648),
(462, 6.32064),
(463, 6.35256),
(464, 6.38232),
(465, 6.41),
(466, 6.436),
(467, 6.46),
(468, 6.482),
(469, 6.502),
(470, 6.52),
(471, 6.536),
(472, 6.55),
(473, 6.562),
(474, 6.572),
(475, 6.58),
(476, 6.58568),
(477, 6.58944),
(478, 6.59136),
(479, 6.59152),
(480, 6.59),
(481, 6.58496),
(482, 6.57888),
(483, 6.57232),
(484, 6.56584),
(485, 6.56),
(486, 6.56304),
(487, 6.56592),
(488, 6.56728),
(489, 6.56576),
(490, 6.56),
(491, 6.53872),
(492, 6.51296),
(493, 6.48384),
(494, 6.45248),
(495, 6.42),
(496, 6.39008),
(497, 6.36064),
(498, 6.33216),
(499, 6.30512),
(500, 6.28),
(501, 6.25888),
(502, 6.24024),
(503, 6.22416),
(504, 6.21072),
(505, 6.2),
(506, 6.1908),
(507, 6.1848),
(508, 6.1824),
(509, 6.184),
(510, 6.19),
(511, 6.20016),
(512, 6.21568),
(513, 6.23712),
(514, 6.26504),
(515, 6.3),
(516, 6.34384),
(517, 6.39552),
(518, 6.45528),
(519, 6.52336),
(520, 6.6),
(521, 6.68384),
(522, 6.77712),
(523, 6.88048),
(524, 6.99456),
(525, 7.12),
(526, 7.25968),
(527, 7.41144),
(528, 7.57536),
(529, 7.75152),
(530, 7.94),
(531, 8.14184),
(532, 8.35592),
(533, 8.58208),
(534, 8.82016),
(535, 9.07),
(536, 9.33207209876543),
(537, 9.60542617283951),
(538, 9.88974419753086),
(539, 10.1847081481481),
(540, 10.49),
(541, 10.8094301234568),
(542, 11.13752),
(543, 11.4729195061728),
(544, 11.8142785185185),
(545, 12.6646488370206),
(546, 88.6224877015335),
(547, 19.1671366049157),
(548, 13.2088780246914),
(549, 13.56064),
(550, 13.911975308642),
(551, 14.2612948148148),
(552, 14.6085116049383),
(553, 14.9528711111111),
(554, 15.2936187654321),
(555, 15.63),
(556, 15.9631051851852),
(557, 16.2898735802469),
(558, 16.609089382716),
(559, 16.9195367901235),
(560, 17.22),
(561, 17.50856),
(562, 17.78488),
(563, 18.04792),
(564, 18.29664),
(565, 18.53),
(566, 18.7459328395062),
(567, 18.9446824691358),
(568, 19.1254656790123),
(569, 19.2874992592593),
(570, 19.43),
(571, 19.5417590123457),
(572, 19.6366943209877),
(573, 19.71496),
(574, 19.7767101234568),
(575, 19.8220987654321),
(576, 22.8737762194021),
(577, 29.9700311905624),
(578, 19.8616365457744),
(579, 31.1438953470262),
(580, 22.1298357684325),
(581, 19.759467654321),
(582, 19.69464),
(583, 19.6146834567901),
(584, 19.5197520987654),
(585, 19.41),
(586, 19.2709274074074),
(587, 19.1151032098765),
(588, 18.943815308642),
(589, 18.7583516049383),
(590, 18.56),
(591, 18.352),
(592, 18.1332),
(593, 17.9044),
(594, 17.6664),
(595, 17.42),
(596, 17.16696),
(597, 16.90688),
(598, 16.64032),
(599, 16.36784),
(600, 16.09),
(601, 15.80704),
(602, 15.51992),
(603, 15.22928),
(604, 14.93576),
(605, 14.64),
(606, 14.34328),
(607, 14.04544),
(608, 13.74696),
(609, 13.44832),
(610, 13.15),
(611, 12.85376),
(612, 12.55848),
(613, 12.26432),
(614, 11.97144),
(615, 11.68),
(616, 11.38792),
(617, 11.09816),
(618, 10.81144),
(619, 10.52848),
(620, 10.25),
(621, 9.98088),
(622, 9.71664),
(623, 9.45696),
(624, 9.20152),
(625, 8.95),
(626, 8.69856),
(627, 8.45128),
(628, 8.20872),
(629, 7.97144),
(630, 7.74),
(631, 7.52008),
(632, 7.30584),
(633, 7.09656),
(634, 6.89152),
(635, 6.69),
(636, 6.48616),
(637, 6.28568),
(638, 6.08912),
(639, 5.89704),
(640, 5.71),
(641, 5.53112),
(642, 5.35776),
(643, 5.18984),
(644, 5.02728),
(645, 4.87),
(646, 4.71856),
(647, 4.57208),
(648, 4.43032),
(649, 4.29304),
(650, 4.16),
(651, 4.03064),
(652, 3.90512),
(653, 3.78328),
(654, 3.66496),
(655, 3.55),
(656, 3.4376),
(657, 3.3284),
(658, 3.2224),
(659, 3.1196),
(660, 3.02),
(661, 2.9236),
(662, 2.8304),
(663, 2.7404),
(664, 2.6536),
(665, 2.57),
(666, 2.49088),
(667, 2.41464),
(668, 2.34096),
(669, 2.26952),
(670, 2.2),
(671, 2.13016),
(672, 2.06208),
(673, 1.99592),
(674, 1.93184),
(675, 1.87),
(676, 1.81184),
(677, 1.75592),
(678, 1.70208),
(679, 1.65016),
(680, 1.6),
(681, 1.54728),
(682, 1.49704),
(683, 1.45016),
(684, 1.40752),
(685, 1.37),
(686, 1.35192),
(687, 1.33736),
(688, 1.32384),
(689, 1.30888),
(690, 1.29),
(691, 1.24648),
(692, 1.19864),
(693, 1.14856),
(694, 1.09832),
(695, 1.05),
(696, 1.01592),
(697, 0.98536),
(698, 0.95784),
(699, 0.93288),
(700, 0.91),
(701, 0.88808),
(702, 0.86744),
(703, 0.84776),
(704, 0.82872),
(705, 0.81),
(706, 0.79),
(707, 0.77),
(708, 0.75),
(709, 0.73),
(710, 0.71),
(711, 0.68904),
(712, 0.66832),
(713, 0.64808),
(714, 0.62856),
(715, 0.61),
(716, 0.59424),
(717, 0.57952),
(718, 0.56568),
(719, 0.55256),
(720, 0.54),
(721, 0.52688),
(722, 0.51424),
(723, 0.50216),
(724, 0.49072),
(725, 0.48),
(726, 0.47008),
(727, 0.46104),
(728, 0.45296),
(729, 0.44592),
(730, 0.44),
(731, 0.4372),
(732, 0.4352),
(733, 0.4336),
(734, 0.432),
(735, 0.43),
(736, 0.42496),
(737, 0.41928),
(738, 0.41312),
(739, 0.40664),
(740, 0.4),
(741, 0.39272),
(742, 0.38576),
(743, 0.37944),
(744, 0.37408),
(745, 0.37),
(746, 0.37136),
(747, 0.37368),
(748, 0.37632),
(749, 0.37864),
(750, 0.38),
(751, 0.37368),
(752, 0.36664),
(753, 0.35976),
(754, 0.35392),
(755, 0.35),
(756, 0.35528),
(757, 0.36264),
(758, 0.37136),
(759, 0.38072),
(760, 0.39),
(761, 0.39816),
(762, 0.40488),
(763, 0.40952),
(764, 0.41144),
(765, 0.41),
(766, 0.39848),
(767, 0.38384),
(768, 0.36696),
(769, 0.34872),
(770, 0.33),
(771, 0.31488),
(772, 0.30024),
(773, 0.28616),
(774, 0.27272),
(775, 0.26),
(776, 0.249466666666667),
(777, 0.239466666666667),
(778, 0.229733333333333),
(779, 0.22),
(780, 0.21),
];
impl Illuminant {
pub const FL6: Self = Self::new("FL6", IlluminantType::Fluorescent, Spd::new(&SPD_DATA));
}