Beispiel #1
0
        public void ColorRGBAHF_Accessor()
        {
            Random    random = new Random();
            HalfFloat r      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat g      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat b      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat a      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);

            ColorRGBAHF v = new ColorRGBAHF(r, g, b, a);
            float       c;

            Assert.DoesNotThrow(() => c = v[0]);
            Assert.DoesNotThrow(() => c = v[1]);
            Assert.DoesNotThrow(() => c = v[2]);
            Assert.DoesNotThrow(() => c = v[3]);
            Assert.Throws <IndexOutOfRangeException>(() => c = v[+4]);
            Assert.Throws <IndexOutOfRangeException>(() => c = v[-1]);

            Assert.DoesNotThrow(() => v[0] = 1.0f);
            Assert.DoesNotThrow(() => v[1] = 1.0f);
            Assert.DoesNotThrow(() => v[2] = 1.0f);
            Assert.DoesNotThrow(() => v[3] = 1.0f);
            Assert.Throws <IndexOutOfRangeException>(() => v[+4] = 0.0f);
            Assert.Throws <IndexOutOfRangeException>(() => v[-1] = 0.0f);

            Assert.DoesNotThrow(() => v[3] = 0.0f);
            Assert.DoesNotThrow(() => v[3] = 1.0f);
            Assert.Throws <InvalidOperationException>(() => v[3] = -1.0f);
            Assert.Throws <InvalidOperationException>(() => v[3] = +1.1f);
        }
Beispiel #2
0
        public void ColorBGRHF_Accessor()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorBGRHF v = new ColorBGRHF(r, g, b);
            float      c;

            Assert.DoesNotThrow(() => c = v[0]);
            Assert.DoesNotThrow(() => c = v[1]);
            Assert.DoesNotThrow(() => c = v[2]);
            Assert.Throws <IndexOutOfRangeException>(() => c = v[+3]);
            Assert.Throws <IndexOutOfRangeException>(() => c = v[-1]);

            Assert.DoesNotThrow(() => v[0] = 1.0f);
            Assert.DoesNotThrow(() => v[1] = 1.0f);
            Assert.DoesNotThrow(() => v[2] = 1.0f);
            Assert.Throws <IndexOutOfRangeException>(() => v[+3] = 0.0f);
            Assert.Throws <IndexOutOfRangeException>(() => v[-1] = 0.0f);

            Assert.DoesNotThrow(() => v[2] = 0.0f);
            Assert.DoesNotThrow(() => v[2] = 1.0f);
            Assert.Throws <InvalidOperationException>(() => v[2] = -1.0f);
            Assert.Throws <InvalidOperationException>(() => v[2] = +1.1f);
        }
Beispiel #3
0
        public CalcItem(byte[] data, int offset)
        {
            this.IsValid = false;
            if (data[offset] == 0xff)
            {
                return;
            }
            this.Gear = data[offset] & 0x03; //档位
            int freqIndex = (data[offset] >> 4) & 0x0f;

            this.Freq = 0;
            if (freqIndex < FreqList.Length)
            {
                this.Freq = FreqList[freqIndex];
            }
            float[]  fd = new float[1];
            ushort[] sd = new ushort[] { BitConverter.ToUInt16(data, offset + 1) };
            HalfFloat.Halfp2Singles(fd, sd, 1);
            this.CoeffK = fd[0];
            sd          = new ushort[] { BitConverter.ToUInt16(data, offset + 3) };
            HalfFloat.Halfp2Singles(fd, sd, 1);
            this.CoeffB = fd[0];

            this.IsValid = true;
        }
Beispiel #4
0
        private void button1_Click(object sender, EventArgs e)
        {
            float[] ff = new float[1];

            HalfFloat.Halfp2Singles(ff, new ushort[] { (ushort)0x33cd }, 1);

            Console.WriteLine();
        }
Beispiel #5
0
        public void ColorRGBHF_CastToRGBA()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorRGBHF  v     = new ColorRGBHF(r, g, b);
            ColorRGBAHF vRGBA = v;
        }
Beispiel #6
0
        public void ColorBGRHF_PixelType()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorBGRHF v = new ColorBGRHF(r, g, b);

            Assert.AreNotEqual(PixelLayout.None, v.PixelType);
        }
Beispiel #7
0
        public void ColorRGBHF_PixelType()
        {
            Random    random = new Random();
            HalfFloat r      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat g      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat b      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);

            ColorRGBHF v = new ColorRGBHF(r, g, b);

            Assert.AreNotEqual(PixelLayout.None, v.PixelType);
        }
Beispiel #8
0
        public void ColorRGBAHF_GetHashCode()
        {
            HalfFloat r = (HalfFloat)NextComponent(HalfFloat.MaxValue);
            HalfFloat g = (HalfFloat)NextComponent(HalfFloat.MaxValue);
            HalfFloat b = (HalfFloat)NextComponent(HalfFloat.MaxValue);
            HalfFloat a = (HalfFloat)NextComponent(HalfFloat.MaxValue);

            ColorRGBAHF v = new ColorRGBAHF(r, g, b, a);

            Assert.DoesNotThrow(() => v.GetHashCode());
        }
Beispiel #9
0
        public void ColorBGRHF_TestConstructor1()
        {
            HalfFloat r = (HalfFloat)(HalfFloat)1.0f;
            HalfFloat g = (HalfFloat)(HalfFloat)1.0f;
            HalfFloat b = (HalfFloat)(HalfFloat)1.0f;

            ColorBGRHF v = new ColorBGRHF(r, g, b);

            Assert.AreEqual(r, v.Red);
            Assert.AreEqual(g, v.Green);
            Assert.AreEqual(b, v.Blue);
        }
