]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
tpl/math: Add MaxInt64 function
authorJoe Mooring <joe.mooring@veriphor.com>
Tue, 6 May 2025 18:57:03 +0000 (11:57 -0700)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 7 May 2025 17:40:29 +0000 (19:40 +0200)
Closes #13693

tpl/math/init.go
tpl/math/math.go
tpl/math/math_test.go

index bfaf4526aea89f46e1e474e0b0fd5c2bb1631c90..bb3c02bd6cef5098e656c58fedfa67fa2a1ceed6 100644 (file)
@@ -115,6 +115,13 @@ func init() {
                        },
                )
 
+               ns.AddMethodMapping(ctx.MaxInt64,
+                       nil,
+                       [][2]string{
+                               {"{{ math.MaxInt64 }}", "9223372036854775807"},
+                       },
+               )
+
                ns.AddMethodMapping(ctx.Min,
                        nil,
                        [][2]string{
index a0512c045acec6d9947bfc80b14d0f65d8f75408..01e75e9c8279a41ede1c69494d24d84d81676897 100644 (file)
@@ -147,6 +147,11 @@ func (ns *Namespace) Max(inputs ...any) (maximum float64, err error) {
        return ns.applyOpToScalarsOrSlices("Max", math.Max, inputs...)
 }
 
+// MaxInt64 returns the maximum value for a signed 64-bit integer.
+func (ns *Namespace) MaxInt64() int64 {
+       return math.MaxInt64
+}
+
 // Min returns the smaller of all numbers in inputs. Any slices in inputs are flattened.
 func (ns *Namespace) Min(inputs ...any) (minimum float64, err error) {
        return ns.applyOpToScalarsOrSlices("Min", math.Min, inputs...)
index d45a2aace70cc600b73f605fb9faa2b72037ba78..cc4fe31eb9515345974052e86db1e93cba0f5c3f 100644 (file)
@@ -879,3 +879,14 @@ func TestToRadians(t *testing.T) {
                c.Assert(result, qt.Equals, test.expect)
        }
 }
+
+func TestMaxInt64(t *testing.T) {
+       t.Parallel()
+       ns := New(nil)
+
+       var want int64 = 9223372036854775807
+       got := ns.MaxInt64()
+       if want != got {
+               t.Errorf("want %d, got %d", want, got)
+       }
+}