You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2022/11/10 14:32:18 UTC
[plc4x] 02/03: feat(plc4go): added generic min method
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 4d8ead97043bca22f45eb313f322073273bcc5df
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Nov 10 14:26:36 2022 +0100
feat(plc4go): added generic min method
---
plc4go/go.mod | 1 +
plc4go/go.sum | 2 ++
plc4go/spi/utils/Misc.go | 13 ++++++++++++-
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/plc4go/go.mod b/plc4go/go.mod
index 21c18932a4..ec011d41b5 100644
--- a/plc4go/go.mod
+++ b/plc4go/go.mod
@@ -41,6 +41,7 @@ require (
github.com/stretchr/testify v1.8.1
github.com/subchen/go-xmldom v1.1.2
github.com/viney-shih/go-lock v1.1.2
+ golang.org/x/exp v0.0.0-20221109205753-fc8884afc316
golang.org/x/tools v0.2.0
gopkg.in/yaml.v3 v3.0.1
)
diff --git a/plc4go/go.sum b/plc4go/go.sum
index 54b985fcf7..8e9ac0a71d 100644
--- a/plc4go/go.sum
+++ b/plc4go/go.sum
@@ -261,6 +261,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
+golang.org/x/exp v0.0.0-20221109205753-fc8884afc316 h1:FedCSp0+vayF11p3wAQndIgu+JTcW2nLp5M+HSefjlM=
+golang.org/x/exp v0.0.0-20221109205753-fc8884afc316/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
diff --git a/plc4go/spi/utils/Misc.go b/plc4go/spi/utils/Misc.go
index 55046851ee..03e77208b5 100644
--- a/plc4go/spi/utils/Misc.go
+++ b/plc4go/spi/utils/Misc.go
@@ -19,7 +19,10 @@
package utils
-import "time"
+import (
+ "golang.org/x/exp/constraints"
+ "time"
+)
// InlineIf is basically a inline if like construct for golang
func InlineIf(test bool, a func() interface{}, b func() interface{}) interface{} {
@@ -40,3 +43,11 @@ func CleanupTimer(timer *time.Timer) {
}
}
}
+
+func Min[T constraints.Ordered](left, right T) T {
+ if left < right {
+ return left
+ } else {
+ return right
+ }
+}