Beispiel #10
0
        public void ColorBGRHF_CastToVertex4()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorBGRHF v      = new ColorBGRHF(r, g, b);
            Vertex3hf  vArray = v;

            Assert.AreEqual(b, vArray.x);
            Assert.AreEqual(g, vArray.y);
            Assert.AreEqual(r, vArray.z);
        }
Beispiel #11
0
        public void ColorRGBAHF_TestConstructor1()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorRGBAHF v = new ColorRGBAHF(r, g, b);

            Assert.AreEqual(r, v.r);
            Assert.AreEqual(g, v.g);
            Assert.AreEqual(b, v.b);
            Assert.AreEqual((HalfFloat)1.0f, v.a);
        }
Beispiel #12
0
        public void ColorRGBHF_CastToVertex4()
        {
            Random    random = new Random();
            HalfFloat r      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat g      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat b      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);

            ColorRGBHF v      = new ColorRGBHF(r, g, b);
            Vertex3hf  vArray = v;

            Assert.AreEqual(r, vArray.x);
            Assert.AreEqual(g, vArray.y);
            Assert.AreEqual(b, vArray.z);
        }
Beispiel #13
0
        public void ColorBGRAHF_TestConstructor1()
        {
            Random    random = new Random();
            HalfFloat r      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat g      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat b      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);

            ColorBGRAHF v = new ColorBGRAHF(r, g, b);

            Assert.AreEqual(r, v.r);
            Assert.AreEqual(g, v.g);
            Assert.AreEqual(b, v.b);
            Assert.AreEqual((HalfFloat)1.0f, v.a);
        }
Beispiel #14
0
        public void ColorBGRHF_CastToBGRA()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorBGRHF  v     = new ColorBGRHF(r, g, b);
            ColorBGRAHF vBGRA = v;

            Assert.AreEqual(v.Red, vBGRA.Red);
            Assert.AreEqual(v.Green, vBGRA.Green);
            Assert.AreEqual(v.Blue, vBGRA.Blue);
            Assert.AreEqual((HalfFloat)1.0f, vBGRA.Alpha);
        }
Beispiel #15
0
        public void ColorBGRHF_CastToArray()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorBGRHF v = new ColorBGRHF(r, g, b);

            HalfFloat[] vArray = v;

            Assert.AreEqual(3, vArray.Length);
            Assert.AreEqual(b, vArray[0]);
            Assert.AreEqual(g, vArray[1]);
            Assert.AreEqual(r, vArray[2]);
        }
Beispiel #16
0
        public void ColorRGBHF_CastToRGBA()
        {
            Random    random = new Random();
            HalfFloat r      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat g      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat b      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);

            ColorRGBHF  v     = new ColorRGBHF(r, g, b);
            ColorRGBAHF vRGBA = v;

            Assert.AreEqual(v.Red, vRGBA.Red);
            Assert.AreEqual(v.Green, vRGBA.Green);
            Assert.AreEqual(v.Blue, vRGBA.Blue);
            Assert.AreEqual((HalfFloat)1.0f, vRGBA.Alpha);
        }
Beispiel #17
0
        public void ColorRGBAHF_Multiply()
        {
            HalfFloat r = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat g = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat b = (HalfFloat)NextComponent((HalfFloat)1.0f);
            HalfFloat a = (HalfFloat)NextComponent((HalfFloat)1.0f);

            ColorRGBAHF v = new ColorRGBAHF(r, g, b, a);
            ColorRGBAHF c = v * 0.5f;

            c = c * 2.0f;

            Assert.AreEqual(c.r, v.r, 1.0);
            Assert.AreEqual(c.g, v.g, 1.0);
            Assert.AreEqual(c.b, v.b, 1.0);
            Assert.AreEqual(c.a, v.a, 1.0);
        }
Beispiel #18
0
        public void ColorRGBAHF_CastToArray()
        {
            Random    random = new Random();
            HalfFloat r      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat g      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat b      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);
            HalfFloat a      = (HalfFloat)NextComponent(random, (HalfFloat)1.0f);

            ColorRGBAHF v = new ColorRGBAHF(r, g, b, a);

            HalfFloat[] vArray = v;

            Assert.AreEqual(4, vArray.Length);
            Assert.AreEqual(r, vArray[0]);
            Assert.AreEqual(g, vArray[1]);
            Assert.AreEqual(b, vArray[2]);
            Assert.AreEqual(a, vArray[3]);
        }
Beispiel #19
0
 public Vector3h(float x, float y, float z)
 {
     this.x = (HalfFloat)x;
     this.y = (HalfFloat)y;
     this.z = (HalfFloat)z;
 }
Beispiel #20
0
 public Vector2h(Vector3 vec)
 {
     this.x = (HalfFloat)vec.x;
     this.y = (HalfFloat)vec.y;
 }
Beispiel #21
0
 public static float _vh2f_1(uint a) => HalfFloat.ToFloat((int)BitUtils.Extract(a, 16, 16));
Beispiel #22
0
 public static uint _vf2h_impl(float a, float b) =>
 (uint)((HalfFloat.FloatToHalfFloat(b) << 16) | (HalfFloat.FloatToHalfFloat(a) << 0));
Beispiel #23
0
 public Vector3h(Vector3 vec)
 {
     this.x = (HalfFloat)vec.x;
     this.y = (HalfFloat)vec.y;
     this.z = (HalfFloat)vec.z;
 }
Beispiel #24
0
 public Vector2h(float x, float y)
 {
     this.x = (HalfFloat)x;
     this.y = (HalfFloat)y;
 }