Exemplo n.º 1
0
        public void PaddingOperatorTest()
        {
            Padding pad = new Padding(0);

            Assert.AreEqual(Padding.Empty, pad, "#A1");

            Padding pad1 = new Padding(2, 4, 6, 8);
            Padding pad2 = new Padding(5, 5, 10, 11);
            Padding pad3 = pad1 + pad2;

            Assert.AreEqual(-1, pad3.All, "#B1");
            Assert.AreEqual("{Left=7,Top=9,Right=16,Bottom=19}", pad3.ToString(), "#B2");

            pad3 = Padding.Add(pad1, pad2);
            Assert.AreEqual(-1, pad3.All, "#C1");
            Assert.AreEqual("{Left=7,Top=9,Right=16,Bottom=19}", pad3.ToString(), "#C2");

            Padding pad4 = pad3 - pad1;

            Assert.AreEqual(-1, pad4.All, "#D1");
            Assert.AreEqual("{Left=5,Top=5,Right=10,Bottom=11}", pad4.ToString(), "#D2");

            pad4 = Padding.Subtract(pad3, pad1);
            Assert.AreEqual(-1, pad4.All, "#E1");
            Assert.AreEqual("{Left=5,Top=5,Right=10,Bottom=11}", pad4.ToString(), "#E2");
        }
Exemplo n.º 2
0
        public override void Serialize(XmlDocument dom, XmlElement node)
        {
            //
            node.SetAttribute("type", GetTypeID());
            node.SetAttribute("x", this.Bounds.X.ToString());
            node.SetAttribute("y", this.Bounds.Y.ToString());
            node.SetAttribute("width", this.Bounds.Width.ToString());
            node.SetAttribute("height", this.Bounds.Height.ToString());

            if (CustomWidth.HasValue)
            {
                node.SetAttribute("custom_width", CustomWidth.Value.ToString());
            }
            if (CustomHeight.HasValue)
            {
                node.SetAttribute("custom_height", CustomHeight.Value.ToString());
            }

            node.SetAttribute("align", Alignment.ToString());
            node.SetAttribute("hyperlink", Hyperlink);
            node.SetAttribute("display_index", DisplayIndex.ToString());
            node.SetAttribute("padding", Padding.ToString());
            if (!string.IsNullOrEmpty(Text))
            {
                ST.WriteTextNode(node, "text", Text);
            }
        }
Exemplo n.º 3
0
            protected override void FillStyleAttributes(System.Web.UI.CssStyleCollection attributes, System.Web.UI.IUrlResolutionService urlResolver)
            {
                if (!string.IsNullOrEmpty(Position))
                {
                    attributes[HtmlTextWriterStyle.Position] = Position;
                }
                if (!string.IsNullOrEmpty(Visibility))
                {
                    attributes[HtmlTextWriterStyle.Visibility] = Visibility;
                }
                if (!Left.IsEmpty)
                {
                    attributes[HtmlTextWriterStyle.Left] = Left.ToString();
                }
                if (!Top.IsEmpty)
                {
                    attributes[HtmlTextWriterStyle.Top] = Top.ToString();
                }

                if (!string.IsNullOrEmpty(Margin))
                {
                    attributes[HtmlTextWriterStyle.Margin] = Margin.ToString();
                }
                if (!string.IsNullOrEmpty(Padding))
                {
                    attributes[HtmlTextWriterStyle.Padding] = Padding.ToString();
                }
                if (!string.IsNullOrEmpty(ListStyle))
                {
                    attributes["list-style"] = ListStyle.ToString();
                }
                if (!string.IsNullOrEmpty(Float))
                {
                    attributes["float"] = Float.ToString();
                }
                if (!string.IsNullOrEmpty(Display))
                {
                    attributes[HtmlTextWriterStyle.Display] = Display.ToString();
                }
                if (!string.IsNullOrEmpty(Cursor))
                {
                    attributes[HtmlTextWriterStyle.Cursor] = Cursor.ToString();
                }



                base.FillStyleAttributes(attributes, urlResolver);

                string[] filter = new string[] { "left", "right", "top", "bottom", "width", "height", "margin-left", "margin-right", "margin-top", "margin-bottom" };
                foreach (string f in filter)
                {
                    if (!string.IsNullOrEmpty(attributes[f]))
                    {
                        attributes[f] = attributes[f].Replace(",", ".");
                    }
                }
            }
