use crate::{
illuminant::{Illuminant, IlluminantType},
spectral::Spd,
};
static SPD_DATA: [(u32, f64); 401] = [
(380, 2.56),
(381, 2.684),
(382, 2.80746666666667),
(383, 2.93093333333333),
(384, 3.05493333333333),
(385, 3.18),
(386, 3.30912),
(387, 3.43976),
(388, 3.57184),
(389, 3.70528),
(390, 3.84),
(391, 3.9787237962963),
(392, 4.11786664351852),
(393, 4.25664759259259),
(394, 4.39428569444445),
(395, 4.53),
(396, 4.65770178240741),
(397, 4.78324481481481),
(398, 4.90717509259273),
(399, 5.03003861237807),
(400, 5.15238389789703),
(401, 5.2778404173259),
(402, 5.51560893930757),
(403, 8.39023521382306),
(404, 24.5115648981272),
(405, 40.5299070481465),
(406, 24.2619964006537),
(407, 8.73826568738325),
(408, 6.25751511303526),
(409, 6.27974018667692),
(410, 6.40571109824893),
(411, 6.53339361216985),
(412, 6.66165120370381),
(413, 6.79049555555556),
(414, 6.91994053240741),
(415, 7.05),
(416, 7.17996597222222),
(417, 7.31075462962963),
(418, 7.44256030092593),
(419, 7.57557731481482),
(420, 7.71),
(421, 7.8468),
(422, 7.9852),
(423, 8.1252),
(424, 8.2668),
(425, 8.41),
(426, 8.55574814814815),
(427, 8.70285925925926),
(428, 8.8510962962963),
(429, 9.00022222222222),
(430, 9.15),
(431, 9.2998962962963),
(432, 9.45004444444444),
(433, 9.60028148148148),
(434, 9.75044444444445),
(435, 43.4244363594891),
(436, 181.28146791475),
(437, 10.2403663038571),
(438, 10.3471437037037),
(439, 10.49448),
(440, 10.6407407407407),
(441, 10.7859822222222),
(442, 10.9297540740741),
(443, 11.0718311111111),
(444, 11.2119881481481),
(445, 11.35),
(446, 11.4850844444444),
(447, 11.6177125925926),
(448, 11.7477985185185),
(449, 11.8752562962963),
(450, 12.0),
(451, 12.12192),
(452, 12.24096),
(453, 12.35704),
(454, 12.47008),
(455, 12.58),
(456, 12.688),
(457, 12.7924),
(458, 12.8928),
(459, 12.9888),
(460, 13.08),
(461, 13.16376),
(462, 13.24248),
(463, 13.31632),
(464, 13.38544),
(465, 13.45),
(466, 13.51016),
(467, 13.56608),
(468, 13.61792),
(469, 13.66584),
(470, 13.71),
(471, 13.75152),
(472, 13.78936),
(473, 13.82344),
(474, 13.85368),
(475, 13.88),
(476, 13.90168),
(477, 13.91944),
(478, 13.93336),
(479, 13.94352),
(480, 13.95),
(481, 13.9532),
(482, 13.9528),
(483, 13.9488),
(484, 13.9412),
(485, 13.93),
(486, 13.91456),
(487, 13.89568),
(488, 13.87352),
(489, 13.84824),
(490, 13.82),
(491, 13.78832),
(492, 13.75416),
(493, 13.71784),
(494, 13.67968),
(495, 13.64),
(496, 13.59848),
(497, 13.55624),
(498, 13.51376),
(499, 13.47152),
(500, 13.43),
(501, 13.39224),
(502, 13.35552),
(503, 13.31968),
(504, 13.28456),
(505, 13.25),
(506, 13.21488),
(507, 13.18024),
(508, 13.14616),
(509, 13.11272),
(510, 13.08),
(511, 13.04904),
(512, 13.01872),
(513, 12.98888),
(514, 12.95936),
(515, 12.93),
(516, 12.90096),
(517, 12.87168),
(518, 12.84192),
(519, 12.81144),
(520, 12.78),
(521, 12.7448),
(522, 12.7088),
(523, 12.6724),
(524, 12.636),
(525, 12.6),
(526, 12.56544),
(527, 12.53192),
(528, 12.49968),
(529, 12.46896),
(530, 12.44),
(531, 12.41432),
(532, 12.39056),
(533, 12.36864),
(534, 12.34848),
(535, 12.33),
(536, 12.3112790123457),
(537, 12.2945382716049),
(538, 12.2801580246914),
(539, 12.2685185185185),
(540, 12.26),
(541, 12.2578232098765),
(542, 12.2588177777778),
(543, 12.2626538271605),
(544, 12.2690014814815),
(545, 13.3358119520739),
(546, 112.087812288175),
(547, 21.0276369322382),
(548, 12.3110064197531),
(549, 12.32544),
(550, 12.3413580246914),
(551, 12.3580918518518),
(552, 12.376270617284),
(553, 12.3959466666667),
(554, 12.417172345679),
(555, 12.44),
(556, 12.4660148148148),
(557, 12.4933530864198),
(558, 12.5216839506173),
(559, 12.5506765432099),
(560, 12.58),
(561, 12.60896),
(562, 12.63768),
(563, 12.66592),
(564, 12.69344),
(565, 12.72),
(566, 12.7451782716049),
(567, 12.7689619753086),
(568, 12.7911565432099),
(569, 12.8115674074074),
(570, 12.83),
(571, 12.8448987654321),
(572, 12.8579901234568),
(573, 12.8692),
(574, 12.8784543209877),
(575, 12.8856790123457),
(576, 16.5308617324034),
(577, 24.9184178541573),
(578, 12.8944347061875),
(579, 26.6506907522038),
(580, 15.6595576101931),
(581, 12.8822567901235),
(582, 12.8732),
(583, 12.8615209876543),
(584, 12.8471456790123),
(585, 12.83),
(586, 12.8047792592593),
(587, 12.7758390123457),
(588, 12.7435091358025),
(589, 12.7081195061728),
(590, 12.67),
(591, 12.63016),
(592, 12.58808),
(593, 12.54392),
(594, 12.49784),
(595, 12.45),
(596, 12.4012),
(597, 12.3508),
(598, 12.2988),
(599, 12.2452),
(600, 12.19),
(601, 12.1316),
(602, 12.072),
(603, 12.0116),
(604, 11.9508),
(605, 11.89),
(606, 11.83024),
(607, 11.77112),
(608, 11.71288),
(609, 11.65576),
(610, 11.6),
(611, 11.54744),
(612, 11.49632),
(613, 11.44648),
(614, 11.39776),
(615, 11.35),
(616, 11.30112),
(617, 11.25336),
(618, 11.20704),
(619, 11.16248),
(620, 11.12),
(621, 11.08376),
(622, 11.04928),
(623, 11.01592),
(624, 10.98304),
(625, 10.95),
(626, 10.91776),
(627, 10.88368),
(628, 10.84672),
(629, 10.80584),
(630, 10.76),
(631, 10.69824),
(632, 10.63192),
(633, 10.56248),
(634, 10.49136),
(635, 10.42),
(636, 10.34888),
(637, 10.28064),
(638, 10.21696),
(639, 10.15952),
(640, 10.11),
(641, 10.08288),
(642, 10.06384),
(643, 10.05136),
(644, 10.04392),
(645, 10.04),
(646, 10.03008),
(647, 10.02264),
(648, 10.01816),
(649, 10.01712),
(650, 10.02),
(651, 10.04328),
(652, 10.06744),
(653, 10.08896),
(654, 10.10432),
(655, 10.11),
(656, 10.1092),
(657, 10.09),
(658, 10.0472),
(659, 9.9756),
(660, 9.87),
(661, 9.67816),
(662, 9.45368),
(663, 9.20312),
(664, 8.93304),
(665, 8.65),
(666, 8.36408),
(667, 8.07744),
(668, 7.79576),
(669, 7.52472),
(670, 7.27),
(671, 7.07056),
(672, 6.89048),
(673, 6.72712),
(674, 6.57784),
(675, 6.44),
(676, 6.30136),
(677, 6.17128),
(678, 6.04952),
(679, 5.93584),
(680, 5.83),
(681, 5.73528),
(682, 5.64704),
(683, 5.56416),
(684, 5.48552),
(685, 5.41),
(686, 5.3368),
(687, 5.2644),
(688, 5.1916),
(689, 5.1172),
(690, 5.04),
(691, 4.95016),
(692, 4.85728),
(693, 4.76232),
(694, 4.66624),
(695, 4.57),
(696, 4.47584),
(697, 4.38312),
(698, 4.29248),
(699, 4.20456),
(700, 4.12),
(701, 4.04392),
(702, 3.97136),
(703, 3.90184),
(704, 3.83488),
(705, 3.77),
(706, 3.70832),
(707, 3.64736),
(708, 3.58624),
(709, 3.52408),
(710, 3.46),
(711, 3.3864),
(712, 3.3108),
(713, 3.234),
(714, 3.1568),
(715, 3.08),
(716, 3.00568),
(717, 2.93304),
(718, 2.86256),
(719, 2.79472),
(720, 2.73),
(721, 2.6724),
(722, 2.618),
(723, 2.5664),
(724, 2.5172),
(725, 2.47),
(726, 2.42312),
(727, 2.37776),
(728, 2.33384),
(729, 2.29128),
(730, 2.25),
(731, 2.2096),
(732, 2.1704),
(733, 2.1324),
(734, 2.0956),
(735, 2.06),
(736, 2.02624),
(737, 1.99352),
(738, 1.96168),
(739, 1.93056),
(740, 1.9),
(741, 1.86888),
(742, 1.83824),
(743, 1.80816),
(744, 1.77872),
(745, 1.75),
(746, 1.72144),
(747, 1.69392),
(748, 1.66768),
(749, 1.64296),
(750, 1.62),
(751, 1.60192),
(752, 1.58536),
(753, 1.56984),
(754, 1.55488),
(755, 1.54),
(756, 1.52376),
(757, 1.50688),
(758, 1.48912),
(759, 1.47024),
(760, 1.45),
(761, 1.42656),
(762, 1.40168),
(763, 1.37552),
(764, 1.34824),
(765, 1.32),
(766, 1.29192),
(767, 1.26296),
(768, 1.23304),
(769, 1.20208),
(770, 1.17),
(771, 1.13544),
(772, 1.09992),
(773, 1.06368),
(774, 1.02696),
(775, 0.99),
(776, 0.954),
(777, 0.918),
(778, 0.882),
(779, 0.846),
(780, 0.81),
];
impl Illuminant {
pub const FL7: Self = Self::new("FL7", IlluminantType::Fluorescent, Spd::new(&SPD_DATA));
}