Example #1
0
        public void TestDct1Norm()
        {
            float[] res     = new float[6];
            float[] resDct1 = { 0.83879343f, -0.06875f, 0.30898255f, -0.34007706f, 0.6170123f, 0.1488374f };

            var dct1 = new Dct1(8);

            dct1.DirectNorm(_test, res);

            Assert.That(res, Is.EqualTo(resDct1).Within(1e-5));
        }
Example #2
0
        public void TestIdct1()
        {
            float[] res     = new float[6];
            float[] resDct1 = { 3.9f, -0.13297488f, 0.6176292f, -1.14818776f, 1.77017102f, 0.68116264f };

            var dct1 = new Dct1(8);

            dct1.Inverse(_test, res);

            Assert.That(res, Is.EqualTo(resDct1).Within(1e-5));
        }
Example #3
0
        public void TestIdct1()
        {
            float[] res     = new float[8];
            float[] resDct1 = { 1.95f, -0.06648744f, 0.3088146f, -0.57409388f, 0.88508551f, 0.34058132f, 0.10609989f, -0.45f };

            var invdct = new Dct1(8, 8);

            invdct.Inverse(resDct1, res);

            Assert.That(res, Is.EqualTo(_test).Within(1e-5));
        }
Example #4
0
        public void TestDct1()
        {
            float[] res     = new float[6];
            float[] resDct1 = { 1.95f, -0.06648744f, 0.3088146f, -0.57409388f, 0.88508551f, 0.34058132f };

            var dct1 = new Dct1(8, 6);

            dct1.Direct(_test, res);

            Assert.That(res, Is.EqualTo(resDct1).Within(1e-5));
        }
Example #5
0
        /// <summary>
        /// Tests the express where-clause specified in param 'clause'
        /// </summary>
        /// <param name="clause">The express clause to test</param>
        /// <returns>true if the clause is satisfied.</returns>
        public bool ValidateClause(IfcDimensionCurveClause clause)
        {
            var retVal = false;

            try
            {
                switch (clause)
                {
                case IfcDimensionCurveClause.WR51:
                    retVal = Functions.SIZEOF(Functions.USEDIN(this, "IFC2X3.IFCDRAUGHTINGCALLOUT.CONTENTS")) >= 1;
                    break;

                case IfcDimensionCurveClause.WR52:
                    retVal = (Functions.SIZEOF(Functions.USEDIN(this, "IFC2X3." + "IFCTERMINATORSYMBOL.ANNOTATEDCURVE").Where(Dct1 => (Dct1.AsIfcDimensionCurveTerminator().Role == IfcDimensionExtentUsage.ORIGIN))) <= 1) && (Functions.SIZEOF(Functions.USEDIN(this, "IFC2X3." + "IFCTERMINATORSYMBOL.ANNOTATEDCURVE").Where(Dct2 => (Dct2.AsIfcDimensionCurveTerminator().Role == IfcDimensionExtentUsage.TARGET))) <= 1);
                    break;

                case IfcDimensionCurveClause.WR53:
                    retVal = Functions.SIZEOF(AnnotatedBySymbols.Where(Dct => !(Functions.TYPEOF(Dct).Contains("IFC2X3.IFCDIMENSIONCURVETERMINATOR")))) == 0;
                    break;
                }
            } catch (Exception ex) {
                var log = Validation.ValidationLogging.CreateLogger <Xbim.Ifc2x3.PresentationDimensioningResource.IfcDimensionCurve>();
                log?.LogError(string.Format("Exception thrown evaluating where-clause 'IfcDimensionCurve.{0}' for #{1}.", clause, EntityLabel), ex);
            }
            return(retVal);
        }