Exemplo n.º 4
0
        public void PaddingPropertiesTest()
        {
            Padding pad = new Padding();

            Assert.AreEqual(-1, pad.All, "#A1");
            Assert.AreEqual(0, pad.Top, "#A2");
            Assert.AreEqual(0, pad.Left, "#A3");
            Assert.AreEqual(0, pad.Right, "#A4");
            Assert.AreEqual(0, pad.Bottom, "#A5");
            Assert.AreEqual(0, pad.Horizontal, "#A6");
            Assert.AreEqual(0, pad.Vertical, "#A7");
            Assert.AreEqual("{Left=0,Top=0,Right=0,Bottom=0}", pad.ToString(), "#A8");
            Assert.AreEqual(new Size(0, 0), pad.Size, "#A9");

            Padding pad2 = new Padding(5);

            Assert.AreEqual(5, pad2.All, "#B1");
            Assert.AreEqual(5, pad2.Top, "#B2");
            Assert.AreEqual(5, pad2.Left, "#B3");
            Assert.AreEqual(5, pad2.Right, "#B4");
            Assert.AreEqual(5, pad2.Bottom, "#B5");
            Assert.AreEqual(10, pad2.Horizontal, "#B6");
            Assert.AreEqual(10, pad2.Vertical, "#B7");
            Assert.AreEqual("{Left=5,Top=5,Right=5,Bottom=5}", pad2.ToString(), "#B8");
            Assert.AreEqual(new Size(10, 10), pad2.Size, "#B9");

            Padding pad3 = new Padding(5, 5, 10, 10);

            Assert.AreEqual(-1, pad3.All, "#C1");
            Assert.AreEqual(5, pad3.Top, "#C2");
            Assert.AreEqual(5, pad3.Left, "#C3");
            Assert.AreEqual(10, pad3.Right, "#C4");
            Assert.AreEqual(10, pad3.Bottom, "#C5");
            Assert.AreEqual(15, pad3.Horizontal, "#C6");
            Assert.AreEqual(15, pad3.Vertical, "#C7");
            Assert.AreEqual("{Left=5,Top=5,Right=10,Bottom=10}", pad3.ToString(), "#C8");
            Assert.AreEqual(new Size(15, 15), pad3.Size, "#C9");

            Padding pad4 = new Padding(10, 10, 10, 10);

            Assert.AreEqual(10, pad4.All, "#D1");

            Padding pad5 = Padding.Empty;

            Assert.AreEqual(0, pad5.All, "#E1");
            Assert.AreEqual(0, pad5.Top, "#E2");
            Assert.AreEqual(0, pad5.Left, "#E3");
            Assert.AreEqual(0, pad5.Right, "#E4");
            Assert.AreEqual(0, pad5.Bottom, "#E5");
            Assert.AreEqual(0, pad5.Horizontal, "#E6");
            Assert.AreEqual(0, pad5.Vertical, "#E7");
            Assert.AreEqual("{Left=0,Top=0,Right=0,Bottom=0}", pad5.ToString(), "#E8");
            Assert.AreEqual(new Size(0, 0), pad5.Size, "#E9");
        }
Exemplo n.º 5
0
            public override void AddAttributesToRender(System.Web.UI.HtmlTextWriter writer, System.Web.UI.WebControls.WebControl owner)
            {
                if (!string.IsNullOrEmpty(Position))
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Position, Position);
                }
                if (!string.IsNullOrEmpty(Visibility))
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Visibility, Visibility);
                }
                if (!Left.IsEmpty)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Left, Left.ToString());
                }
                if (!Top.IsEmpty)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Top, Top.ToString());
                }

                if (!string.IsNullOrEmpty(Margin))
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Margin, Margin.ToString());
                }
                if (!string.IsNullOrEmpty(Padding))
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, Padding.ToString());
                }
                if (!string.IsNullOrEmpty(ListStyle))
                {
                    writer.AddStyleAttribute("list-style", ListStyle.ToString());
                }
                if (!string.IsNullOrEmpty(Float))
                {
                    writer.AddStyleAttribute("float", Float.ToString());
                }

                if (!string.IsNullOrEmpty(Display))
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Display, Display.ToString());
                }

                if (!string.IsNullOrEmpty(Cursor))
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Cursor, Cursor.ToString());
                }

                base.AddAttributesToRender(writer, owner);
            }
