28 lines
562 B
Python
28 lines
562 B
Python
import json
|
|
import math
|
|
|
|
def init():
|
|
pass
|
|
|
|
def destroy():
|
|
pass
|
|
|
|
def start():
|
|
return json.dumps(0.0).encode('utf-8')
|
|
|
|
def finish(buf):
|
|
sum_squares = json.loads(buf)
|
|
result = math.sqrt(sum_squares)
|
|
return result
|
|
|
|
def reduce(datablock, buf):
|
|
(rows, cols) = datablock.shape()
|
|
sum_squares = json.loads(buf)
|
|
|
|
for i in range(rows):
|
|
for j in range(cols):
|
|
cell = datablock.data(i,j)
|
|
if cell is not None:
|
|
sum_squares += cell * cell
|
|
return json.dumps(sum_squares).encode('utf-8')
|