use crate::{
illuminant::{Illuminant, IlluminantType},
spectral::Spd,
};
static SPD_DATA: [(u32, f64); 401] = [
(380, 1.87),
(381, 1.968),
(382, 2.0648),
(383, 2.1616),
(384, 2.2596),
(385, 2.36),
(386, 2.47328),
(387, 2.58904),
(388, 2.70616),
(389, 2.82352),
(390, 2.94),
(391, 3.04466632716049),
(392, 3.14866607253086),
(393, 3.25333265432099),
(394, 3.35999949074074),
(395, 3.47),
(396, 3.59265241512346),
(397, 3.71930913580247),
(398, 3.84930737654321),
(399, 3.98198435185188),
(400, 4.11667727918338),
(401, 4.25025546167385),
(402, 4.40649626787205),
(403, 6.43119686048906),
(404, 27.052680719376),
(405, 47.4118087595043),
(406, 19.1039469887127),
(407, 5.80675583506317),
(408, 5.22432703011572),
(409, 5.3626418901681),
(410, 5.50659818691613),
(411, 5.65095601851852),
(412, 5.79637422839506),
(413, 5.9429537037037),
(414, 6.09079533179012),
(415, 6.24),
(416, 6.39192328703704),
(417, 6.54509771604938),
(418, 6.69931050154321),
(419, 6.85434885802469),
(420, 7.01),
(421, 7.16584),
(422, 7.32192),
(423, 7.47808),
(424, 7.63416),
(425, 7.79),
(426, 7.94495802469136),
(427, 8.09947654320988),
(428, 8.25351604938272),
(429, 8.40703703703704),
(430, 8.56),
(431, 8.71271308641975),
(432, 8.86470222222222),
(433, 9.01584098765432),
(434, 9.16600296296296),
(435, 42.9530284565668),
(436, 181.270730763054),
(437, 9.61933436189756),
(438, 9.75417283950617),
(439, 9.8976),
(440, 10.0393827160494),
(441, 10.1792237037037),
(442, 10.3172612345679),
(443, 10.45344),
(444, 10.587704691358),
(445, 10.72),
(446, 10.8513096296296),
(447, 10.9802795061728),
(448, 11.1065945679012),
(449, 11.2299397530864),
(450, 11.35),
(451, 11.46424),
(452, 11.57512),
(453, 11.68288),
(454, 11.78776),
(455, 11.89),
(456, 11.99208),
(457, 12.09144),
(458, 12.18776),
(459, 12.28072),
(460, 12.37),
(461, 12.45496),
(462, 12.53568),
(463, 12.61192),
(464, 12.68344),
(465, 12.75),
(466, 12.80944),
(467, 12.86392),
(468, 12.91368),
(469, 12.95896),
(470, 13.0),
(471, 13.03704),
(472, 13.07032),
(473, 13.10008),
(474, 13.12656),
(475, 13.15),
(476, 13.17384),
(477, 13.19432),
(478, 13.21088),
(479, 13.22296),
(480, 13.23),
(481, 13.22408),
(482, 13.21384),
(483, 13.20056),
(484, 13.18552),
(485, 13.17),
(486, 13.16872),
(487, 13.16616),
(488, 13.16024),
(489, 13.14888),
(490, 13.13),
(491, 13.08712),
(492, 13.03616),
(493, 12.97864),
(494, 12.91608),
(495, 12.85),
(496, 12.78608),
(497, 12.72064),
(498, 12.65416),
(499, 12.58712),
(500, 12.52),
(501, 12.45712),
(502, 12.39416),
(503, 12.33064),
(504, 12.26608),
(505, 12.2),
(506, 12.12712),
(507, 12.05296),
(508, 11.97824),
(509, 11.90368),
(510, 11.83),
(511, 11.76048),
(512, 11.69264),
(513, 11.62656),
(514, 11.56232),
(515, 11.5),
(516, 11.43808),
(517, 11.37864),
(518, 11.32216),
(519, 11.26912),
(520, 11.22),
(521, 11.17592),
(522, 11.13656),
(523, 11.10224),
(524, 11.07328),
(525, 11.05),
(526, 11.03336),
(527, 11.02288),
(528, 11.01872),
(529, 11.02104),
(530, 11.03),
(531, 11.04544),
(532, 11.06792),
(533, 11.09768),
(534, 11.13496),
(535, 11.18),
(536, 11.2330162962963),
(537, 11.2942785185185),
(538, 11.3640325925926),
(539, 11.4425244444444),
(540, 11.53),
(541, 11.6314814814815),
(542, 11.7412444444444),
(543, 11.8583407407407),
(544, 11.9818222222222),
(545, 12.7007744773572),
(546, 103.352745140467),
(547, 19.9145685348783),
(548, 12.5168207407407),
(549, 12.65896),
(550, 12.8037037037037),
(551, 12.9493244444444),
(552, 13.0969214814815),
(553, 13.2463377777778),
(554, 13.3974162962963),
(555, 13.55),
(556, 13.7075822222222),
(557, 13.865442962963),
(558, 14.0225125925926),
(559, 14.1777214814815),
(560, 14.33),
(561, 14.47624),
(562, 14.61792),
(563, 14.75448),
(564, 14.88536),
(565, 15.01),
(566, 15.1294281481481),
(567, 15.2410992592593),
(568, 15.3440562962963),
(569, 15.4373422222222),
(570, 15.52),
(571, 15.5821896296296),
(572, 15.6353837037037),
(573, 15.67952),
(574, 15.7145362962963),
(575, 15.7403703703704),
(576, 19.3470711459637),
(577, 27.7163328920921),
(578, 15.762157044989),
(579, 29.3052133959126),
(580, 18.4990802361361),
(581, 15.6990637037037),
(582, 15.65888),
(583, 15.6090162962963),
(584, 15.5494103703704),
(585, 15.48),
(586, 15.3874577777778),
(587, 15.2831437037037),
(588, 15.1681007407407),
(589, 15.0433718518519),
(590, 14.91),
(591, 14.77256),
(592, 14.62768),
(593, 14.47552),
(594, 14.31624),
(595, 14.15),
(596, 13.97536),
(597, 13.79448),
(598, 13.60792),
(599, 13.41624),
(600, 13.22),
(601, 13.02008),
(602, 12.81664),
(603, 12.61016),
(604, 12.40112),
(605, 12.19),
(606, 11.97856),
(607, 11.76568),
(608, 11.55152),
(609, 11.33624),
(610, 11.12),
(611, 10.90264),
(612, 10.68472),
(613, 10.46648),
(614, 10.24816),
(615, 10.03),
(616, 9.81064),
(617, 9.59232),
(618, 9.37568),
(619, 9.16136),
(620, 8.95),
(621, 8.74608),
(622, 8.54544),
(623, 8.34776),
(624, 8.15272),
(625, 7.96),
(626, 7.76576),
(627, 7.57408),
(628, 7.38552),
(629, 7.20064),
(630, 7.02),
(631, 6.84896),
(632, 6.68208),
(633, 6.51872),
(634, 6.35824),
(635, 6.2),
(636, 6.0392),
(637, 5.8804),
(638, 5.724),
(639, 5.5704),
(640, 5.42),
(641, 5.27416),
(642, 5.13208),
(643, 4.99392),
(644, 4.85984),
(645, 4.73),
(646, 4.60648),
(647, 4.48704),
(648, 4.37136),
(649, 4.25912),
(650, 4.15),
(651, 4.0424),
(652, 3.9376),
(653, 3.8356),
(654, 3.7364),
(655, 3.64),
(656, 3.54704),
(657, 3.45672),
(658, 3.36888),
(659, 3.28336),
(660, 3.2),
(661, 3.118),
(662, 3.038),
(663, 2.96),
(664, 2.884),
(665, 2.81),
(666, 2.738),
(667, 2.668),
(668, 2.6),
(669, 2.534),
(670, 2.47),
(671, 2.40832),
(672, 2.34856),
(673, 2.29064),
(674, 2.23448),
(675, 2.18),
(676, 2.1268),
(677, 2.0752),
(678, 2.0252),
(679, 1.9768),
(680, 1.93),
(681, 1.88096),
(682, 1.83448),
(683, 1.79152),
(684, 1.75304),
(685, 1.72),
(686, 1.7084),
(687, 1.7004),
(688, 1.6932),
(689, 1.684),
(690, 1.67),
(691, 1.62792),
(692, 1.58056),
(693, 1.53024),
(694, 1.47928),
(695, 1.43),
(696, 1.39592),
(697, 1.36536),
(698, 1.33784),
(699, 1.31288),
(700, 1.29),
(701, 1.2684),
(702, 1.248),
(703, 1.2284),
(704, 1.2092),
(705, 1.19),
(706, 1.1688),
(707, 1.1472),
(708, 1.1252),
(709, 1.1028),
(710, 1.08),
(711, 1.0552),
(712, 1.0304),
(713, 1.006),
(714, 0.9824),
(715, 0.96),
(716, 0.94176),
(717, 0.92488),
(718, 0.90912),
(719, 0.89424),
(720, 0.88),
(721, 0.86456),
(722, 0.84968),
(723, 0.83552),
(724, 0.82224),
(725, 0.81),
(726, 0.79992),
(727, 0.79096),
(728, 0.78304),
(729, 0.77608),
(730, 0.77),
(731, 0.76504),
(732, 0.76072),
(733, 0.75688),
(734, 0.75336),
(735, 0.75),
(736, 0.74696),
(737, 0.74368),
(738, 0.73992),
(739, 0.73544),
(740, 0.73),
(741, 0.71952),
(742, 0.70856),
(743, 0.69784),
(744, 0.68808),
(745, 0.68),
(746, 0.68104),
(747, 0.68352),
(748, 0.68648),
(749, 0.68896),
(750, 0.69),
(751, 0.68),
(752, 0.6688),
(753, 0.6576),
(754, 0.6476),
(755, 0.64),
(756, 0.64464),
(757, 0.65192),
(758, 0.66088),
(759, 0.67056),
(760, 0.68),
(761, 0.68632),
(762, 0.69096),
(763, 0.69344),
(764, 0.69328),
(765, 0.69),
(766, 0.67864),
(767, 0.66432),
(768, 0.64768),
(769, 0.62936),
(770, 0.61),
(771, 0.59248),
(772, 0.57464),
(773, 0.55656),
(774, 0.53832),
(775, 0.52),
(776, 0.502),
(777, 0.484),
(778, 0.466),
(779, 0.448),
(780, 0.43),
];
impl Illuminant {
pub const FL1: Self = Self::new("FL1", IlluminantType::Fluorescent, Spd::new(&SPD_DATA));
}