use crate::{
illuminant::{Illuminant, IlluminantType},
spectral::Spd,
};
static SPD_DATA: [(u32, f64); 401] = [
(380, 1.87),
(381, 1.966),
(382, 2.0608),
(383, 2.1556),
(384, 2.2516),
(385, 2.35),
(386, 2.46096),
(387, 2.57448),
(388, 2.68952),
(389, 2.80504),
(390, 2.92),
(391, 3.02485302469136),
(392, 3.12919279320988),
(393, 3.23410604938272),
(394, 3.34067953703704),
(395, 3.45),
(396, 3.56963492283951),
(397, 3.69257012345679),
(398, 3.81827216049383),
(399, 3.94620759259262),
(400, 4.07584298119712),
(401, 4.20468254828064),
(402, 4.355164917074),
(403, 6.30604819324491),
(404, 26.2061908196065),
(405, 45.8639788511327),
(406, 18.5316654952466),
(407, 5.70203126298666),
(408, 5.14040419234119),
(409, 5.27277094978597),
(410, 5.41043016993112),
(411, 5.54809092592593),
(412, 5.68671475308642),
(413, 5.82646518518519),
(414, 5.96750575617284),
(415, 6.11),
(416, 6.25637935185185),
(417, 6.4039724691358),
(418, 6.55237591049383),
(419, 6.7011862345679),
(420, 6.85),
(421, 6.99648),
(422, 7.14264),
(423, 7.28856),
(424, 7.43432),
(425, 7.58),
(426, 7.72675456790124),
(427, 7.87332049382716),
(428, 8.01950913580247),
(429, 8.16513185185185),
(430, 8.31),
(431, 8.4534587654321),
(432, 8.59590222222222),
(433, 8.73725827160494),
(434, 8.87745481481481),
(435, 40.2539025098187),
(436, 167.634804232605),
(437, 9.33698104535133),
(438, 9.42536197530864),
(439, 9.55864),
(440, 9.69024691358025),
(441, 9.81958518518518),
(442, 9.9471950617284),
(443, 10.0731111111111),
(444, 10.1973679012346),
(445, 10.32),
(446, 10.4431081481481),
(447, 10.5641441975309),
(448, 10.6826261728395),
(449, 10.7980720987654),
(450, 10.91),
(451, 11.01472),
(452, 11.11576),
(453, 11.21344),
(454, 11.30808),
(455, 11.4),
(456, 11.49176),
(457, 11.58088),
(458, 11.66712),
(459, 11.75024),
(460, 11.83),
(461, 11.90584),
(462, 11.97792),
(463, 12.04608),
(464, 12.11016),
(465, 12.17),
(466, 12.22416),
(467, 12.27408),
(468, 12.31992),
(469, 12.36184),
(470, 12.4),
(471, 12.43552),
(472, 12.46736),
(473, 12.49544),
(474, 12.51968),
(475, 12.54),
(476, 12.556),
(477, 12.568),
(478, 12.576),
(479, 12.58),
(480, 12.58),
(481, 12.57248),
(482, 12.56184),
(483, 12.54896),
(484, 12.53472),
(485, 12.52),
(486, 12.51656),
(487, 12.51168),
(488, 12.50352),
(489, 12.49024),
(490, 12.47),
(491, 12.42784),
(492, 12.37832),
(493, 12.32288),
(494, 12.26296),
(495, 12.2),
(496, 12.13896),
(497, 12.07688),
(498, 12.01432),
(499, 11.95184),
(500, 11.89),
(501, 11.83256),
(502, 11.77608),
(503, 11.72032),
(504, 11.66504),
(505, 11.61),
(506, 11.5524),
(507, 11.4952),
(508, 11.4388),
(509, 11.3836),
(510, 11.33),
(511, 11.27872),
(512, 11.22976),
(513, 11.18344),
(514, 11.14008),
(515, 11.1),
(516, 11.06288),
(517, 11.02984),
(518, 11.00136),
(519, 10.97792),
(520, 10.96),
(521, 10.94904),
(522, 10.94432),
(523, 10.94608),
(524, 10.95456),
(525, 10.97),
(526, 10.99328),
(527, 11.02384),
(528, 11.06176),
(529, 11.10712),
(530, 11.16),
(531, 11.22048),
(532, 11.28864),
(533, 11.36456),
(534, 11.44832),
(535, 11.54),
(536, 11.6411259259259),
(537, 11.7499703703704),
(538, 11.8662518518519),
(539, 11.9896888888889),
(540, 12.12),
(541, 12.2590607407407),
(542, 12.4038933333333),
(543, 12.553677037037),
(544, 12.7075911111111),
(545, 13.5995117011157),
(546, 99.6226576288092),
(547, 20.5476802865474),
(548, 13.3461214814815),
(549, 13.50888),
(550, 13.6718518518518),
(551, 13.8340888888889),
(552, 13.9954962962963),
(553, 14.1556),
(554, 14.3139259259259),
(555, 14.47),
(556, 14.6243911111111),
(557, 14.7753214814815),
(558, 14.9220562962963),
(559, 15.0638607407407),
(560, 15.2),
(561, 15.32936),
(562, 15.45168),
(563, 15.56632),
(564, 15.67264),
(565, 15.77),
(566, 15.8578864197531),
(567, 15.9355012345679),
(568, 16.0021728395062),
(569, 16.0572296296296),
(570, 16.1),
(571, 16.1215950617284),
(572, 16.1328938271605),
(573, 16.134),
(574, 16.1250172839506),
(575, 16.1060493827161),
(576, 19.5208088870372),
(577, 27.3935709705122),
(578, 15.9902716249782),
(579, 28.8275358479534),
(580, 18.4862918427961),
(581, 15.7883604938272),
(582, 15.7024),
(583, 15.6072839506173),
(584, 15.5031160493827),
(585, 15.39),
(586, 15.258637037037),
(587, 15.1171160493827),
(588, 14.9662765432099),
(589, 14.8069580246914),
(590, 14.64),
(591, 14.46768),
(592, 14.28904),
(593, 14.10456),
(594, 13.91472),
(595, 13.72),
(596, 13.52216),
(597, 13.32008),
(598, 13.11392),
(599, 12.90384),
(600, 12.69),
(601, 12.47032),
(602, 12.24776),
(603, 12.02304),
(604, 11.79688),
(605, 11.57),
(606, 11.34536),
(607, 11.12088),
(608, 10.89672),
(609, 10.67304),
(610, 10.45),
(611, 10.22776),
(612, 10.00648),
(613, 9.78632),
(614, 9.56744),
(615, 9.35),
(616, 9.1332),
(617, 8.9184),
(618, 8.706),
(619, 8.4964),
(620, 8.29),
(621, 8.08976),
(622, 7.89288),
(623, 7.69912),
(624, 7.50824),
(625, 7.32),
(626, 7.13096),
(627, 6.94488),
(628, 6.76232),
(629, 6.58384),
(630, 6.41),
(631, 6.24616),
(632, 6.08688),
(633, 5.93152),
(634, 5.77944),
(635, 5.63),
(636, 5.47872),
(637, 5.32976),
(638, 5.18344),
(639, 5.04008),
(640, 4.9),
(641, 4.76448),
(642, 4.63264),
(643, 4.50456),
(644, 4.38032),
(645, 4.26),
(646, 4.14496),
(647, 4.03368),
(648, 3.92592),
(649, 3.82144),
(650, 3.72),
(651, 3.62104),
(652, 3.52472),
(653, 3.43088),
(654, 3.33936),
(655, 3.25),
(656, 3.16104),
(657, 3.07432),
(658, 2.99008),
(659, 2.90856),
(660, 2.83),
(661, 2.75688),
(662, 2.68664),
(663, 2.61896),
(664, 2.55352),
(665, 2.49),
(666, 2.4268),
(667, 2.3652),
(668, 2.3052),
(669, 2.2468),
(670, 2.19),
(671, 2.1348),
(672, 2.0812),
(673, 2.0292),
(674, 1.9788),
(675, 1.93),
(676, 1.88312),
(677, 1.83776),
(678, 1.79384),
(679, 1.75128),
(680, 1.71),
(681, 1.66576),
(682, 1.62368),
(683, 1.58472),
(684, 1.54984),
(685, 1.52),
(686, 1.51056),
(687, 1.50448),
(688, 1.49912),
(689, 1.49184),
(690, 1.48),
(691, 1.44176),
(692, 1.39848),
(693, 1.35232),
(694, 1.30544),
(695, 1.26),
(696, 1.22808),
(697, 1.19944),
(698, 1.17376),
(699, 1.15072),
(700, 1.13),
(701, 1.11192),
(702, 1.09536),
(703, 1.07984),
(704, 1.06488),
(705, 1.05),
(706, 1.03312),
(707, 1.01576),
(708, 0.99784),
(709, 0.97928),
(710, 0.96),
(711, 0.93768),
(712, 0.91504),
(713, 0.89256),
(714, 0.87072),
(715, 0.85),
(716, 0.83376),
(717, 0.81888),
(718, 0.80512),
(719, 0.79224),
(720, 0.78),
(721, 0.76688),
(722, 0.75424),
(723, 0.74216),
(724, 0.73072),
(725, 0.72),
(726, 0.71008),
(727, 0.70104),
(728, 0.69296),
(729, 0.68592),
(730, 0.68),
(731, 0.67688),
(732, 0.67464),
(733, 0.67296),
(734, 0.67152),
(735, 0.67),
(736, 0.66712),
(737, 0.66376),
(738, 0.65984),
(739, 0.65528),
(740, 0.65),
(741, 0.64136),
(742, 0.63248),
(743, 0.62392),
(744, 0.61624),
(745, 0.61),
(746, 0.61088),
(747, 0.61304),
(748, 0.61576),
(749, 0.61832),
(750, 0.62),
(751, 0.614),
(752, 0.6072),
(753, 0.6004),
(754, 0.5944),
(755, 0.59),
(756, 0.59344),
(757, 0.59872),
(758, 0.60528),
(759, 0.61256),
(760, 0.62),
(761, 0.628),
(762, 0.6348),
(763, 0.6396),
(764, 0.6416),
(765, 0.64),
(766, 0.62696),
(767, 0.61048),
(768, 0.59152),
(769, 0.57104),
(770, 0.55),
(771, 0.5332),
(772, 0.5168),
(773, 0.5008),
(774, 0.4852),
(775, 0.47),
(776, 0.455733333333333),
(777, 0.441733333333333),
(778, 0.427866666666667),
(779, 0.414),
(780, 0.4),
];
impl Illuminant {
pub const FL5: Self = Self::new("FL5", IlluminantType::Fluorescent, Spd::new(&SPD_DATA));
}