use crate::{
illuminant::{Illuminant, IlluminantType},
spectral::Spd,
};
static SPD_DATA: [(u32, f64); 401] = [
(380, 1.18),
(381, 1.24),
(382, 1.2992),
(383, 1.3584),
(384, 1.4184),
(385, 1.48),
(386, 1.55072),
(387, 1.62296),
(388, 1.69584),
(389, 1.76848),
(390, 1.84),
(391, 1.90228305555556),
(392, 1.96349534722222),
(393, 2.02456611111111),
(394, 2.08642458333333),
(395, 2.15),
(396, 2.22155826388889),
(397, 2.29535777777778),
(398, 2.37099361111111),
(399, 2.44806083333335),
(400, 2.52615451555993),
(401, 2.60333025411243),
(402, 2.69756878718094),
(403, 4.35225697494116),
(404, 22.2409597059577),
(405, 40.1743742150969),
(406, 15.1906259969069),
(407, 3.67664391479954),
(408, 3.16298737317542),
(409, 3.24107254799193),
(410, 3.32311631954511),
(411, 3.40487583333333),
(412, 3.48727194444444),
(413, 3.57047666666667),
(414, 3.65466201388889),
(415, 3.74),
(416, 3.82905041666667),
(417, 3.91900055555556),
(418, 4.00942548611111),
(419, 4.09990027777778),
(420, 4.19),
(421, 4.27664),
(422, 4.36272),
(423, 4.44848),
(424, 4.53416),
(425, 4.62),
(426, 4.70801777777778),
(427, 4.79623111111111),
(428, 4.88443555555556),
(429, 4.97242666666667),
(430, 5.06),
(431, 5.14624),
(432, 5.23183111111111),
(433, 5.31674666666667),
(434, 5.40096),
(435, 34.45694420629),
(436, 152.961150236537),
(437, 5.65922192242105),
(438, 5.73047111111111),
(439, 5.81072),
(440, 5.89),
(441, 5.96786666666667),
(442, 6.04475555555556),
(443, 6.12071111111111),
(444, 6.19577777777778),
(445, 6.27),
(446, 6.34488),
(447, 6.41864),
(448, 6.49096),
(449, 6.56152),
(450, 6.63),
(451, 6.69416),
(452, 6.75608),
(453, 6.81592),
(454, 6.87384),
(455, 6.93),
(456, 6.98552),
(457, 7.03936),
(458, 7.09144),
(459, 7.14168),
(460, 7.19),
(461, 7.23664),
(462, 7.28112),
(463, 7.32328),
(464, 7.36296),
(465, 7.4),
(466, 7.43328),
(467, 7.46384),
(468, 7.49176),
(469, 7.51712),
(470, 7.54),
(471, 7.56048),
(472, 7.57864),
(473, 7.59456),
(474, 7.60832),
(475, 7.62),
(476, 7.63032),
(477, 7.63856),
(478, 7.64464),
(479, 7.64848),
(480, 7.65),
(481, 7.64592),
(482, 7.64016),
(483, 7.63344),
(484, 7.62648),
(485, 7.62),
(486, 7.624),
(487, 7.6276),
(488, 7.6292),
(489, 7.6272),
(490, 7.62),
(491, 7.59416),
(492, 7.56288),
(493, 7.52752),
(494, 7.48944),
(495, 7.45),
(496, 7.41472),
(497, 7.37976),
(498, 7.34544),
(499, 7.31208),
(500, 7.28),
(501, 7.25112),
(502, 7.22376),
(503, 7.19784),
(504, 7.17328),
(505, 7.15),
(506, 7.12568),
(507, 7.10304),
(508, 7.08256),
(509, 7.06472),
(510, 7.05),
(511, 7.03952),
(512, 7.03296),
(513, 7.03064),
(514, 7.03288),
(515, 7.04),
(516, 7.05168),
(517, 7.06904),
(518, 7.09256),
(519, 7.12272),
(520, 7.16),
(521, 7.20456),
(522, 7.25728),
(523, 7.31872),
(524, 7.38944),
(525, 7.47),
(526, 7.56288),
(527, 7.66624),
(528, 7.78016),
(529, 7.90472),
(530, 8.04),
(531, 8.18576),
(532, 8.34248),
(533, 8.51032),
(534, 8.68944),
(535, 8.88),
(536, 9.08254716049383),
(537, 9.2967575308642),
(538, 9.52269432098766),
(539, 9.76042074074074),
(540, 10.01),
(541, 10.2770972839506),
(542, 10.5547733333333),
(543, 10.8416908641975),
(544, 11.1365125925926),
(545, 11.9259977068913),
(546, 90.1132780587237),
(547, 18.5117013702097),
(548, 12.3635367901235),
(549, 12.67896),
(550, 12.9965432098765),
(551, 13.3143140740741),
(552, 13.6330113580247),
(553, 13.9521688888889),
(554, 14.2713204938272),
(555, 14.59),
(556, 14.9105659259259),
(557, 15.2290212345679),
(558, 15.5441935802469),
(559, 15.854910617284),
(560, 16.16),
(561, 16.45904),
(562, 16.74992),
(563, 17.03128),
(564, 17.30176),
(565, 17.56),
(566, 17.8030518518519),
(567, 18.0315407407407),
(568, 18.2445037037037),
(569, 18.4409777777778),
(570, 18.62),
(571, 18.7698637037037),
(572, 18.9047762962963),
(573, 19.02472),
(574, 19.129677037037),
(575, 19.2196296296296),
(576, 22.4681256902626),
(577, 29.9393530638133),
(578, 19.39928296887),
(579, 31.2435285286444),
(580, 21.8596891018855),
(581, 19.4432562962963),
(582, 19.42768),
(583, 19.396957037037),
(584, 19.3510696296296),
(585, 19.29),
(586, 19.1964622222222),
(587, 19.085282962963),
(588, 18.9578725925926),
(589, 18.8156414814815),
(590, 18.66),
(591, 18.49672),
(592, 18.32176),
(593, 18.13544),
(594, 17.93808),
(595, 17.73),
(596, 17.50896),
(597, 17.27848),
(598, 17.03952),
(599, 16.79304),
(600, 16.54),
(601, 16.28328),
(602, 16.02144),
(603, 15.75496),
(604, 15.48432),
(605, 15.21),
(606, 14.9328),
(607, 14.6528),
(608, 14.3704),
(609, 14.086),
(610, 13.8),
(611, 13.51248),
(612, 13.22424),
(613, 12.93576),
(614, 12.64752),
(615, 12.36),
(616, 12.07304),
(617, 11.78792),
(618, 11.50528),
(619, 11.22576),
(620, 10.95),
(621, 10.68312),
(622, 10.42016),
(623, 10.16064),
(624, 9.90408),
(625, 9.65),
(626, 9.39216),
(627, 9.13728),
(628, 8.88632),
(629, 8.64024),
(630, 8.4),
(631, 8.1736),
(632, 7.9532),
(633, 7.738),
(634, 7.5272),
(635, 7.32),
(636, 7.11048),
(637, 6.90424),
(638, 6.70176),
(639, 6.50352),
(640, 6.31),
(641, 6.1236),
(642, 5.9424),
(643, 5.7664),
(644, 5.5956),
(645, 5.43),
(646, 5.27088),
(647, 5.11664),
(648, 4.96696),
(649, 4.82152),
(650, 4.68),
(651, 4.5408),
(652, 4.4052),
(653, 4.2732),
(654, 4.1448),
(655, 4.02),
(656, 3.89912),
(657, 3.78176),
(658, 3.66784),
(659, 3.55728),
(660, 3.45),
(661, 3.3456),
(662, 3.2444),
(663, 3.1464),
(664, 3.0516),
(665, 2.96),
(666, 2.87256),
(667, 2.78808),
(668, 2.70632),
(669, 2.62704),
(670, 2.55),
(671, 2.47368),
(672, 2.39944),
(673, 2.32736),
(674, 2.25752),
(675, 2.19),
(676, 2.12552),
(677, 2.06336),
(678, 2.00344),
(679, 1.94568),
(680, 1.89),
(681, 1.83312),
(682, 1.77896),
(683, 1.72824),
(684, 1.68168),
(685, 1.64),
(686, 1.61608),
(687, 1.59544),
(688, 1.57576),
(689, 1.55472),
(690, 1.53),
(691, 1.48232),
(692, 1.43056),
(693, 1.37664),
(694, 1.32248),
(695, 1.27),
(696, 1.22976),
(697, 1.19288),
(698, 1.15912),
(699, 1.12824),
(700, 1.1),
(701, 1.07512),
(702, 1.05216),
(703, 1.03064),
(704, 1.01008),
(705, 0.99),
(706, 0.96832),
(707, 0.94656),
(708, 0.92464),
(709, 0.90248),
(710, 0.88),
(711, 0.8552),
(712, 0.8304),
(713, 0.806),
(714, 0.7824),
(715, 0.76),
(716, 0.74176),
(717, 0.72488),
(718, 0.70912),
(719, 0.69424),
(720, 0.68),
(721, 0.66488),
(722, 0.65024),
(723, 0.63616),
(724, 0.62272),
(725, 0.61),
(726, 0.59808),
(727, 0.58704),
(728, 0.57696),
(729, 0.56792),
(730, 0.56),
(731, 0.55488),
(732, 0.55064),
(733, 0.54696),
(734, 0.54352),
(735, 0.54),
(736, 0.5348),
(737, 0.5292),
(738, 0.5232),
(739, 0.5168),
(740, 0.51),
(741, 0.5012),
(742, 0.4924),
(743, 0.484),
(744, 0.4764),
(745, 0.47),
(746, 0.46936),
(747, 0.46968),
(748, 0.47032),
(749, 0.47064),
(750, 0.47),
(751, 0.46168),
(752, 0.45264),
(753, 0.44376),
(754, 0.43592),
(755, 0.43),
(756, 0.43328),
(757, 0.43864),
(758, 0.44536),
(759, 0.45272),
(760, 0.46),
(761, 0.46552),
(762, 0.46976),
(763, 0.47224),
(764, 0.47248),
(765, 0.47),
(766, 0.45984),
(767, 0.44712),
(768, 0.43248),
(769, 0.41656),
(770, 0.4),
(771, 0.38568),
(772, 0.37144),
(773, 0.35736),
(774, 0.34352),
(775, 0.33),
(776, 0.317733333333333),
(777, 0.305733333333333),
(778, 0.293866666666667),
(779, 0.282),
(780, 0.27),
];
impl Illuminant {
pub const FL2: Self = Self::new("FL2", IlluminantType::Fluorescent, Spd::new(&SPD_DATA));
}