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 }