38 lines
963 B
Python
38 lines
963 B
Python
def build_docmf(request):
|
|
a, b = request.core
|
|
c, d = request.support
|
|
|
|
# LEFT
|
|
TL = sum(e + 1 for e in request.left_blank_cards)
|
|
YL = 1 / TL
|
|
left_nodes = []
|
|
acc = 0
|
|
|
|
for i, x in enumerate(request.left_nodes_x):
|
|
if i == 0:
|
|
left_nodes.append((x, 0.0))
|
|
else:
|
|
acc += request.left_blank_cards[i-1] + 1
|
|
left_nodes.append((x, round(acc * YL, 4)))
|
|
|
|
# RIGHT
|
|
TR = sum(e + 1 for e in request.right_blank_cards)
|
|
YR = 1 / TR
|
|
right_nodes = []
|
|
acc = 0
|
|
|
|
for i, x in enumerate(request.right_nodes_x):
|
|
if i == 0:
|
|
right_nodes.append((x, 1.0))
|
|
else:
|
|
acc += request.right_blank_cards[i-1] + 1
|
|
right_nodes.append((x, round(1 - acc * YR, 4)))
|
|
|
|
return {
|
|
"term": request.term,
|
|
"core": request.core,
|
|
"support": request.support,
|
|
"left_nodes": left_nodes,
|
|
"right_nodes": right_nodes
|
|
}
|