Exemplo n.º 6
0
        protected override void OnPlanning(GraphPlanContext context)
        {
            var graph   = context.TFGraph;
            var input   = context.TFOutputs[Input.Connection.From];
            var weights = Weights.ToHWIO();
            var bias    = Bias?.ToNHWC();

            var y = graph.Conv2D(input, graph.Const(weights),
                                 new long[] { 1, StrideHeight, StrideWidth, 1 }, Padding.ToString().ToUpperInvariant());

            if (bias != null)
            {
                y = graph.BiasAdd(y, graph.Const(bias));
            }
            context.TFOutputs[Output] = graph.AddActivation(y, FusedActivationFunction);
        }
Exemplo n.º 7
0
        public string ToString(Theme t)
        {
            var a = new StylesheetStringBuilder();

            a.AppendAttribute("background-color", t.ResolveColor(BackgroundColor));
            a.AppendAttribute("background-image", BackgroundImage);
            a.AppendAttribute("width", Width);
            a.AppendAttribute("height", Height);
            if (null != Margin && !Margin.IsEmpty)
            {
                a.AppendAttribute("margin", Margin.ToString());
            }
            if (null != Padding && !Padding.IsEmpty)
            {
                a.AppendAttribute("padding", Padding.ToString());
            }
            if (ThemeBorder.AreSame(BorderTop, BorderBottom, BorderLeft, BorderRight))
            {
                a.AppendAttribute("border", BorderTop.ToString(t));
            }
            else
            {
                if (null != BorderTop && !BorderTop.IsEmpty)
                {
                    a.AppendAttribute("border-top", BorderTop.ToString(t));
                }
                if (null != BorderBottom && !BorderBottom.IsEmpty)
                {
                    a.AppendAttribute("border-bottom", BorderBottom.ToString(t));
                }
                if (null != BorderLeft && !BorderLeft.IsEmpty)
                {
                    a.AppendAttribute("border-left", BorderLeft.ToString(t));
                }
                if (null != BorderRight && !BorderRight.IsEmpty)
                {
                    a.AppendAttribute("border-right", BorderRight.ToString(t));
                }
            }
            return(a.ToString());
        }
Exemplo n.º 8
0
 /// <summary>
 /// Writes the layer as XML
 /// </summary>
 /// <param name="writer">The XML writer</param>
 public void WriteTo(XmlWriter writer)
 {
     writer.WriteStartElement("bidirectional-network");
     writer.WriteAttributeString("padding", Padding.ToString());
     if (Layer != null)
     {
         foreach (var layer in Layer)
         {
             layer.WriteTo(writer);
         }
     }
     if (ForwardMemory != null)
     {
         ForwardMemory.WriteTo("forward-memory", writer);
     }
     if (BackwardMemory != null)
     {
         BackwardMemory.WriteTo("backward-memory", writer);
     }
     writer.WriteEndElement();
 }
