Path: blob/main/tests/tools/sumolib/statistics/runner.py
428387 views
#!/usr/bin/env python1# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2# Copyright (C) 2008-2026 German Aerospace Center (DLR) and others.3# This program and the accompanying materials are made available under the4# terms of the Eclipse Public License 2.0 which is available at5# https://www.eclipse.org/legal/epl-2.0/6# This Source Code may also be made available under the following Secondary7# Licenses when the conditions for such availability set forth in the Eclipse8# Public License 2.0 are satisfied: GNU General Public License, version 29# or later which is available at10# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later1213# @file runner.py14# @author Laura Bieker-Walz15# @date 14.9.20201617from __future__ import absolute_import18from __future__ import print_function192021import os22import sys23if 'SUMO_HOME' in os.environ:24tools = os.path.join(os.environ['SUMO_HOME'], 'tools')25sys.path.append(tools)26else:27sys.exit("please declare environment variable 'SUMO_HOME'")28import sumolib.statistics # noqa2930print(sumolib.statistics.round(1.5))31print(sumolib.statistics.round(-1.5))32print(sumolib.statistics.setPrecision("2.01%.2f", 3))33print(sumolib.statistics.geh(0, 0))34print(sumolib.statistics.geh(10, 1))3536s = sumolib.statistics.Statistics(10)37print(s.toString())38s.add(1)39print(s.toString())40s2 = sumolib.statistics.Statistics(5)41s2.add(5)42s2.add(4)43s2.add(3)44print(s2.toString())45s.update(s2)46print(s.toString())47s.clear()48print(s.toString())49s.add(1)50s.add(10)51s.add(1)52s.add(1)53print(s.count())54print(s.avg())55print(s.avg_abs())56print("mean: %.3f, standard deviation: %.3f" % s.meanAndStdDev())57print(s.relStdDev())58print(s.mean())59print(s.mean_abs())60print(s.average_absolute_deviation_from_mean())61print(s.median())62print(s.median_abs())63print(s.quartiles())64print(s.rank(0.5))65print(s.histogram())66s3 = sumolib.statistics.Statistics(10, histogram=True)67for i in range(10):68s3.add(i)69i += 170print(s3.histogram())717273