예제 #1
0
        public void NativeTestsDBG(TestInput input)
        {
            float plb_med__db = 0;
            float plb_pts__db = 0;      // positive two sigmas loss
            float plb_nts__db = 0;      // negative two sigmas loss

            float median = 0.5f;
            float pts    = 0.977f;      // positive two sigmas
            float nts    = 0.032f;      // nagative two sigmas

            InterValues intervalues = new InterValues();

            float[] pfl = input.pfl.ToArray();

            EHATA_DBG(pfl, input.f__mhz, input.h_b__meter, input.h_m__meter, input.enviro_code, median, ref plb_med__db, ref intervalues);

            Assert.Equal(input.expected_plb, plb_med__db, PRECISION);

            // These following two tests are simply basic sanity checks - not validation against any numerical results

            EHATA(pfl, input.f__mhz, input.h_b__meter, input.h_m__meter, input.enviro_code, pts, ref plb_pts__db);

            Assert.True(plb_pts__db > plb_med__db);

            EHATA(pfl, input.f__mhz, input.h_b__meter, input.h_m__meter, input.enviro_code, nts, ref plb_nts__db);

            Assert.True(plb_nts__db < plb_med__db);
        }
예제 #2
0
 private static extern void EHATA_DBG(float[] pfl, float f__mhz, float h_b__meter, float h_m__meter, int enviro_code, float reliability, ref float plb, ref InterValues intervalues);