Last active
October 26, 2018 11:42
-
-
Save antonfirsov/9b1cf16ce2fe176c9240a55a758b0cb5 to your computer and use it in GitHub Desktop.
Gray* <-> Rgba32 Issues
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class GrayToRgba32Tests | |
{ | |
public GrayToRgba32Tests(ITestOutputHelper output) | |
{ | |
this.Output = output; | |
} | |
private ITestOutputHelper Output { get; } | |
[Fact] | |
public void Gray8_Rgba32_MightBeInaccurate() | |
{ | |
for (byte luminance = 0; luminance < 255; luminance++) | |
{ | |
var gray = new Gray8(luminance); | |
Rgba32 rgba = default; | |
rgba.FromGray8(gray); | |
Gray8 mirror = default; | |
mirror.FromRgba32(rgba); | |
if (gray != mirror) | |
{ | |
this.Output.WriteLine($"Oh no! {gray} != {mirror}"); | |
} | |
} | |
} | |
[Fact] | |
public void Gray16_Rgba32_MightBeInaccurate() | |
{ | |
for (ushort luminance = 0; luminance < ushort.MaxValue-256; luminance+= 256) | |
{ | |
var gray = new Gray16(luminance); | |
Rgba32 rgba = default; | |
rgba.FromGray16(gray); | |
Gray16 mirror = default; | |
mirror.FromRgba32(rgba); | |
if (gray != mirror) | |
{ | |
this.Output.WriteLine($"Oh no! {gray} != {mirror}"); | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oh no! Gray16(256) != Gray16(257) | |
Oh no! Gray16(512) != Gray16(514) | |
Oh no! Gray16(768) != Gray16(771) | |
Oh no! Gray16(1024) != Gray16(1028) | |
Oh no! Gray16(1280) != Gray16(1284) | |
Oh no! Gray16(1536) != Gray16(1542) | |
Oh no! Gray16(1792) != Gray16(1799) | |
Oh no! Gray16(2048) != Gray16(2056) | |
Oh no! Gray16(2304) != Gray16(2313) | |
Oh no! Gray16(2560) != Gray16(2569) | |
Oh no! Gray16(2816) != Gray16(2827) | |
Oh no! Gray16(3072) != Gray16(3084) | |
Oh no! Gray16(3328) != Gray16(3341) | |
Oh no! Gray16(3584) != Gray16(3598) | |
Oh no! Gray16(3840) != Gray16(3855) | |
Oh no! Gray16(4096) != Gray16(4112) | |
Oh no! Gray16(4352) != Gray16(4369) | |
Oh no! Gray16(4608) != Gray16(4626) | |
Oh no! Gray16(4864) != Gray16(4883) | |
Oh no! Gray16(5120) != Gray16(5139) | |
Oh no! Gray16(5376) != Gray16(5397) | |
Oh no! Gray16(5632) != Gray16(5654) | |
Oh no! Gray16(5888) != Gray16(5911) | |
Oh no! Gray16(6144) != Gray16(6168) | |
Oh no! Gray16(6400) != Gray16(6425) | |
Oh no! Gray16(6656) != Gray16(6682) | |
Oh no! Gray16(6912) != Gray16(6939) | |
Oh no! Gray16(7168) != Gray16(7196) | |
Oh no! Gray16(7424) != Gray16(7453) | |
Oh no! Gray16(7680) != Gray16(7710) | |
Oh no! Gray16(7936) != Gray16(7967) | |
Oh no! Gray16(8192) != Gray16(8224) | |
Oh no! Gray16(8448) != Gray16(8481) | |
Oh no! Gray16(8704) != Gray16(8738) | |
Oh no! Gray16(8960) != Gray16(8995) | |
Oh no! Gray16(9216) != Gray16(9252) | |
Oh no! Gray16(9472) != Gray16(9509) | |
Oh no! Gray16(9728) != Gray16(9766) | |
Oh no! Gray16(9984) != Gray16(10023) | |
Oh no! Gray16(10240) != Gray16(10279) | |
Oh no! Gray16(10496) != Gray16(10537) | |
Oh no! Gray16(10752) != Gray16(10794) | |
Oh no! Gray16(11008) != Gray16(11051) | |
Oh no! Gray16(11264) != Gray16(11308) | |
Oh no! Gray16(11520) != Gray16(11565) | |
Oh no! Gray16(11776) != Gray16(11822) | |
Oh no! Gray16(12032) != Gray16(12079) | |
Oh no! Gray16(12288) != Gray16(12336) | |
Oh no! Gray16(12544) != Gray16(12593) | |
Oh no! Gray16(12800) != Gray16(12850) | |
Oh no! Gray16(13056) != Gray16(13107) | |
Oh no! Gray16(13312) != Gray16(13364) | |
Oh no! Gray16(13568) != Gray16(13621) | |
Oh no! Gray16(13824) != Gray16(13878) | |
Oh no! Gray16(14080) != Gray16(14135) | |
Oh no! Gray16(14336) != Gray16(14392) | |
Oh no! Gray16(14592) != Gray16(14649) | |
Oh no! Gray16(14848) != Gray16(14906) | |
Oh no! Gray16(15104) != Gray16(15163) | |
Oh no! Gray16(15360) != Gray16(15420) | |
Oh no! Gray16(15616) != Gray16(15677) | |
Oh no! Gray16(15872) != Gray16(15934) | |
Oh no! Gray16(16128) != Gray16(16191) | |
Oh no! Gray16(16384) != Gray16(16448) | |
Oh no! Gray16(16640) != Gray16(16705) | |
Oh no! Gray16(16896) != Gray16(16962) | |
Oh no! Gray16(17152) != Gray16(17219) | |
Oh no! Gray16(17408) != Gray16(17476) | |
Oh no! Gray16(17664) != Gray16(17733) | |
Oh no! Gray16(17920) != Gray16(17990) | |
Oh no! Gray16(18176) != Gray16(18247) | |
Oh no! Gray16(18432) != Gray16(18504) | |
Oh no! Gray16(18688) != Gray16(18761) | |
Oh no! Gray16(18944) != Gray16(19018) | |
Oh no! Gray16(19200) != Gray16(19275) | |
Oh no! Gray16(19456) != Gray16(19532) | |
Oh no! Gray16(19712) != Gray16(19789) | |
Oh no! Gray16(19968) != Gray16(20046) | |
Oh no! Gray16(20224) != Gray16(20303) | |
Oh no! Gray16(20480) != Gray16(20559) | |
Oh no! Gray16(20736) != Gray16(20817) | |
Oh no! Gray16(20992) != Gray16(21074) | |
Oh no! Gray16(21248) != Gray16(21331) | |
Oh no! Gray16(21504) != Gray16(21588) | |
Oh no! Gray16(21760) != Gray16(21845) | |
Oh no! Gray16(22016) != Gray16(22102) | |
Oh no! Gray16(22272) != Gray16(22359) | |
Oh no! Gray16(22528) != Gray16(22616) | |
Oh no! Gray16(22784) != Gray16(22873) | |
Oh no! Gray16(23040) != Gray16(23130) | |
Oh no! Gray16(23296) != Gray16(23387) | |
Oh no! Gray16(23552) != Gray16(23644) | |
Oh no! Gray16(23808) != Gray16(23901) | |
Oh no! Gray16(24064) != Gray16(24158) | |
Oh no! Gray16(24320) != Gray16(24415) | |
Oh no! Gray16(24576) != Gray16(24672) | |
Oh no! Gray16(24832) != Gray16(24928) | |
Oh no! Gray16(25088) != Gray16(25186) | |
Oh no! Gray16(25344) != Gray16(25443) | |
Oh no! Gray16(25600) != Gray16(25700) | |
Oh no! Gray16(25856) != Gray16(25957) | |
Oh no! Gray16(26112) != Gray16(26214) | |
Oh no! Gray16(26368) != Gray16(26471) | |
Oh no! Gray16(26624) != Gray16(26728) | |
Oh no! Gray16(26880) != Gray16(26985) | |
Oh no! Gray16(27136) != Gray16(27242) | |
Oh no! Gray16(27392) != Gray16(27499) | |
Oh no! Gray16(27648) != Gray16(27756) | |
Oh no! Gray16(27904) != Gray16(28013) | |
Oh no! Gray16(28160) != Gray16(28270) | |
Oh no! Gray16(28416) != Gray16(28527) | |
Oh no! Gray16(28672) != Gray16(28784) | |
Oh no! Gray16(28928) != Gray16(29040) | |
Oh no! Gray16(29184) != Gray16(29298) | |
Oh no! Gray16(29440) != Gray16(29555) | |
Oh no! Gray16(29696) != Gray16(29812) | |
Oh no! Gray16(29952) != Gray16(30069) | |
Oh no! Gray16(30208) != Gray16(30326) | |
Oh no! Gray16(30464) != Gray16(30582) | |
Oh no! Gray16(30720) != Gray16(30840) | |
Oh no! Gray16(30976) != Gray16(31097) | |
Oh no! Gray16(31232) != Gray16(31354) | |
Oh no! Gray16(31488) != Gray16(31611) | |
Oh no! Gray16(31744) != Gray16(31868) | |
Oh no! Gray16(32000) != Gray16(32125) | |
Oh no! Gray16(32256) != Gray16(32382) | |
Oh no! Gray16(32512) != Gray16(32638) | |
Oh no! Gray16(32768) != Gray16(32896) | |
Oh no! Gray16(33024) != Gray16(32896) | |
Oh no! Gray16(33280) != Gray16(33153) | |
Oh no! Gray16(33536) != Gray16(33410) | |
Oh no! Gray16(33792) != Gray16(33667) | |
Oh no! Gray16(34048) != Gray16(33924) | |
Oh no! Gray16(34304) != Gray16(34181) | |
Oh no! Gray16(34560) != Gray16(34438) | |
Oh no! Gray16(34816) != Gray16(34695) | |
Oh no! Gray16(35072) != Gray16(34952) | |
Oh no! Gray16(35328) != Gray16(35209) | |
Oh no! Gray16(35584) != Gray16(35466) | |
Oh no! Gray16(35840) != Gray16(35723) | |
Oh no! Gray16(36096) != Gray16(35980) | |
Oh no! Gray16(36352) != Gray16(36237) | |
Oh no! Gray16(36608) != Gray16(36494) | |
Oh no! Gray16(36864) != Gray16(36751) | |
Oh no! Gray16(37120) != Gray16(37008) | |
Oh no! Gray16(37376) != Gray16(37264) | |
Oh no! Gray16(37632) != Gray16(37522) | |
Oh no! Gray16(37888) != Gray16(37779) | |
Oh no! Gray16(38144) != Gray16(38036) | |
Oh no! Gray16(38400) != Gray16(38293) | |
Oh no! Gray16(38656) != Gray16(38550) | |
Oh no! Gray16(38912) != Gray16(38807) | |
Oh no! Gray16(39168) != Gray16(39064) | |
Oh no! Gray16(39424) != Gray16(39321) | |
Oh no! Gray16(39680) != Gray16(39578) | |
Oh no! Gray16(39936) != Gray16(39835) | |
Oh no! Gray16(40192) != Gray16(40092) | |
Oh no! Gray16(40448) != Gray16(40349) | |
Oh no! Gray16(40704) != Gray16(40606) | |
Oh no! Gray16(40960) != Gray16(40863) | |
Oh no! Gray16(41216) != Gray16(41119) | |
Oh no! Gray16(41472) != Gray16(41376) | |
Oh no! Gray16(41728) != Gray16(41634) | |
Oh no! Gray16(41984) != Gray16(41891) | |
Oh no! Gray16(42240) != Gray16(42148) | |
Oh no! Gray16(42496) != Gray16(42405) | |
Oh no! Gray16(42752) != Gray16(42662) | |
Oh no! Gray16(43008) != Gray16(42919) | |
Oh no! Gray16(43264) != Gray16(43176) | |
Oh no! Gray16(43520) != Gray16(43433) | |
Oh no! Gray16(43776) != Gray16(43690) | |
Oh no! Gray16(44032) != Gray16(43947) | |
Oh no! Gray16(44288) != Gray16(44204) | |
Oh no! Gray16(44544) != Gray16(44461) | |
Oh no! Gray16(44800) != Gray16(44718) | |
Oh no! Gray16(45056) != Gray16(44975) | |
Oh no! Gray16(45312) != Gray16(45232) | |
Oh no! Gray16(45568) != Gray16(45489) | |
Oh no! Gray16(45824) != Gray16(45746) | |
Oh no! Gray16(46080) != Gray16(46003) | |
Oh no! Gray16(46336) != Gray16(46260) | |
Oh no! Gray16(46592) != Gray16(46516) | |
Oh no! Gray16(46848) != Gray16(46774) | |
Oh no! Gray16(47104) != Gray16(47030) | |
Oh no! Gray16(47360) != Gray16(47288) | |
Oh no! Gray16(47616) != Gray16(47545) | |
Oh no! Gray16(47872) != Gray16(47802) | |
Oh no! Gray16(48128) != Gray16(48059) | |
Oh no! Gray16(48384) != Gray16(48316) | |
Oh no! Gray16(48640) != Gray16(48573) | |
Oh no! Gray16(48896) != Gray16(48830) | |
Oh no! Gray16(49152) != Gray16(49087) | |
Oh no! Gray16(49408) != Gray16(49344) | |
Oh no! Gray16(49664) != Gray16(49601) | |
Oh no! Gray16(49920) != Gray16(49857) | |
Oh no! Gray16(50176) != Gray16(50115) | |
Oh no! Gray16(50432) != Gray16(50372) | |
Oh no! Gray16(50688) != Gray16(50629) | |
Oh no! Gray16(50944) != Gray16(50886) | |
Oh no! Gray16(51200) != Gray16(51142) | |
Oh no! Gray16(51456) != Gray16(51400) | |
Oh no! Gray16(51712) != Gray16(51657) | |
Oh no! Gray16(51968) != Gray16(51914) | |
Oh no! Gray16(52224) != Gray16(52171) | |
Oh no! Gray16(52480) != Gray16(52428) | |
Oh no! Gray16(52736) != Gray16(52685) | |
Oh no! Gray16(52992) != Gray16(52942) | |
Oh no! Gray16(53248) != Gray16(53199) | |
Oh no! Gray16(53504) != Gray16(53456) | |
Oh no! Gray16(53760) != Gray16(53713) | |
Oh no! Gray16(54016) != Gray16(53970) | |
Oh no! Gray16(54272) != Gray16(54227) | |
Oh no! Gray16(54528) != Gray16(54484) | |
Oh no! Gray16(54784) != Gray16(54741) | |
Oh no! Gray16(55040) != Gray16(54998) | |
Oh no! Gray16(55296) != Gray16(55254) | |
Oh no! Gray16(55552) != Gray16(55512) | |
Oh no! Gray16(55808) != Gray16(55769) | |
Oh no! Gray16(56064) != Gray16(56026) | |
Oh no! Gray16(56320) != Gray16(56283) | |
Oh no! Gray16(56576) != Gray16(56540) | |
Oh no! Gray16(56832) != Gray16(56797) | |
Oh no! Gray16(57088) != Gray16(57054) | |
Oh no! Gray16(57344) != Gray16(57311) | |
Oh no! Gray16(57600) != Gray16(57568) | |
Oh no! Gray16(57856) != Gray16(57825) | |
Oh no! Gray16(58112) != Gray16(58081) | |
Oh no! Gray16(58368) != Gray16(58339) | |
Oh no! Gray16(58624) != Gray16(58596) | |
Oh no! Gray16(58880) != Gray16(58853) | |
Oh no! Gray16(59136) != Gray16(59110) | |
Oh no! Gray16(59392) != Gray16(59367) | |
Oh no! Gray16(59648) != Gray16(59624) | |
Oh no! Gray16(59904) != Gray16(59881) | |
Oh no! Gray16(60160) != Gray16(60138) | |
Oh no! Gray16(60416) != Gray16(60395) | |
Oh no! Gray16(60672) != Gray16(60652) | |
Oh no! Gray16(60928) != Gray16(60909) | |
Oh no! Gray16(61184) != Gray16(61165) | |
Oh no! Gray16(61440) != Gray16(61423) | |
Oh no! Gray16(61696) != Gray16(61680) | |
Oh no! Gray16(61952) != Gray16(61937) | |
Oh no! Gray16(62208) != Gray16(62194) | |
Oh no! Gray16(62464) != Gray16(62451) | |
Oh no! Gray16(62720) != Gray16(62708) | |
Oh no! Gray16(62976) != Gray16(62965) | |
Oh no! Gray16(63232) != Gray16(63222) | |
Oh no! Gray16(63488) != Gray16(63478) | |
Oh no! Gray16(63744) != Gray16(63736) | |
Oh no! Gray16(64000) != Gray16(63992) | |
Oh no! Gray16(64256) != Gray16(64250) | |
Oh no! Gray16(64512) != Gray16(64507) | |
Oh no! Gray16(64768) != Gray16(64764) | |
Oh no! Gray16(65024) != Gray16(65021) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oh no! Gray8(13) != Gray8(12) | |
Oh no! Gray8(26) != Gray8(25) | |
Oh no! Gray8(31) != Gray8(30) | |
Oh no! Gray8(47) != Gray8(46) | |
Oh no! Gray8(52) != Gray8(51) | |
Oh no! Gray8(57) != Gray8(56) | |
Oh no! Gray8(62) != Gray8(61) | |
Oh no! Gray8(91) != Gray8(90) | |
Oh no! Gray8(94) != Gray8(93) | |
Oh no! Gray8(101) != Gray8(100) | |
Oh no! Gray8(104) != Gray8(103) | |
Oh no! Gray8(111) != Gray8(110) | |
Oh no! Gray8(114) != Gray8(113) | |
Oh no! Gray8(124) != Gray8(123) | |
Oh no! Gray8(182) != Gray8(181) | |
Oh no! Gray8(185) != Gray8(184) | |
Oh no! Gray8(188) != Gray8(187) | |
Oh no! Gray8(202) != Gray8(201) | |
Oh no! Gray8(208) != Gray8(207) | |
Oh no! Gray8(222) != Gray8(221) | |
Oh no! Gray8(228) != Gray8(227) | |
Oh no! Gray8(243) != Gray8(242) | |
Oh no! Gray8(248) != Gray8(247) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment