aboutsummaryrefslogtreecommitdiff
path: root/src/value.py
blob: af0ab35f31ae142b5d90a64e8009f497b1b516f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Value:
    def __init__(self, data, _children=(), _op='', label='') -> None:
        self.label = label

        self.data = float(data)
        self.grad = 0.0

        self._prev = set(_children)
        self._op = _op
    
    def __repr__(self) -> str:
        return f'Value({self.data})'

    def __add__(self, y):
        result = self.data + y.data
        return Value(result, (self, y), _op='+')

    def __mul__(self, y):
        result = self.data * y.data
        return Value(result, (self, y), _op='*')