Exemplo n.º 9
0
        public static byte[] Compile(string PathToVisualStudio, UInt32 Origin, CodeType CodeType, string ArmCodeFragment)
        {
            if (PathToVisualStudio.Length == 0)
            {
                Output = "ARM SDK is missing.";
                return(null);
            }

            string AssemblyFilePath  = Path.GetTempFileName();
            string ObjectFilePathTmp = Path.GetTempFileName();
            string ObjectFilePath    = ObjectFilePathTmp.Replace(".tmp", ".obj");

            File.Move(ObjectFilePathTmp, ObjectFilePath);

            string CodeTypeDirective = null;

            switch (CodeType)
            {
            case Patcher.CodeType.ARM:
                CodeTypeDirective = "CODE32";
                break;

            case Patcher.CodeType.Thumb:
                CodeTypeDirective = "CODE16";
                break;

            case Patcher.CodeType.Thumb2:
                CodeTypeDirective = "THUMB";
                break;
            }

            string FullAssemblyCode =
                " AREA ARM_AREA, CODE, READONLY" + Environment.NewLine +
                " " + CodeTypeDirective + Environment.NewLine;

            UInt32 Padding;
            string ProcessedAssembly = ProcessArmCodeFragment(ArmCodeFragment, Origin, out Padding);

            if (Padding > 0)
            {
                FullAssemblyCode += " SPACE " + Padding.ToString() + Environment.NewLine;
            }

            FullAssemblyCode +=
                "start" + Environment.NewLine +
                ProcessedAssembly;

            FullAssemblyCode += " end" + Environment.NewLine;

            File.WriteAllText(AssemblyFilePath, FullAssemblyCode);

            ProcessStartInfo psi = new ProcessStartInfo(Path.Combine(PathToVisualStudio, @"VC\bin\x86_arm\armasm.exe"));

            psi.EnvironmentVariables["PATH"] += ";" + Path.Combine(PathToVisualStudio, @"Common7\IDE\");
            psi.EnvironmentVariables["PATH"] += ";" + Path.Combine(PathToVisualStudio, @"Common7\Tools\");
            psi.EnvironmentVariables["PATH"] += ";" + Path.Combine(PathToVisualStudio, @"VC\bin\");
            psi.EnvironmentVariables["PATH"] += ";" + Path.Combine(PathToVisualStudio, @"VC\bin\x86_arm\");
            psi.UseShellExecute        = false;
            psi.RedirectStandardOutput = true;
            psi.CreateNoWindow         = true;
            psi.Arguments = "-g \"" + AssemblyFilePath + "\" \"" + ObjectFilePath + "\"";
            Process ArmAsmProcess = Process.Start(psi);

            ArmAsmProcess.WaitForExit();
            LastErrorCode = ArmAsmProcess.ExitCode;
            if (ArmAsmProcess.ExitCode != 0)
            {
                using (StreamReader reader = ArmAsmProcess.StandardOutput)
                {
                    Output = reader.ReadToEnd();

                    string[] Lines = Output.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);

                    Output = "";

                    foreach (string Line in Lines)
                    {
                        string Out = Line.Trim();
                        if (Out.Length == 0)
                        {
                            continue;
                        }
                        if (Out.StartsWith("Microsoft (R) ARM Macro Assembler"))
                        {
                            continue;
                        }
                        if (Out.StartsWith("Copyright (C) Microsoft Corporation"))
                        {
                            continue;
                        }
                        if (Out.StartsWith(AssemblyFilePath))
                        {
                            Out = Out.Substring(AssemblyFilePath.Length);
                            int P = Out.IndexOf(':');
                            Out = Out.Substring(P + 1).Trim();
                        }
                        Output += Out + Environment.NewLine;
                    }
                }
            }

            byte[] Result = null;

            if (LastErrorCode == 0)
            {
                Result = COFF.ObjectFileParser.ParseObjectFile(ObjectFilePath).SectionHeaders.Where(h => h.Name == "ARM_AREA").First().RawData;
            }

            File.Delete(AssemblyFilePath);
            File.Delete(ObjectFilePath);

            if ((Result != null) && (Padding > 0))
            {
                byte[] RemovedPadding = new byte[Result.Length - Padding];
                Buffer.BlockCopy(Result, (int)Padding, RemovedPadding, 0, RemovedPadding.Length);
                Result = RemovedPadding;
            }

            return(Result);
        }
Exemplo n.º 10
0
        public void Padding_ToString_InvokeAll_ReturnsExpected()
        {
            var padding = new Padding(1);

            Assert.Equal("{Left=1,Top=1,Right=1,Bottom=1}", padding.ToString());
        }
Exemplo n.º 11
0
        public void Padding_ToString_Invoke_ReturnsExpected()
        {
            var padding = new Padding(1, 2, 3, 4);

            Assert.Equal("{Left=1,Top=2,Right=3,Bottom=4}", padding.ToString());
        }
Exemplo n.º 12
0
        protected override void OnPlanning(GraphPlanContext context)
        {
            var graph = context.TFGraph;
            var input = context.TFOutputs[Input.Connection.From];

            context.TFOutputs[Output] = graph.AddActivation(graph.AvgPool(input, new long[] { 1, FilterHeight, FilterWidth, 1 },
                                                                          new long[] { 1, StrideHeight, StrideWidth, 1 }, Padding.ToString().ToUpperInvariant()), FusedActivationFunction);
        }
Exemplo n.º 13
0
        public string Canonicalize()
        {
            var sb = StringBuilderCache.Aquire();

            sb.Append("blob#" + Source.Key);

            if (Expires != null)
            {
                sb.Append("|>expires(");
                sb.Append(new DateTimeOffset(Expires.Value).ToUnixTimeSeconds());
                sb.Append(')');
            }

            if (Encode.Format == FormatId.Json && Metadata != null)
            {
                sb.Append("|>");
                Metadata.WriteTo(sb);
                sb.Append("|>");
                Encode.WriteTo(sb);

                return(sb.ToString());
            }

            if (Extract is ExtractFilter extract)
            {
                sb.Append("|>");

                // frame | page | timestamp
                sb.Append(extract.ToString());
            }

            if (Background != null)
            {
                sb.Append("|>background(");
                sb.Append(Background);
                sb.Append(')');
            }

            if (Flip != null)
            {
                sb.Append("|>");

                Flip.WriteTo(sb);
            }

            if (Rotate != 0)
            {
                sb.Append("|>rotate(");
                sb.Append(Rotate);
                sb.Append("deg)");
            }

            if (Crop is Rectangle crop)
            {
                sb.Append("|>");
                sb.Append($"crop({crop.X},{crop.Y},{crop.Width},{crop.Height})");
            }

            if (Scale != null)
            {
                sb.Append("|>");

                Scale.WriteTo(sb);
            }

            // pad(0,0)

            if (!Padding.Equals(Padding.Zero))
            {
                sb.Append("|>");
                sb.Append("pad(");
                sb.Append(Padding.ToString());
                sb.Append(")");
            }

            foreach (var filter in Filters)
            {
                sb.Append("|>");

                if (filter is ICanonicalizable canonicalizable)
                {
                    canonicalizable.WriteTo(sb);
                }
                else
                {
                    sb.Append(filter.Canonicalize());
                }
            }

            sb.Append("|>");

            Encode.WriteTo(sb);

            if (IsDebug)
            {
                sb.Append("|>debug");
            }

            return(StringBuilderCache.ExtractAndRelease(sb));
        }
Exemplo n.º 14
0
        public string ToTransformPath()
        {
            if (Encode == null)
            {
                throw new Exception("Missing Encode");
            }

            var sb = StringBuilderCache.Aquire();

            if (Expires != null)
            {
                sb.Append('/');
                sb.Append("expires(");
                sb.Append(new DateTimeOffset(Expires.Value).ToUnixTimeSeconds());
                sb.Append(')');
            }

            if (Encode.Format == FormatId.Json && Metadata != null)
            {
                sb.Append('/');
                Metadata.WriteTo(sb);
                sb.Append(".json");

                return(sb.ToString());
            }

            if (Extract is ExtractFilter extract)
            {
                sb.Append('/');

                // page | timestamp | frame | poster
                sb.Append(extract.ToString());
            }

            if (Background != null)
            {
                sb.Append('/');
                sb.Append("background(");
                sb.Append(Background);
                sb.Append(')');
            }

            if (Flip != null)
            {
                sb.Append('/');

                Flip.WriteTo(sb);
            }

            // TODO: Orient...

            if (Rotate != 0)
            {
                sb.Append('/');
                sb.Append("rotate(");
                sb.Append(Rotate);
                sb.Append("deg)");
            }

            if (Crop is Rectangle crop)
            {
                sb.Append('/');
                sb.Append($"crop({crop.X},{crop.Y},{crop.Width},{crop.Height})");
            }

            if (Scale != null)
            {
                sb.Append('/');

                sb.Append(Scale.Width);
                sb.Append('x');
                sb.Append(Scale.Height);
            }

            // pad(0,0)

            if (!Padding.Equals(Padding.Zero))
            {
                sb.Append('/');
                sb.Append("pad(");
                sb.Append(Padding.ToString());
                sb.Append(")");
            }

            foreach (var filter in Filters)
            {
                sb.Append('/');

                if (filter is ICanonicalizable canonicalizable)
                {
                    canonicalizable.WriteTo(sb);
                }
                else
                {
                    sb.Append(filter.Canonicalize());
                }
            }

            if (Encode.Flags.HasFlag(EncodeFlags.Lossless))
            {
                sb.Append('/');
                sb.Append("lossless");
            }
            else if (Encode.Quality != null)
            {
                sb.Append('/');
                sb.Append("quality(");
                sb.Append(Encode.Quality.Value);
                sb.Append(')');
            }

            sb.Append('.');
            sb.Append(Encode.Format.ToString().ToLower());

            return(StringBuilderCache.ExtractAndRelease(sb).Substring(1));
        }