Skip to content

Commit c20bbc3

Browse files
zephyrtroniumgopherbot
authored andcommitted
draw: simplify some calls to fmt.Fprintf
The implementation generator passes the same arguments many times to some calls to fmt.Fprintf. Use %[n]s notation for these instead. The generated program does not change. Change-Id: I50fc0fc7a746bac6d92ab2f63f2eaf0d1f113a31 Reviewed-on: https://go-review.googlesource.com/c/image/+/526936 Reviewed-by: Nigel Tao (INACTIVE; USE @golang.org INSTEAD) <nigeltao@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Nigel Tao <nigeltao@golang.org> Auto-Submit: Nigel Tao <nigeltao@golang.org>
1 parent 491771c commit c20bbc3

File tree

1 file changed

+41
-58
lines changed

1 file changed

+41
-58
lines changed

draw/gen.go

Lines changed: 41 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -719,17 +719,14 @@ func expnDollar(prefix, dollar, suffix string, d *data) string {
719719
if d.dType == "" || d.dType == "Image" || d.dType == "RGBA64Image" {
720720
fmt.Fprintf(buf, ""+
721721
"if srcMask != nil {\n"+
722-
" _, _, _, ma := srcMask.At(smp.X+%s, smp.Y+%s).RGBA()\n"+
723-
" %sr%s = %sr%s * ma / 0xffff\n"+
724-
" %sg%s = %sg%s * ma / 0xffff\n"+
725-
" %sb%s = %sb%s * ma / 0xffff\n"+
726-
" %sa%s = %sa%s * ma / 0xffff\n"+
722+
" _, _, _, ma := srcMask.At(smp.X+%[1]s, smp.Y+%[2]s).RGBA()\n"+
723+
" %[3]sr%[4]s = %[3]sr%[4]s * ma / 0xffff\n"+
724+
" %[3]sg%[4]s = %[3]sg%[4]s * ma / 0xffff\n"+
725+
" %[3]sb%[4]s = %[3]sb%[4]s * ma / 0xffff\n"+
726+
" %[3]sa%[4]s = %[3]sa%[4]s * ma / 0xffff\n"+
727727
"}\n",
728728
args[0], args[1],
729-
lhs, tmp, lhs, tmp,
730-
lhs, tmp, lhs, tmp,
731-
lhs, tmp, lhs, tmp,
732-
lhs, tmp, lhs, tmp,
729+
lhs, tmp,
733730
)
734731
}
735732
case "image.RGBA64Image":
@@ -752,44 +749,35 @@ func expnDollar(prefix, dollar, suffix string, d *data) string {
752749
}
753750
case "*image.Gray":
754751
fmt.Fprintf(buf, ""+
755-
"%si := %s\n"+
756-
"%sr%s := uint32(src.Pix[%si]) * 0x101\n",
757-
lhs, pixOffset("src", args[0], args[1], "", "*src.Stride"),
758-
lhs, tmp, lhs,
752+
"%[1]si := %[3]s\n"+
753+
"%[1]sr%[2]s := uint32(src.Pix[%[1]si]) * 0x101\n",
754+
lhs, tmp, pixOffset("src", args[0], args[1], "", "*src.Stride"),
759755
)
760756
case "*image.NRGBA":
761757
fmt.Fprintf(buf, ""+
762-
"%si := %s\n"+
763-
"%sa%s := uint32(src.Pix[%si+3]) * 0x101\n"+
764-
"%sr%s := uint32(src.Pix[%si+0]) * %sa%s / 0xff\n"+
765-
"%sg%s := uint32(src.Pix[%si+1]) * %sa%s / 0xff\n"+
766-
"%sb%s := uint32(src.Pix[%si+2]) * %sa%s / 0xff\n",
767-
lhs, pixOffset("src", args[0], args[1], "*4", "*src.Stride"),
768-
lhs, tmp, lhs,
769-
lhs, tmp, lhs, lhs, tmp,
770-
lhs, tmp, lhs, lhs, tmp,
771-
lhs, tmp, lhs, lhs, tmp,
758+
"%[1]si := %[3]s\n"+
759+
"%[1]sa%[2]s := uint32(src.Pix[%[1]si+3]) * 0x101\n"+
760+
"%[1]sr%[2]s := uint32(src.Pix[%[1]si+0]) * %[1]sa%s / 0xff\n"+
761+
"%[1]sg%[2]s := uint32(src.Pix[%[1]si+1]) * %[1]sa%s / 0xff\n"+
762+
"%[1]sb%[2]s := uint32(src.Pix[%[1]si+2]) * %[1]sa%s / 0xff\n",
763+
lhs, tmp, pixOffset("src", args[0], args[1], "*4", "*src.Stride"),
772764
)
773765
case "*image.RGBA":
774766
fmt.Fprintf(buf, ""+
775-
"%si := %s\n"+
776-
"%sr%s := uint32(src.Pix[%si+0]) * 0x101\n"+
777-
"%sg%s := uint32(src.Pix[%si+1]) * 0x101\n"+
778-
"%sb%s := uint32(src.Pix[%si+2]) * 0x101\n"+
779-
"%sa%s := uint32(src.Pix[%si+3]) * 0x101\n",
780-
lhs, pixOffset("src", args[0], args[1], "*4", "*src.Stride"),
781-
lhs, tmp, lhs,
782-
lhs, tmp, lhs,
783-
lhs, tmp, lhs,
784-
lhs, tmp, lhs,
767+
"%[1]si := %[3]s\n"+
768+
"%[1]sr%[2]s := uint32(src.Pix[%[1]si+0]) * 0x101\n"+
769+
"%[1]sg%[2]s := uint32(src.Pix[%[1]si+1]) * 0x101\n"+
770+
"%[1]sb%[2]s := uint32(src.Pix[%[1]si+2]) * 0x101\n"+
771+
"%[1]sa%[2]s := uint32(src.Pix[%[1]si+3]) * 0x101\n",
772+
lhs, tmp, pixOffset("src", args[0], args[1], "*4", "*src.Stride"),
785773
)
786774
case "*image.YCbCr":
787775
fmt.Fprintf(buf, ""+
788-
"%si := %s\n"+
789-
"%sj := %s\n"+
790-
"%s\n",
776+
"%[1]si := %[2]s\n"+
777+
"%[1]sj := %[3]s\n"+
778+
"%[4]s\n",
791779
lhs, pixOffset("src", args[0], args[1], "", "*src.YStride"),
792-
lhs, cOffset(args[0], args[1], d.sratio),
780+
cOffset(args[0], args[1], d.sratio),
793781
ycbcrToRGB(lhs, tmp),
794782
)
795783
}
@@ -798,36 +786,31 @@ func expnDollar(prefix, dollar, suffix string, d *data) string {
798786
switch d.sType {
799787
default:
800788
fmt.Fprintf(buf, ""+
801-
"%sr %s float64(%sru)%s\n"+
802-
"%sg %s float64(%sgu)%s\n"+
803-
"%sb %s float64(%sbu)%s\n"+
804-
"%sa %s float64(%sau)%s\n",
805-
lhs, eqOp, lhs, extra,
806-
lhs, eqOp, lhs, extra,
807-
lhs, eqOp, lhs, extra,
808-
lhs, eqOp, lhs, extra,
789+
"%[1]sr %[2]s float64(%[1]sru)%[3]s\n"+
790+
"%[1]sg %[2]s float64(%[1]sgu)%[3]s\n"+
791+
"%[1]sb %[2]s float64(%[1]sbu)%[3]s\n"+
792+
"%[1]sa %[2]s float64(%[1]sau)%[3]s\n",
793+
lhs, eqOp, extra,
809794
)
810795
case "*image.Gray":
811796
fmt.Fprintf(buf, ""+
812-
"%sr %s float64(%sru)%s\n",
813-
lhs, eqOp, lhs, extra,
797+
"%[1]sr %[2]s float64(%[1]sru)%[3]s\n",
798+
lhs, eqOp, extra,
814799
)
815800
case "*image.YCbCr":
816801
fmt.Fprintf(buf, ""+
817-
"%sr %s float64(%sru)%s\n"+
818-
"%sg %s float64(%sgu)%s\n"+
819-
"%sb %s float64(%sbu)%s\n",
820-
lhs, eqOp, lhs, extra,
821-
lhs, eqOp, lhs, extra,
822-
lhs, eqOp, lhs, extra,
802+
"%[1]sr %[2]s float64(%[1]sru)%[3]s\n"+
803+
"%[1]sg %[2]s float64(%[1]sgu)%[3]s\n"+
804+
"%[1]sb %[2]s float64(%[1]sbu)%[3]s\n",
805+
lhs, eqOp, extra,
823806
)
824807
case "image.RGBA64Image":
825808
fmt.Fprintf(buf, ""+
826-
"%[1]sr %[2]s float64(%[3]su.R)%[4]s\n"+
827-
"%[1]sg %[2]s float64(%[3]su.G)%[4]s\n"+
828-
"%[1]sb %[2]s float64(%[3]su.B)%[4]s\n"+
829-
"%[1]sa %[2]s float64(%[3]su.A)%[4]s\n",
830-
lhs, eqOp, lhs, extra,
809+
"%[1]sr %[2]s float64(%[1]su.R)%[3]s\n"+
810+
"%[1]sg %[2]s float64(%[1]su.G)%[3]s\n"+
811+
"%[1]sb %[2]s float64(%[1]su.B)%[3]s\n"+
812+
"%[1]sa %[2]s float64(%[1]su.A)%[3]s\n",
813+
lhs, eqOp, extra,
831814
)
832815
}
833816
}

0 commit comments

Comments
 (0)