Files
m2pool_docs/m2pool_backend_app/public/score.py
2026-01-30 17:47:21 +08:00

35 lines
941 B
Python

def caculate_standar_deviation(data):
def calculate_mean(values):
total = sum(float(value) for value in values)
return total / len(values)
def calculate_standard_deviation(values, mean):
variance = sum((float(value) - mean) ** 2 for value in values) / len(values)
return variance ** 0.5
results = {}
for user in data:
values = data[user]
mean = calculate_mean(values)
stddev = calculate_standard_deviation(values, mean)
results[user] = stddev
return results
def score(alluser_mhs24h, hash_percent=1):
hashrate_values = [obj["mhs24h"] for obj in alluser_mhs24h]
total_hashrate = sum(hashrate_values)
result = {}
for item in alluser_mhs24h:
user = item["user"]
mhs24h = item["mhs24h"]
result[user] = (mhs24h / total_hashrate) * hash_percent
return result
__all__ = ["caculate_standar_deviation", "score"]