fastnum2 0.3.6

fork of Fast decimal numbers library
Documentation
use rstest::*;

use fastnum::{decimal::*, *};

#[rstest(::trace)]
//     Degrees(°)	    sin	                cos	                tan
#[case(dec128!(0),      dec128!(0),	        dec128!(1),       	dec128!(0))]
#[case(dec128!(1),      dec128!(0.0175),  	dec128!(0.9998),    dec128!(0.0175))]
#[case(dec128!(2),      dec128!(0.0349),  	dec128!(0.9994),	dec128!(0.0349))]
#[case(dec128!(3),      dec128!(0.0523),  	dec128!(0.9986),	dec128!(0.0524))]
#[case(dec128!(4),      dec128!(0.0698),  	dec128!(0.9976),	dec128!(0.0699))]
#[case(dec128!(5),      dec128!(0.0872),  	dec128!(0.9962),	dec128!(0.0875))]
#[case(dec128!(6),      dec128!(0.1045),  	dec128!(0.9945),	dec128!(0.1051))]
#[case(dec128!(7),      dec128!(0.1219),  	dec128!(0.9925),	dec128!(0.1228))]
#[case(dec128!(8),      dec128!(0.1392),  	dec128!(0.9903),	dec128!(0.1405))]
#[case(dec128!(9),      dec128!(0.1564),  	dec128!(0.9877),	dec128!(0.1584))]
#[case(dec128!(10),     dec128!(0.1736),  	dec128!(0.9848),	dec128!(0.1763))]
#[case(dec128!(11),     dec128!(0.1908),  	dec128!(0.9816),	dec128!(0.1944))]
#[case(dec128!(12),     dec128!(0.2079),  	dec128!(0.9781),	dec128!(0.2126))]
#[case(dec128!(13),     dec128!(0.225),	    dec128!(0.9744),	dec128!(0.2309))]
#[case(dec128!(14),     dec128!(0.2419),  	dec128!(0.9703),	dec128!(0.2493))]
#[case(dec128!(15),     dec128!(0.2588),  	dec128!(0.9659),	dec128!(0.2679))]
#[case(dec128!(16),     dec128!(0.2756),  	dec128!(0.9613),	dec128!(0.2867))]
#[case(dec128!(17),     dec128!(0.2924),  	dec128!(0.9563),	dec128!(0.3057))]
#[case(dec128!(18),     dec128!(0.309),	    dec128!(0.9511),	dec128!(0.3249))]
#[case(dec128!(19),     dec128!(0.3256),  	dec128!(0.9455),	dec128!(0.3443))]
#[case(dec128!(20),     dec128!(0.342),	    dec128!(0.9397),	dec128!(0.364))]
#[case(dec128!(21),     dec128!(0.3584),  	dec128!(0.9336),	dec128!(0.3839))]
#[case(dec128!(22),     dec128!(0.3746),  	dec128!(0.9272),	dec128!(0.404))]
#[case(dec128!(23),     dec128!(0.3907),  	dec128!(0.9205),	dec128!(0.4245))]
#[case(dec128!(24),     dec128!(0.4067),  	dec128!(0.9135),	dec128!(0.4452))]
#[case(dec128!(25),     dec128!(0.4226),  	dec128!(0.9063),	dec128!(0.4663))]
#[case(dec128!(26),     dec128!(0.4384),  	dec128!(0.8988),	dec128!(0.4877))]
#[case(dec128!(27),     dec128!(0.454),	    dec128!(0.891),	    dec128!(0.5095))]
#[case(dec128!(28),     dec128!(0.4695),  	dec128!(0.8829),	dec128!(0.5317))]
#[case(dec128!(29),     dec128!(0.4848),  	dec128!(0.8746),	dec128!(0.5543))]
#[case(dec128!(30),     dec128!(0.5),	    dec128!(0.866),	    dec128!(0.5774))]
#[case(dec128!(31),     dec128!(0.515),	    dec128!(0.8572),	dec128!(0.6009))]
#[case(dec128!(32),     dec128!(0.5299),	dec128!(0.848),	    dec128!(0.6249))]
#[case(dec128!(33),     dec128!(0.5446),	dec128!(0.8387),	dec128!(0.6494))]
#[case(dec128!(34),     dec128!(0.5592),	dec128!(0.829),	    dec128!(0.6745))]
#[case(dec128!(35),     dec128!(0.5736),	dec128!(0.8192),	dec128!(0.7002))]
#[case(dec128!(36),     dec128!(0.5878),	dec128!(0.809),	    dec128!(0.7265))]
#[case(dec128!(37),     dec128!(0.6018),	dec128!(0.7986),	dec128!(0.7536))]
#[case(dec128!(38),     dec128!(0.6157),	dec128!(0.788),	    dec128!(0.7813))]
#[case(dec128!(39),     dec128!(0.6293),	dec128!(0.7771),	dec128!(0.8098))]
#[case(dec128!(40),     dec128!(0.6428),	dec128!(0.766),	    dec128!(0.8391))]
#[case(dec128!(41),     dec128!(0.6561),	dec128!(0.7547),	dec128!(0.8693))]
#[case(dec128!(42),     dec128!(0.6691),	dec128!(0.7431),	dec128!(0.9004))]
#[case(dec128!(43),     dec128!(0.682),	    dec128!(0.7314),	dec128!(0.9325))]
#[case(dec128!(44),     dec128!(0.6947),	dec128!(0.7193),	dec128!(0.9657))]
#[case(dec128!(45),     dec128!(0.7071),	dec128!(0.7071),	dec128!(1))]
#[case(dec128!(46),     dec128!(0.7193),	dec128!(0.6947),	dec128!(1.0355))]
#[case(dec128!(47),     dec128!(0.7314),	dec128!(0.682),	    dec128!(1.0724))]
#[case(dec128!(48),     dec128!(0.7431),	dec128!(0.6691),	dec128!(1.1106))]
#[case(dec128!(49),     dec128!(0.7547),	dec128!(0.6561),	dec128!(1.1504))]
#[case(dec128!(50),     dec128!(0.766),	    dec128!(0.6428),	dec128!(1.1918))]
#[case(dec128!(51),     dec128!(0.7771),	dec128!(0.6293),	dec128!(1.2349))]
#[case(dec128!(52),     dec128!(0.788),	    dec128!(0.6157),	dec128!(1.2799))]
#[case(dec128!(53),     dec128!(0.7986),	dec128!(0.6018),	dec128!(1.327))]
#[case(dec128!(54),     dec128!(0.809),	    dec128!(0.5878),	dec128!(1.3764))]
#[case(dec128!(55),     dec128!(0.8192),	dec128!(0.5736),	dec128!(1.4281))]
#[case(dec128!(56),     dec128!(0.829),	    dec128!(0.5592),	dec128!(1.4826))]
#[case(dec128!(57),     dec128!(0.8387),	dec128!(0.5446),	dec128!(1.5399))]
#[case(dec128!(58),     dec128!(0.848),	    dec128!(0.5299),	dec128!(1.6003))]
#[case(dec128!(59),     dec128!(0.8572),	dec128!(0.515),	    dec128!(1.6643))]
#[case(dec128!(60),     dec128!(0.866),	    dec128!(0.5),	    dec128!(1.7321))]
#[case(dec128!(61),     dec128!(0.8746),	dec128!(0.4848),	dec128!(1.804))]
#[case(dec128!(62),     dec128!(0.8829),	dec128!(0.4695),	dec128!(1.8807))]
#[case(dec128!(63),     dec128!(0.891),	    dec128!(0.454),	    dec128!(1.9626))]
#[case(dec128!(64),     dec128!(0.8988),	dec128!(0.4384),	dec128!(2.0503))]
#[case(dec128!(65),     dec128!(0.9063),	dec128!(0.4226),	dec128!(2.1445))]
#[case(dec128!(66),     dec128!(0.9135),	dec128!(0.4067),	dec128!(2.246))]
#[case(dec128!(67),     dec128!(0.9205),	dec128!(0.3907),	dec128!(2.3559))]
#[case(dec128!(68),     dec128!(0.9272),	dec128!(0.3746),	dec128!(2.4751))]
#[case(dec128!(69),     dec128!(0.9336),	dec128!(0.3584),	dec128!(2.6051))]
#[case(dec128!(70),     dec128!(0.9397),	dec128!(0.342),	    dec128!(2.7475))]
#[case(dec128!(71),     dec128!(0.9455),	dec128!(0.3256),	dec128!(2.9042))]
#[case(dec128!(72),     dec128!(0.9511),	dec128!(0.309),	    dec128!(3.0777))]
#[case(dec128!(73),     dec128!(0.9563),	dec128!(0.2924),	dec128!(3.2709))]
#[case(dec128!(74),     dec128!(0.9613),	dec128!(0.2756),	dec128!(3.4874))]
#[case(dec128!(75),     dec128!(0.9659),	dec128!(0.2588),	dec128!(3.7321))]
#[case(dec128!(76),     dec128!(0.9703),	dec128!(0.2419),	dec128!(4.0108))]
#[case(dec128!(77),     dec128!(0.9744),	dec128!(0.225),	    dec128!(4.3315))]
#[case(dec128!(78),     dec128!(0.9781),	dec128!(0.2079),	dec128!(4.7046))]
#[case(dec128!(79),     dec128!(0.9816),	dec128!(0.1908),	dec128!(5.1446))]
#[case(dec128!(80),     dec128!(0.9848),	dec128!(0.1736),	dec128!(5.6713))]
#[case(dec128!(81),     dec128!(0.9877),	dec128!(0.1564),	dec128!(6.3138))]
#[case(dec128!(82),     dec128!(0.9903),	dec128!(0.1392),	dec128!(7.1154))]
#[case(dec128!(83),     dec128!(0.9925),	dec128!(0.1219),	dec128!(8.1443))]
#[case(dec128!(84),     dec128!(0.9945),	dec128!(0.1045),	dec128!(9.5144))]
#[case(dec128!(85),     dec128!(0.9962),	dec128!(0.0872),	dec128!(11.4301))]
#[case(dec128!(86),     dec128!(0.9976),	dec128!(0.0698),	dec128!(14.3007))]
#[case(dec128!(87),     dec128!(0.9986),	dec128!(0.0523),	dec128!(19.0811))]
#[case(dec128!(88),     dec128!(0.9994),	dec128!(0.0349),	dec128!(28.6363))]
#[case(dec128!(89),     dec128!(0.9998),	dec128!(0.0175),	dec128!(57.29))]
#[case(dec128!(90),     dec128!(1),	        dec128!(0),       	D128::INFINITY)]
#[case(dec128!(91),     dec128!(0.9998),    dec128!(-0.0175), 	dec128!(-57.29))]
#[case(dec128!(92),     dec128!(0.9994),  	dec128!(-0.0349),	dec128!(-28.6363))]
#[case(dec128!(93),     dec128!(0.9986),  	dec128!(-0.0523),	dec128!(-19.0811))]
#[case(dec128!(94),     dec128!(0.9976),  	dec128!(-0.0698),	dec128!(-14.3007))]
#[case(dec128!(95),     dec128!(0.9962),  	dec128!(-0.0872),	dec128!(-11.4301))]
#[case(dec128!(96),     dec128!(0.9945),  	dec128!(-0.1045),	dec128!(-9.5144))]
#[case(dec128!(97),     dec128!(0.9925),  	dec128!(-0.1219),	dec128!(-8.1443))]
#[case(dec128!(98),     dec128!(0.9903),  	dec128!(-0.1392),	dec128!(-7.1154))]
#[case(dec128!(99),     dec128!(0.9877),  	dec128!(-0.1564),	dec128!(-6.3138))]
#[case(dec128!(100),    dec128!(0.9848),	dec128!(-0.1736),	dec128!(-5.6713))]
#[case(dec128!(101),    dec128!(0.9816),	dec128!(-0.1908),	dec128!(-5.1446))]
#[case(dec128!(102),    dec128!(0.9781),	dec128!(-0.2079),	dec128!(-4.7046))]
#[case(dec128!(103),    dec128!(0.9744),	dec128!(-0.225),	dec128!(-4.3315))]
#[case(dec128!(104),    dec128!(0.9703),	dec128!(-0.2419),	dec128!(-4.0108))]
#[case(dec128!(105),    dec128!(0.9659),	dec128!(-0.2588),	dec128!(-3.7321))]
#[case(dec128!(106),    dec128!(0.9613),	dec128!(-0.2756),	dec128!(-3.4874))]
#[case(dec128!(107),    dec128!(0.9563),	dec128!(-0.2924),	dec128!(-3.2709))]
#[case(dec128!(108),    dec128!(0.9511),	dec128!(-0.309),	dec128!(-3.0777))]
#[case(dec128!(109),    dec128!(0.9455),	dec128!(-0.3256),	dec128!(-2.9042))]
#[case(dec128!(110),    dec128!(0.9397),	dec128!(-0.342),	dec128!(-2.7475))]
#[case(dec128!(111),    dec128!(0.9336),	dec128!(-0.3584),	dec128!(-2.6051))]
#[case(dec128!(112),    dec128!(0.9272),	dec128!(-0.3746),	dec128!(-2.4751))]
#[case(dec128!(113),    dec128!(0.9205),	dec128!(-0.3907),	dec128!(-2.3559))]
#[case(dec128!(114),    dec128!(0.9135),	dec128!(-0.4067),	dec128!(-2.246))]
#[case(dec128!(115),    dec128!(0.9063),	dec128!(-0.4226),	dec128!(-2.1445))]
#[case(dec128!(116),    dec128!(0.8988),	dec128!(-0.4384),	dec128!(-2.0503))]
#[case(dec128!(117),    dec128!(0.891),	    dec128!(-0.454),	dec128!(-1.9626))]
#[case(dec128!(118),    dec128!(0.8829),	dec128!(-0.4695),	dec128!(-1.8807))]
#[case(dec128!(119),    dec128!(0.8746),	dec128!(-0.4848),	dec128!(-1.804))]
#[case(dec128!(120),    dec128!(0.866),	    dec128!(-0.5),	    dec128!(-1.7321))]
#[case(dec128!(121),    dec128!(0.8572),	dec128!(-0.515),	dec128!(-1.6643))]
#[case(dec128!(122),    dec128!(0.848),	    dec128!(-0.5299),	dec128!(-1.6003))]
#[case(dec128!(123),    dec128!(0.8387),	dec128!(-0.5446),	dec128!(-1.5399))]
#[case(dec128!(124),    dec128!(0.829),	    dec128!(-0.5592),	dec128!(-1.4826))]
#[case(dec128!(125),    dec128!(0.8192),	dec128!(-0.5736),	dec128!(-1.4281))]
#[case(dec128!(126),    dec128!(0.809),	    dec128!(-0.5878),	dec128!(-1.3764))]
#[case(dec128!(127),    dec128!(0.7986),	dec128!(-0.6018),	dec128!(-1.327))]
#[case(dec128!(128),    dec128!(0.788),	    dec128!(-0.6157),	dec128!(-1.2799))]
#[case(dec128!(129),    dec128!(0.7771),	dec128!(-0.6293),	dec128!(-1.2349))]
#[case(dec128!(130),    dec128!(0.766),	    dec128!(-0.6428),	dec128!(-1.1918))]
#[case(dec128!(131),    dec128!(0.7547),	dec128!(-0.6561),	dec128!(-1.1504))]
#[case(dec128!(132),    dec128!(0.7431),	dec128!(-0.6691),	dec128!(-1.1106))]
#[case(dec128!(133),    dec128!(0.7314),	dec128!(-0.682),	dec128!(-1.0724))]
#[case(dec128!(134),    dec128!(0.7193),	dec128!(-0.6947),	dec128!(-1.0355))]
#[case(dec128!(135),    dec128!(0.7071),	dec128!(-0.7071),	dec128!(-1))]
#[case(dec128!(136),    dec128!(0.6947),	dec128!(-0.7193),	dec128!(-0.9657))]
#[case(dec128!(137),    dec128!(0.682),	    dec128!(-0.7314),	dec128!(-0.9325))]
#[case(dec128!(138),    dec128!(0.6691),	dec128!(-0.7431),	dec128!(-0.9004))]
#[case(dec128!(139),    dec128!(0.6561),	dec128!(-0.7547),	dec128!(-0.8693))]
#[case(dec128!(140),    dec128!(0.6428),	dec128!(-0.766),	dec128!(-0.8391))]
#[case(dec128!(141),    dec128!(0.6293),	dec128!(-0.7771),	dec128!(-0.8098))]
#[case(dec128!(142),    dec128!(0.6157),	dec128!(-0.788),	dec128!(-0.7813))]
#[case(dec128!(143),    dec128!(0.6018),	dec128!(-0.7986),	dec128!(-0.7536))]
#[case(dec128!(144),    dec128!(0.5878),	dec128!(-0.809),	dec128!(-0.7265))]
#[case(dec128!(145),    dec128!(0.5736),	dec128!(-0.8192),	dec128!(-0.7002))]
#[case(dec128!(146),    dec128!(0.5592),	dec128!(-0.829),	dec128!(-0.6745))]
#[case(dec128!(147),    dec128!(0.5446),	dec128!(-0.8387),	dec128!(-0.6494))]
#[case(dec128!(148),    dec128!(0.5299),	dec128!(-0.848),	dec128!(-0.6249))]
#[case(dec128!(149),    dec128!(0.515),	    dec128!(-0.8572),	dec128!(-0.6009))]
#[case(dec128!(150),    dec128!(0.5),	    dec128!(-0.866),  	dec128!(-0.5774))]
#[case(dec128!(151),    dec128!(0.4848),	dec128!(-0.8746),	dec128!(-0.5543))]
#[case(dec128!(152),    dec128!(0.4695),	dec128!(-0.8829),	dec128!(-0.5317))]
#[case(dec128!(153),    dec128!(0.454),	    dec128!(-0.891),	dec128!(-0.5095))]
#[case(dec128!(154),    dec128!(0.4384),	dec128!(-0.8988),	dec128!(-0.4877))]
#[case(dec128!(155),    dec128!(0.4226),	dec128!(-0.9063),	dec128!(-0.4663))]
#[case(dec128!(156),    dec128!(0.4067),	dec128!(-0.9135),	dec128!(-0.4452))]
#[case(dec128!(157),    dec128!(0.3907),	dec128!(-0.9205),	dec128!(-0.4245))]
#[case(dec128!(158),    dec128!(0.3746),	dec128!(-0.9272),	dec128!(-0.404))]
#[case(dec128!(159),    dec128!(0.3584),	dec128!(-0.9336),	dec128!(-0.3839))]
#[case(dec128!(160),    dec128!(0.342),	    dec128!(-0.9397),	dec128!(-0.364))]
#[case(dec128!(161),    dec128!(0.3256),	dec128!(-0.9455),	dec128!(-0.3443))]
#[case(dec128!(162),    dec128!(0.309),	    dec128!(-0.9511),	dec128!(-0.3249))]
#[case(dec128!(163),    dec128!(0.2924),	dec128!(-0.9563),	dec128!(-0.3057))]
#[case(dec128!(164),    dec128!(0.2756),	dec128!(-0.9613),	dec128!(-0.2867))]
#[case(dec128!(165),    dec128!(0.2588),	dec128!(-0.9659),	dec128!(-0.2679))]
#[case(dec128!(166),    dec128!(0.2419),	dec128!(-0.9703),	dec128!(-0.2493))]
#[case(dec128!(167),    dec128!(0.225),	    dec128!(-0.9744),	dec128!(-0.2309))]
#[case(dec128!(168),    dec128!(0.2079),	dec128!(-0.9781),	dec128!(-0.2126))]
#[case(dec128!(169),    dec128!(0.1908),	dec128!(-0.9816),	dec128!(-0.1944))]
#[case(dec128!(170),    dec128!(0.1736),	dec128!(-0.9848),	dec128!(-0.1763))]
#[case(dec128!(171),    dec128!(0.1564),	dec128!(-0.9877),	dec128!(-0.1584))]
#[case(dec128!(172),    dec128!(0.1392),	dec128!(-0.9903),	dec128!(-0.1405))]
#[case(dec128!(173),    dec128!(0.1219),	dec128!(-0.9925),	dec128!(-0.1228))]
#[case(dec128!(174),    dec128!(0.1045),	dec128!(-0.9945),	dec128!(-0.1051))]
#[case(dec128!(175),    dec128!(0.0872),	dec128!(-0.9962),	dec128!(-0.0875))]
#[case(dec128!(176),    dec128!(0.0698),	dec128!(-0.9976),	dec128!(-0.0699))]
#[case(dec128!(177),    dec128!(0.0523),	dec128!(-0.9986),	dec128!(-0.0524))]
#[case(dec128!(178),    dec128!(0.0349),	dec128!(-0.9994),	dec128!(-0.0349))]
#[case(dec128!(179),    dec128!(0.0175),	dec128!(-0.9998),	dec128!(-0.0175))]
#[case(dec128!(180),    dec128!(-0),	    dec128!(-1),      	dec128!(0))]
#[case(dec128!(181),    dec128!(-0.0175),	dec128!(-0.9998),	dec128!(0.0175))]
#[case(dec128!(182),    dec128!(-0.0349),	dec128!(-0.9994),	dec128!(0.0349))]
#[case(dec128!(183),    dec128!(-0.0523),	dec128!(-0.9986),	dec128!(0.0524))]
#[case(dec128!(184),    dec128!(-0.0698),	dec128!(-0.9976),	dec128!(0.0699))]
#[case(dec128!(185),    dec128!(-0.0872),	dec128!(-0.9962),	dec128!(0.0875))]
#[case(dec128!(186),    dec128!(-0.1045),	dec128!(-0.9945),	dec128!(0.1051))]
#[case(dec128!(187),    dec128!(-0.1219),	dec128!(-0.9925),	dec128!(0.1228))]
#[case(dec128!(188),    dec128!(-0.1392),	dec128!(-0.9903),	dec128!(0.1405))]
#[case(dec128!(189),    dec128!(-0.1564),	dec128!(-0.9877),	dec128!(0.1584))]
#[case(dec128!(190),    dec128!(-0.1736),	dec128!(-0.9848),	dec128!(0.1763))]
#[case(dec128!(191),    dec128!(-0.1908),	dec128!(-0.9816),	dec128!(0.1944))]
#[case(dec128!(192),    dec128!(-0.2079),	dec128!(-0.9781),	dec128!(0.2126))]
#[case(dec128!(193),    dec128!(-0.225),	dec128!(-0.9744),	dec128!(0.2309))]
#[case(dec128!(194),    dec128!(-0.2419),	dec128!(-0.9703),	dec128!(0.2493))]
#[case(dec128!(195),    dec128!(-0.2588),	dec128!(-0.9659),	dec128!(0.2679))]
#[case(dec128!(196),    dec128!(-0.2756),	dec128!(-0.9613),	dec128!(0.2867))]
#[case(dec128!(197),    dec128!(-0.2924),	dec128!(-0.9563),	dec128!(0.3057))]
#[case(dec128!(198),    dec128!(-0.309),	dec128!(-0.9511),	dec128!(0.3249))]
#[case(dec128!(199),    dec128!(-0.3256),	dec128!(-0.9455),	dec128!(0.3443))]
#[case(dec128!(200),    dec128!(-0.342),	dec128!(-0.9397),	dec128!(0.364))]
#[case(dec128!(201),    dec128!(-0.3584),	dec128!(-0.9336),	dec128!(0.3839))]
#[case(dec128!(202),    dec128!(-0.3746),	dec128!(-0.9272),	dec128!(0.404))]
#[case(dec128!(203),    dec128!(-0.3907),	dec128!(-0.9205),	dec128!(0.4245))]
#[case(dec128!(204),    dec128!(-0.4067),	dec128!(-0.9135),	dec128!(0.4452))]
#[case(dec128!(205),    dec128!(-0.4226),	dec128!(-0.9063),	dec128!(0.4663))]
#[case(dec128!(206),    dec128!(-0.4384),	dec128!(-0.8988),	dec128!(0.4877))]
#[case(dec128!(207),    dec128!(-0.454),	dec128!(-0.891),	dec128!(0.5095))]
#[case(dec128!(208),    dec128!(-0.4695),	dec128!(-0.8829),	dec128!(0.5317))]
#[case(dec128!(209),    dec128!(-0.4848),	dec128!(-0.8746),	dec128!(0.5543))]
#[case(dec128!(210),    dec128!(-0.5),	    dec128!(-0.866),	dec128!(0.5774))]
#[case(dec128!(211),    dec128!(-0.515),	dec128!(-0.8572),	dec128!(0.6009))]
#[case(dec128!(212),    dec128!(-0.5299),	dec128!(-0.848),	dec128!(0.6249))]
#[case(dec128!(213),    dec128!(-0.5446),	dec128!(-0.8387),	dec128!(0.6494))]
#[case(dec128!(214),    dec128!(-0.5592),	dec128!(-0.829),	dec128!(0.6745))]
#[case(dec128!(215),    dec128!(-0.5736),	dec128!(-0.8192),	dec128!(0.7002))]
#[case(dec128!(216),    dec128!(-0.5878),	dec128!(-0.809),	dec128!(0.7265))]
#[case(dec128!(217),    dec128!(-0.6018),	dec128!(-0.7986),	dec128!(0.7536))]
#[case(dec128!(218),    dec128!(-0.6157),	dec128!(-0.788),	dec128!(0.7813))]
#[case(dec128!(219),    dec128!(-0.6293),	dec128!(-0.7771),	dec128!(0.8098))]
#[case(dec128!(220),    dec128!(-0.6428),	dec128!(-0.766),	dec128!(0.8391))]
#[case(dec128!(221),    dec128!(-0.6561),	dec128!(-0.7547),	dec128!(0.8693))]
#[case(dec128!(222),    dec128!(-0.6691),	dec128!(-0.7431),	dec128!(0.9004))]
#[case(dec128!(223),    dec128!(-0.682),	dec128!(-0.7314),	dec128!(0.9325))]
#[case(dec128!(224),    dec128!(-0.6947),	dec128!(-0.7193),	dec128!(0.9657))]
#[case(dec128!(225),    dec128!(-0.7071),	dec128!(-0.7071),	dec128!(1))]
#[case(dec128!(226),    dec128!(-0.7193),	dec128!(-0.6947),	dec128!(1.0355))]
#[case(dec128!(227),    dec128!(-0.7314),	dec128!(-0.682),	dec128!(1.0724))]
#[case(dec128!(228),    dec128!(-0.7431),	dec128!(-0.6691),	dec128!(1.1106))]
#[case(dec128!(229),    dec128!(-0.7547),	dec128!(-0.6561),	dec128!(1.1504))]
#[case(dec128!(230),    dec128!(-0.766),	dec128!(-0.6428),	dec128!(1.1918))]
#[case(dec128!(231),    dec128!(-0.7771),	dec128!(-0.6293),	dec128!(1.2349))]
#[case(dec128!(232),    dec128!(-0.788),	dec128!(-0.6157),	dec128!(1.2799))]
#[case(dec128!(233),    dec128!(-0.7986),	dec128!(-0.6018),	dec128!(1.327))]
#[case(dec128!(234),    dec128!(-0.809),	dec128!(-0.5878),	dec128!(1.3764))]
#[case(dec128!(235),    dec128!(-0.8192),	dec128!(-0.5736),	dec128!(1.4281))]
#[case(dec128!(236),    dec128!(-0.829),	dec128!(-0.5592),	dec128!(1.4826))]
#[case(dec128!(237),    dec128!(-0.8387),	dec128!(-0.5446),	dec128!(1.5399))]
#[case(dec128!(238),    dec128!(-0.848),	dec128!(-0.5299),	dec128!(1.6003))]
#[case(dec128!(239),    dec128!(-0.8572),	dec128!(-0.515),	dec128!(1.6643))]
#[case(dec128!(240),    dec128!(-0.866),	dec128!(-0.5),	    dec128!(1.7321))]
#[case(dec128!(241),    dec128!(-0.8746),	dec128!(-0.4848),	dec128!(1.804))]
#[case(dec128!(242),    dec128!(-0.8829),	dec128!(-0.4695),	dec128!(1.8807))]
#[case(dec128!(243),    dec128!(-0.891),	dec128!(-0.454),	dec128!(1.9626))]
#[case(dec128!(244),    dec128!(-0.8988),	dec128!(-0.4384),	dec128!(2.0503))]
#[case(dec128!(245),    dec128!(-0.9063),	dec128!(-0.4226),	dec128!(2.1445))]
#[case(dec128!(246),    dec128!(-0.9135),	dec128!(-0.4067),	dec128!(2.246))]
#[case(dec128!(247),    dec128!(-0.9205),	dec128!(-0.3907),	dec128!(2.3559))]
#[case(dec128!(248),    dec128!(-0.9272),	dec128!(-0.3746),	dec128!(2.4751))]
#[case(dec128!(249),    dec128!(-0.9336),	dec128!(-0.3584),	dec128!(2.6051))]
#[case(dec128!(250),    dec128!(-0.9397),	dec128!(-0.342),	dec128!(2.7475))]
#[case(dec128!(251),    dec128!(-0.9455),	dec128!(-0.3256),	dec128!(2.9042))]
#[case(dec128!(252),    dec128!(-0.9511),	dec128!(-0.309),	dec128!(3.0777))]
#[case(dec128!(253),    dec128!(-0.9563),	dec128!(-0.2924),	dec128!(3.2709))]
#[case(dec128!(254),    dec128!(-0.9613),	dec128!(-0.2756),	dec128!(3.4874))]
#[case(dec128!(255),    dec128!(-0.9659),	dec128!(-0.2588),	dec128!(3.7321))]
#[case(dec128!(256),    dec128!(-0.9703),	dec128!(-0.2419),	dec128!(4.0108))]
#[case(dec128!(257),    dec128!(-0.9744),	dec128!(-0.225),	dec128!(4.3315))]
#[case(dec128!(258),    dec128!(-0.9781),	dec128!(-0.2079),	dec128!(4.7046))]
#[case(dec128!(259),    dec128!(-0.9816),	dec128!(-0.1908),	dec128!(5.1446))]
#[case(dec128!(260),    dec128!(-0.9848),	dec128!(-0.1736),	dec128!(5.6713))]
#[case(dec128!(261),    dec128!(-0.9877),	dec128!(-0.1564),	dec128!(6.3138))]
#[case(dec128!(262),    dec128!(-0.9903),	dec128!(-0.1392),	dec128!(7.1154))]
#[case(dec128!(263),    dec128!(-0.9925),	dec128!(-0.1219),	dec128!(8.1443))]
#[case(dec128!(264),    dec128!(-0.9945),	dec128!(-0.1045),	dec128!(9.5144))]
#[case(dec128!(265),    dec128!(-0.9962),	dec128!(-0.0872),	dec128!(11.4301))]
#[case(dec128!(266),    dec128!(-0.9976),	dec128!(-0.0698),	dec128!(14.3007))]
#[case(dec128!(267),    dec128!(-0.9986),	dec128!(-0.0523),	dec128!(19.0811))]
#[case(dec128!(268),    dec128!(-0.9994),	dec128!(-0.0349),	dec128!(28.6363))]
#[case(dec128!(269),    dec128!(-0.9998),	dec128!(-0.0175),   dec128!(57.29))]
#[case(dec128!(270),    dec128!(-1),      	dec128!(0),       	D128::NEG_INFINITY)]
#[case(dec128!(271),    dec128!(-0.9998),	dec128!(0.0175),	dec128!(-57.29))]
#[case(dec128!(272),    dec128!(-0.9994),	dec128!(0.0349),	dec128!(-28.6363))]
#[case(dec128!(273),    dec128!(-0.9986),	dec128!(0.0523),	dec128!(-19.0811))]
#[case(dec128!(274),    dec128!(-0.9976),	dec128!(0.0698),	dec128!(-14.3007))]
#[case(dec128!(275),    dec128!(-0.9962),	dec128!(0.0872),	dec128!(-11.4301))]
#[case(dec128!(276),    dec128!(-0.9945),	dec128!(0.1045),	dec128!(-9.5144))]
#[case(dec128!(277),    dec128!(-0.9925),	dec128!(0.1219),	dec128!(-8.1443))]
#[case(dec128!(278),    dec128!(-0.9903),	dec128!(0.1392),	dec128!(-7.1154))]
#[case(dec128!(279),    dec128!(-0.9877),	dec128!(0.1564),	dec128!(-6.3138))]
#[case(dec128!(280),    dec128!(-0.9848),	dec128!(0.1736),	dec128!(-5.6713))]
#[case(dec128!(281),    dec128!(-0.9816),	dec128!(0.1908),	dec128!(-5.1446))]
#[case(dec128!(282),    dec128!(-0.9781),	dec128!(0.2079),	dec128!(-4.7046))]
#[case(dec128!(283),    dec128!(-0.9744),	dec128!(0.225),	    dec128!(-4.3315))]
#[case(dec128!(284),    dec128!(-0.9703),	dec128!(0.2419),	dec128!(-4.0108))]
#[case(dec128!(285),    dec128!(-0.9659),	dec128!(0.2588),	dec128!(-3.7321))]
#[case(dec128!(286),    dec128!(-0.9613),	dec128!(0.2756),	dec128!(-3.4874))]
#[case(dec128!(287),    dec128!(-0.9563),	dec128!(0.2924),	dec128!(-3.2709))]
#[case(dec128!(288),    dec128!(-0.9511),	dec128!(0.309),	    dec128!(-3.0777))]
#[case(dec128!(289),    dec128!(-0.9455),	dec128!(0.3256),	dec128!(-2.9042))]
#[case(dec128!(290),    dec128!(-0.9397),	dec128!(0.342),	    dec128!(-2.7475))]
#[case(dec128!(291),    dec128!(-0.9336),	dec128!(0.3584),	dec128!(-2.6051))]
#[case(dec128!(292),    dec128!(-0.9272),	dec128!(0.3746),	dec128!(-2.4751))]
#[case(dec128!(293),    dec128!(-0.9205),	dec128!(0.3907),	dec128!(-2.3559))]
#[case(dec128!(294),    dec128!(-0.9135),	dec128!(0.4067),	dec128!(-2.246))]
#[case(dec128!(295),    dec128!(-0.9063),	dec128!(0.4226),	dec128!(-2.1445))]
#[case(dec128!(296),    dec128!(-0.8988),	dec128!(0.4384),	dec128!(-2.0503))]
#[case(dec128!(297),    dec128!(-0.891),	dec128!(0.454),	    dec128!(-1.9626))]
#[case(dec128!(298),    dec128!(-0.8829),	dec128!(0.4695),	dec128!(-1.8807))]
#[case(dec128!(299),    dec128!(-0.8746),	dec128!(0.4848),	dec128!(-1.804))]
#[case(dec128!(300),    dec128!(-0.866),	dec128!(0.5),     	dec128!(-1.7321))]
#[case(dec128!(301),    dec128!(-0.8572),	dec128!(0.515),   	dec128!(-1.6643))]
#[case(dec128!(302),    dec128!(-0.848),	dec128!(0.5299),  	dec128!(-1.6003))]
#[case(dec128!(303),    dec128!(-0.8387),	dec128!(0.5446),  	dec128!(-1.5399))]
#[case(dec128!(304),    dec128!(-0.829),	dec128!(0.5592),	dec128!(-1.4826))]
#[case(dec128!(305),    dec128!(-0.8192),	dec128!(0.5736),	dec128!(-1.4281))]
#[case(dec128!(306),    dec128!(-0.809),	dec128!(0.5878),	dec128!(-1.3764))]
#[case(dec128!(307),    dec128!(-0.7986),	dec128!(0.6018),	dec128!(-1.327))]
#[case(dec128!(308),    dec128!(-0.788),	dec128!(0.6157),	dec128!(-1.2799))]
#[case(dec128!(309),    dec128!(-0.7771),	dec128!(0.6293),	dec128!(-1.2349))]
#[case(dec128!(310),    dec128!(-0.766),	dec128!(0.6428),	dec128!(-1.1918))]
#[case(dec128!(311),    dec128!(-0.7547),	dec128!(0.6561),	dec128!(-1.1504))]
#[case(dec128!(312),    dec128!(-0.7431),	dec128!(0.6691),	dec128!(-1.1106))]
#[case(dec128!(313),    dec128!(-0.7314),	dec128!(0.682),	    dec128!(-1.0724))]
#[case(dec128!(314),    dec128!(-0.7193),	dec128!(0.6947),	dec128!(-1.0355))]
#[case(dec128!(315),    dec128!(-0.7071),	dec128!(0.7071),	dec128!(-1))]
#[case(dec128!(316),    dec128!(-0.6947),	dec128!(0.7193),	dec128!(-0.9657))]
#[case(dec128!(317),    dec128!(-0.682),	dec128!(0.7314),	dec128!(-0.9325))]
#[case(dec128!(318),    dec128!(-0.6691),	dec128!(0.7431),	dec128!(-0.9004))]
#[case(dec128!(319),    dec128!(-0.6561),	dec128!(0.7547),	dec128!(-0.8693))]
#[case(dec128!(320),    dec128!(-0.6428),	dec128!(0.766),	    dec128!(-0.8391))]
#[case(dec128!(321),    dec128!(-0.6293),	dec128!(0.7771),	dec128!(-0.8098))]
#[case(dec128!(322),    dec128!(-0.6157),	dec128!(0.788),	    dec128!(-0.7813))]
#[case(dec128!(323),    dec128!(-0.6018),	dec128!(0.7986),	dec128!(-0.7536))]
#[case(dec128!(324),    dec128!(-0.5878),	dec128!(0.809),	    dec128!(-0.7265))]
#[case(dec128!(325),    dec128!(-0.5736),	dec128!(0.8192),	dec128!(-0.7002))]
#[case(dec128!(326),    dec128!(-0.5592),	dec128!(0.829),	    dec128!(-0.6745))]
#[case(dec128!(327),    dec128!(-0.5446),	dec128!(0.8387),	dec128!(-0.6494))]
#[case(dec128!(328),    dec128!(-0.5299),	dec128!(0.848),	    dec128!(-0.6249))]
#[case(dec128!(329),    dec128!(-0.515),	dec128!(0.8572),	dec128!(-0.6009))]
#[case(dec128!(330),    dec128!(-0.5),	    dec128!(0.866),	    dec128!(-0.5774))]
#[case(dec128!(331),    dec128!(-0.4848),	dec128!(0.8746),	dec128!(-0.5543))]
#[case(dec128!(332),    dec128!(-0.4695),	dec128!(0.8829),	dec128!(-0.5317))]
#[case(dec128!(333),    dec128!(-0.454),	dec128!(0.891),	    dec128!(-0.5095))]
#[case(dec128!(334),    dec128!(-0.4384),	dec128!(0.8988),	dec128!(-0.4877))]
#[case(dec128!(335),    dec128!(-0.4226),	dec128!(0.9063),	dec128!(-0.4663))]
#[case(dec128!(336),    dec128!(-0.4067),	dec128!(0.9135),	dec128!(-0.4452))]
#[case(dec128!(337),    dec128!(-0.3907),	dec128!(0.9205),	dec128!(-0.4245))]
#[case(dec128!(338),    dec128!(-0.3746),	dec128!(0.9272),	dec128!(-0.404))]
#[case(dec128!(339),    dec128!(-0.3584),	dec128!(0.9336),	dec128!(-0.3839))]
#[case(dec128!(340),    dec128!(-0.342),	dec128!(0.9397),	dec128!(-0.364))]
#[case(dec128!(341),    dec128!(-0.3256),	dec128!(0.9455),	dec128!(-0.3443))]
#[case(dec128!(342),    dec128!(-0.309),	dec128!(0.9511),	dec128!(-0.3249))]
#[case(dec128!(343),    dec128!(-0.2924),	dec128!(0.9563),	dec128!(-0.3057))]
#[case(dec128!(344),    dec128!(-0.2756),	dec128!(0.9613),	dec128!(-0.2867))]
#[case(dec128!(345),    dec128!(-0.2588),	dec128!(0.9659),	dec128!(-0.2679))]
#[case(dec128!(346),    dec128!(-0.2419),	dec128!(0.9703),	dec128!(-0.2493))]
#[case(dec128!(347),    dec128!(-0.225),	dec128!(0.9744),	dec128!(-0.2309))]
#[case(dec128!(348),    dec128!(-0.2079),	dec128!(0.9781),	dec128!(-0.2126))]
#[case(dec128!(349),    dec128!(-0.1908),   dec128!(0.9816),	dec128!(-0.1944))]
#[case(dec128!(350),    dec128!(-0.1736),	dec128!(0.9848),	dec128!(-0.1763))]
#[case(dec128!(351),    dec128!(-0.1564),	dec128!(0.9877),	dec128!(-0.1584))]
#[case(dec128!(352),    dec128!(-0.1392),	dec128!(0.9903),	dec128!(-0.1405))]
#[case(dec128!(353),    dec128!(-0.1219),	dec128!(0.9925),	dec128!(-0.1228))]
#[case(dec128!(354),    dec128!(-0.1045),	dec128!(0.9945),	dec128!(-0.1051))]
#[case(dec128!(355),    dec128!(-0.0872),	dec128!(0.9962),	dec128!(-0.0875))]
#[case(dec128!(356),    dec128!(-0.0698),	dec128!(0.9976),	dec128!(-0.0699))]
#[case(dec128!(357),    dec128!(-0.0523),	dec128!(0.9986),	dec128!(-0.0524))]
#[case(dec128!(358),    dec128!(-0.0349),	dec128!(0.9994),	dec128!(-0.0349))]
#[case(dec128!(359),    dec128!(-0.0175),	dec128!(0.9998),	dec128!(-0.0175))]
#[case(dec128!(360),    dec128!(0),	        dec128!(1),       	dec128!(0))]
fn test_angles_360(#[case] angle: D128, #[case] sin: D128, #[case] cos: D128, #[case] tan: D128) {
    assert_eq!(angle.to_radians().sin().round(4), sin);
    assert_eq!(angle.to_radians().cos().round(4), cos);
    if !tan.is_infinite() {
        assert_eq!(angle.to_radians().tan().round(4), tan);
    }
}