use crate::{
illuminant::{Illuminant, IlluminantType},
spectral::Spd,
};
static SPD_DATA: [(u32, f64); 401] = [
(380, 5.8),
(381, 6.038),
(382, 6.26906666666667),
(383, 6.50013333333333),
(384, 6.73813333333333),
(385, 6.99),
(386, 7.32368),
(387, 7.66984),
(388, 8.02016),
(389, 8.36632),
(390, 8.7),
(391, 8.94664),
(392, 9.18072),
(393, 9.41048),
(394, 9.64416),
(395, 9.89),
(396, 10.2088543209877),
(397, 10.5431950617284),
(398, 10.8881086419753),
(399, 11.2386814814815),
(400, 11.59),
(401, 11.9059664197531),
(402, 12.223464691358),
(403, 12.54256),
(404, 12.8633175308642),
(405, 300.368192404101),
(406, 162.973686739135),
(407, 13.836215308642),
(408, 14.1642735802469),
(409, 14.49432),
(410, 14.8264197530864),
(411, 15.1606380246914),
(412, 15.49704),
(413, 15.8356908641975),
(414, 16.1766558024691),
(415, 16.52),
(416, 16.8638518518519),
(417, 17.2124691358025),
(418, 17.5671604938272),
(419, 17.9292345679012),
(420, 18.3),
(421, 18.70552),
(422, 19.11616),
(423, 19.52704),
(424, 19.93328),
(425, 20.33),
(426, 20.67294),
(427, 21.006445),
(428, 21.33548),
(429, 21.66501),
(430, 22.0),
(431, 22.375255),
(432, 22.75844),
(433, 23.14706),
(434, 25.0808856107802),
(435, 1061.33068849085),
(436, 25.8180709554276),
(437, 24.68898),
(438, 25.06492),
(439, 25.438615),
(440, 25.81),
(441, 26.18805),
(442, 26.5614),
(443, 26.927725),
(444, 27.2847),
(445, 27.63),
(446, 27.93952),
(447, 28.23816),
(448, 28.52904),
(449, 28.81528),
(450, 29.1),
(451, 29.40648),
(452, 29.71264),
(453, 30.01656),
(454, 30.31632),
(455, 30.61),
(456, 30.88544),
(457, 31.15352),
(458, 31.41488),
(459, 31.67016),
(460, 31.92),
(461, 32.1788),
(462, 32.43),
(463, 32.6708),
(464, 32.8984),
(465, 33.11),
(466, 33.27176),
(467, 33.41968),
(468, 33.55872),
(469, 33.69384),
(470, 33.83),
(471, 34.0144),
(472, 34.1992),
(473, 34.3788),
(474, 34.5476),
(475, 34.7),
(476, 34.79424),
(477, 34.86992),
(478, 34.93048),
(479, 34.97936),
(480, 35.02),
(481, 35.05328),
(482, 35.08584),
(483, 35.12176),
(484, 35.16512),
(485, 35.22),
(486, 35.3596),
(487, 35.5016),
(488, 35.6328),
(489, 35.74),
(490, 35.81),
(491, 35.71504),
(492, 35.58512),
(493, 35.43568),
(494, 35.28216),
(495, 35.14),
(496, 35.11552),
(497, 35.11056),
(498, 35.11784),
(499, 35.13008),
(500, 35.14),
(501, 35.10224),
(502, 35.05712),
(503, 35.00688),
(504, 34.95376),
(505, 34.9),
(506, 34.84144),
(507, 34.78832),
(508, 34.74448),
(509, 34.71376),
(510, 34.7),
(511, 34.71376),
(512, 34.75048),
(513, 34.81232),
(514, 34.90144),
(515, 35.02),
(516, 35.18232),
(517, 35.37536),
(518, 35.59824),
(519, 35.85008),
(520, 36.13),
(521, 36.42624),
(522, 36.75152),
(523, 37.10768),
(524, 37.49656),
(525, 37.92),
(526, 38.37216),
(527, 38.86448),
(528, 39.40072),
(529, 39.98464),
(530, 40.62),
(531, 41.34256),
(532, 42.11608),
(533, 42.93632),
(534, 43.79904),
(535, 44.7),
(536, 45.6109),
(537, 46.557575),
(538, 47.5418),
(539, 48.56535),
(540, 49.63),
(541, 50.760485),
(542, 51.92988),
(543, 53.13422),
(544, 55.1171289989576),
(545, 546.80309645431),
(546, 57.6611174783343),
(547, 58.21886),
(548, 59.53804),
(549, 60.869605),
(550, 62.21),
(551, 63.53927),
(552, 64.87436),
(553, 66.215815),
(554, 67.56418),
(555, 68.92),
(556, 70.31768),
(557, 71.71544),
(558, 73.10536),
(559, 74.47952),
(560, 75.83),
(561, 77.12776),
(562, 78.39128),
(563, 79.61792),
(564, 80.80504),
(565, 81.95),
(566, 83.0630548148148),
(567, 84.1254459259259),
(568, 85.1313096296296),
(569, 86.0747822222222),
(570, 86.95),
(571, 87.7154607407408),
(572, 88.4098488888889),
(573, 89.0362103703704),
(574, 89.5975911111111),
(575, 90.097037037037),
(576, 91.7111223271351),
(577, 181.045099204243),
(578, 91.4985812152467),
(579, 152.353708354861),
(580, 97.6269646234525),
(581, 91.9522222222222),
(582, 92.0664740740741),
(583, 92.1083555555556),
(584, 92.0716148148148),
(585, 91.95),
(586, 91.6585511111111),
(587, 91.2894014814815),
(588, 90.8559762962963),
(589, 90.3717007407407),
(590, 89.85),
(591, 89.37688),
(592, 88.87504),
(593, 88.33976),
(594, 87.76632),
(595, 87.15),
(596, 86.4432),
(597, 85.6948),
(598, 84.9108),
(599, 84.0972),
(600, 83.26),
(601, 82.43656),
(602, 81.59368),
(603, 80.72952),
(604, 79.84224),
(605, 78.93),
(606, 77.96504),
(607, 76.97792),
(608, 75.97328),
(609, 74.95576),
(610, 73.93),
(611, 72.92624),
(612, 71.91712),
(613, 70.90088),
(614, 69.87576),
(615, 68.84),
(616, 67.74928),
(617, 66.65504),
(618, 65.56616),
(619, 64.49152),
(620, 63.44),
(621, 62.4944),
(622, 61.5712),
(623, 60.6608),
(624, 59.7536),
(625, 58.84),
(626, 57.84032),
(627, 56.83256),
(628, 55.82464),
(629, 54.82448),
(630, 53.84),
(631, 52.91304),
(632, 52.00912),
(633, 51.12768),
(634, 50.26816),
(635, 49.43),
(636, 48.63088),
(637, 47.84744),
(638, 47.07456),
(639, 46.30712),
(640, 45.54),
(641, 44.71848),
(642, 43.89944),
(643, 43.09016),
(644, 42.29792),
(645, 41.53),
(646, 40.86312),
(647, 40.21776),
(648, 39.58384),
(649, 38.95128),
(650, 38.31),
(651, 37.56672),
(652, 36.81536),
(653, 36.06664),
(654, 35.33128),
(655, 34.62),
(656, 34.01296),
(657, 33.43408),
(658, 32.87672),
(659, 32.33424),
(660, 31.8),
(661, 31.22672),
(662, 30.65856),
(663, 30.09904),
(664, 29.55168),
(665, 29.02),
(666, 28.54336),
(667, 28.08048),
(668, 27.62592),
(669, 27.17424),
(670, 26.72),
(671, 26.21456),
(672, 25.70648),
(673, 25.20112),
(674, 24.70384),
(675, 24.22),
(676, 23.78344),
(677, 23.36392),
(678, 22.95968),
(679, 22.56896),
(680, 22.19),
(681, 21.80696),
(682, 21.43568),
(683, 21.07792),
(684, 20.73544),
(685, 20.41),
(686, 20.15744),
(687, 19.91192),
(688, 19.66168),
(689, 19.39496),
(690, 19.1),
(691, 18.6652),
(692, 18.2036),
(693, 17.7284),
(694, 17.2528),
(695, 16.79),
(696, 16.4156),
(697, 16.0648),
(698, 15.7352),
(699, 15.4244),
(700, 15.13),
(701, 14.84736),
(702, 14.57688),
(703, 14.31672),
(704, 14.06504),
(705, 13.82),
(706, 13.57784),
(707, 13.33912),
(708, 13.10248),
(709, 12.86656),
(710, 12.63),
(711, 12.37896),
(712, 12.12768),
(713, 11.87792),
(714, 11.63144),
(715, 11.39),
(716, 11.16912),
(717, 10.95336),
(718, 10.74104),
(719, 10.53048),
(720, 10.32),
(721, 10.07464),
(722, 9.83432),
(723, 9.60568),
(724, 9.39536),
(725, 9.21),
(726, 9.14232),
(727, 9.09136),
(728, 9.04224),
(729, 8.98008),
(730, 8.89),
(731, 8.64416),
(732, 8.36888),
(733, 8.07752),
(734, 7.78344),
(735, 7.5),
(736, 7.30712),
(737, 7.13496),
(738, 6.98024),
(739, 6.83968),
(740, 6.71),
(741, 6.5844),
(742, 6.464),
(743, 6.3464),
(744, 6.2292),
(745, 6.11),
(746, 5.96976),
(747, 5.82688),
(748, 5.68312),
(749, 5.54024),
(750, 5.4),
(751, 5.13072),
(752, 4.90096),
(753, 4.74584),
(754, 4.70048),
(755, 4.8),
(756, 5.63888),
(757, 6.55304),
(758, 7.43776),
(759, 8.18832),
(760, 8.7),
(761, 8.02168),
(762, 7.10664),
(763, 6.06176),
(764, 4.99392),
(765, 4.01),
(766, 3.82488),
(767, 3.78544),
(768, 3.84656),
(769, 3.96312),
(770, 4.09),
(771, 3.96384),
(772, 3.81232),
(773, 3.64488),
(774, 3.47096),
(775, 3.3),
(776, 3.19573333333333),
(777, 3.09973333333333),
(778, 3.00786666666667),
(779, 2.916),
(780, 2.82),
];
impl Illuminant {
pub const FL3_2: Self = Self::new("FL3.2", IlluminantType::Fluorescent, Spd::new(&SPD_DATA));
}