00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 #include <mln/value/graylevel.hh>
00027 #include <mln/value/glf.hh>
00028 #include <mln/value/gl8.hh>
00029 #include <mln/value/gl16.hh>
00030 #include <mln/literal/all.hh>
00031 
00032 
00033 int main()
00034 {
00035   using namespace mln;
00036   using value::glf;
00037   using value::gl8;
00038   using value::gl16;
00039   using value::graylevel;
00040 
00041   using literal::black;
00042   using literal::medium_gray;
00043   using literal::white;
00044 
00045   
00046   {
00047     glf a;
00048 
00049     glf b = 0.42;
00050     mln_assertion(b.value() == 0.42f);
00051 
00052     glf c = 0.42;
00053     mln_assertion(c.value() == 0.42f);
00054 
00055     glf d = c;
00056     mln_assertion(d.value() == 0.42f);
00057 
00058     glf e = 0;
00059     mln_assertion(e.value() == 0.f);
00060 
00061     graylevel<24> f = mlc_pow_int(2, 24) - 1;
00062     glf g = f;
00063     mln_assertion(g.value() == 1.f);
00064 
00065     graylevel<24> h = 0;
00066     glf i = h;
00067     mln_assertion(i.value() == 0.f);
00068   }
00069 
00070   
00071   {
00072     glf a(white);
00073     mln_assertion(a == glf(white));
00074     mln_assertion(a.value() == 1.f);
00075     glf d = white;
00076     mln_assertion(d == glf(white));
00077     mln_assertion(d.value() == 1.f);
00078 
00079     glf b(black);
00080     mln_assertion(b == glf(black));
00081     mln_assertion(b.value() == 0.f);
00082     glf e = black;
00083     mln_assertion(e == glf(black));
00084     mln_assertion(e.value() == 0.f);
00085 
00086     glf c(medium_gray);
00087     mln_assertion(c == glf(medium_gray));
00088     mln_assertion(c.value() == 0.5f);
00089     glf f = medium_gray;
00090     mln_assertion(f == glf(medium_gray));
00091     mln_assertion(f.value() == 0.5f);
00092   }
00093 
00094   
00095 }