Mercurial > gemma
view pkg/common/floats.go @ 5670:b75d0b303328
Various fixes and improvements of gauges import:
- Allow update of erased data (and thereby set erased to false)
- Fix source_organization to work with ERDMS2
- Give ISRS of new and updated gauges in summary
- Fixed reference of null pointers if revlevels are missing
- Fixed reference of null pointer on update errors
- Added ISRS to reference_code warning
author | Sascha Wilde <wilde@sha-bang.de> |
---|---|
date | Fri, 08 Dec 2023 17:29:56 +0100 |
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 }