Mercurial > gemma
view pkg/common/floats.go @ 5637:7f9600ab5461
merge
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Wed, 14 Jun 2023 08:45:11 +0200 |
parents | 4ca884dfc470 |
children |
line wrap: on
line source
// This is Free Software under GNU Affero General Public License v >= 3.0 // without warranty, see README.md and license for details. // // SPDX-License-Identifier: AGPL-3.0-or-later // License-Filename: LICENSES/AGPL-3.0.txt // // Copyright (C) 2019 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha L. Teichmann <sascha.teichmann@intevation.de> package common import "sort" // DedupFloat64s sorts arr and removes duplicates in place. // Returns a sub slice of arr only containing the unique elements. func DedupFloat64s(arr []float64) []float64 { sort.Float64s(arr) for i := 1; i < len(arr); { if arr[i-1] == arr[i] { copy(arr[i:], arr[i+1:]) arr = arr[:len(arr)-1] } else { i++ } } return arr }