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
+	}
+}