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"); }
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); } }
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(",", "."); } } }
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"); }
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); }
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); }
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()); }
/// <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(); }
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); }
public void Padding_ToString_InvokeAll_ReturnsExpected() { var padding = new Padding(1); Assert.Equal("{Left=1,Top=1,Right=1,Bottom=1}", padding.ToString()); }
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()); }
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); }
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)); }
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)); }