This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def area(l, b): | |
return l * b | |
>>> namespace = Namespace.get_instance() | |
>>> func = namespace.register(area) | |
>>> func(3, 4) | |
12 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Namespace(object): | |
"""Namespace is the singleton class that is responsible | |
for holding all the functions. | |
""" | |
__instance = None | |
def __init__(self): | |
if self.__instance is None: | |
self.function_map = dict() | |
Namespace.__instance = self |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def area(l, b): | |
return l * b | |
>>> func = Function(area) | |
>>> func.key() | |
('__main__', <class 'function'>, 'area', 2) | |
>>> func(3, 4) | |
12 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from inspect import getfullargspec | |
class Function(object): | |
"""Function is a wrap over standard python function. | |
""" | |
def __init__(self, fn): | |
self.fn = fn | |
def __call__(self, *args, **kwargs): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def area(radius): | |
return 3.14 * radius ** 2 | |
>>> locals() | |
{ | |
... | |
'area': <function area at 0x10476a440>, | |
... | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int area(int length, int breadth) { | |
return length * breadth; | |
} | |
float area(int radius) { | |
return 3.14 * radius * radius; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def get_path_length(x, T, e): | |
"""The function returns the path length h(x) of an instance | |
x in tree `T`. | |
here e is the number of edges traversed from the root till the current | |
subtree T. | |
""" | |
if is_external_node(T): | |
# when T is the root of an external node subtree | |
# we estimate path length and return. | |
# here c is the function which estimates the average path length |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def construct_forest(X, trees_count, subsample_count): | |
"""The function constructs a forest from given inputs/data points X. | |
""" | |
forest = [] | |
for i in range(0, trees_count): | |
# max_height is in fact the average height of the tree that would be | |
# constructed from given points. This acts as max_height for the | |
# construction because we are only interested in data points that have | |
# shorter-than-average path lengths, as those points are more likely | |
# to be anomalies. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def construct_tree(X, current_height, max_height): | |
"""The function constructs a tree/sub-tree on points X. | |
current_height: represents the height of the current tree to | |
the root of the decision tree. | |
max_height: the max height of the tree that should be constructed. | |
The current_height and max_height only exists to make the algorithm efficient | |
as we assume that no anomalies exist at depth >= max_height. | |
""" | |
if current_height >= max_height: | |
# here we are sure that no anomalies exist hence we |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
... | |
for (i = 0; i < size_b; ++i) { | |
borrow = a->ob_digit[i] - b->ob_digit[i] - borrow; | |
z->ob_digit[i] = borrow & PyLong_MASK; | |
borrow >>= PyLong_SHIFT; | |
borrow &= 1; /* Keep only one sign bit */ | |
} | |
for (; i < size_a; ++i) { | |
borrow = a->ob_digit[i] - borrow; | |
z->ob_digit[i] = borrow & PyLong_MASK; |