mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-04-17 03:07:35 +00:00
Fix some RUF012 per file ignores (#11399)
* updating DIRECTORY.md * Fix some RUF012 per file ignores * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix * Fix * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix * Improve * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Improve * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: MaximSmolskiy <MaximSmolskiy@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
23eb174629
commit
7ce998b91c
@ -196,9 +196,6 @@ class LFUCache(Generic[T, U]):
|
|||||||
CacheInfo(hits=196, misses=100, capacity=100, current_size=100)
|
CacheInfo(hits=196, misses=100, capacity=100, current_size=100)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# class variable to map the decorator functions to their respective instance
|
|
||||||
decorator_function_to_instance_map: dict[Callable[[T], U], LFUCache[T, U]] = {}
|
|
||||||
|
|
||||||
def __init__(self, capacity: int):
|
def __init__(self, capacity: int):
|
||||||
self.list: DoubleLinkedList[T, U] = DoubleLinkedList()
|
self.list: DoubleLinkedList[T, U] = DoubleLinkedList()
|
||||||
self.capacity = capacity
|
self.capacity = capacity
|
||||||
@ -291,18 +288,23 @@ class LFUCache(Generic[T, U]):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def cache_decorator_inner(func: Callable[[T], U]) -> Callable[..., U]:
|
def cache_decorator_inner(func: Callable[[T], U]) -> Callable[..., U]:
|
||||||
def cache_decorator_wrapper(*args: T) -> U:
|
# variable to map the decorator functions to their respective instance
|
||||||
if func not in cls.decorator_function_to_instance_map:
|
decorator_function_to_instance_map: dict[
|
||||||
cls.decorator_function_to_instance_map[func] = LFUCache(size)
|
Callable[[T], U], LFUCache[T, U]
|
||||||
|
] = {}
|
||||||
|
|
||||||
result = cls.decorator_function_to_instance_map[func].get(args[0])
|
def cache_decorator_wrapper(*args: T) -> U:
|
||||||
|
if func not in decorator_function_to_instance_map:
|
||||||
|
decorator_function_to_instance_map[func] = LFUCache(size)
|
||||||
|
|
||||||
|
result = decorator_function_to_instance_map[func].get(args[0])
|
||||||
if result is None:
|
if result is None:
|
||||||
result = func(*args)
|
result = func(*args)
|
||||||
cls.decorator_function_to_instance_map[func].put(args[0], result)
|
decorator_function_to_instance_map[func].put(args[0], result)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def cache_info() -> LFUCache[T, U]:
|
def cache_info() -> LFUCache[T, U]:
|
||||||
return cls.decorator_function_to_instance_map[func]
|
return decorator_function_to_instance_map[func]
|
||||||
|
|
||||||
setattr(cache_decorator_wrapper, "cache_info", cache_info) # noqa: B010
|
setattr(cache_decorator_wrapper, "cache_info", cache_info) # noqa: B010
|
||||||
|
|
||||||
|
@ -209,9 +209,6 @@ class LRUCache(Generic[T, U]):
|
|||||||
CacheInfo(hits=194, misses=99, capacity=100, current size=99)
|
CacheInfo(hits=194, misses=99, capacity=100, current size=99)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# class variable to map the decorator functions to their respective instance
|
|
||||||
decorator_function_to_instance_map: dict[Callable[[T], U], LRUCache[T, U]] = {}
|
|
||||||
|
|
||||||
def __init__(self, capacity: int):
|
def __init__(self, capacity: int):
|
||||||
self.list: DoubleLinkedList[T, U] = DoubleLinkedList()
|
self.list: DoubleLinkedList[T, U] = DoubleLinkedList()
|
||||||
self.capacity = capacity
|
self.capacity = capacity
|
||||||
@ -308,18 +305,23 @@ class LRUCache(Generic[T, U]):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def cache_decorator_inner(func: Callable[[T], U]) -> Callable[..., U]:
|
def cache_decorator_inner(func: Callable[[T], U]) -> Callable[..., U]:
|
||||||
def cache_decorator_wrapper(*args: T) -> U:
|
# variable to map the decorator functions to their respective instance
|
||||||
if func not in cls.decorator_function_to_instance_map:
|
decorator_function_to_instance_map: dict[
|
||||||
cls.decorator_function_to_instance_map[func] = LRUCache(size)
|
Callable[[T], U], LRUCache[T, U]
|
||||||
|
] = {}
|
||||||
|
|
||||||
result = cls.decorator_function_to_instance_map[func].get(args[0])
|
def cache_decorator_wrapper(*args: T) -> U:
|
||||||
|
if func not in decorator_function_to_instance_map:
|
||||||
|
decorator_function_to_instance_map[func] = LRUCache(size)
|
||||||
|
|
||||||
|
result = decorator_function_to_instance_map[func].get(args[0])
|
||||||
if result is None:
|
if result is None:
|
||||||
result = func(*args)
|
result = func(*args)
|
||||||
cls.decorator_function_to_instance_map[func].put(args[0], result)
|
decorator_function_to_instance_map[func].put(args[0], result)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def cache_info() -> LRUCache[T, U]:
|
def cache_info() -> LRUCache[T, U]:
|
||||||
return cls.decorator_function_to_instance_map[func]
|
return decorator_function_to_instance_map[func]
|
||||||
|
|
||||||
setattr(cache_decorator_wrapper, "cache_info", cache_info) # noqa: B010
|
setattr(cache_decorator_wrapper, "cache_info", cache_info) # noqa: B010
|
||||||
|
|
||||||
|
@ -135,9 +135,6 @@ lint.per-file-ignores."machine_learning/sequential_minimum_optimization.py" = [
|
|||||||
lint.per-file-ignores."matrix/sherman_morrison.py" = [
|
lint.per-file-ignores."matrix/sherman_morrison.py" = [
|
||||||
"SIM103",
|
"SIM103",
|
||||||
]
|
]
|
||||||
lint.per-file-ignores."other/l*u_cache.py" = [
|
|
||||||
"RUF012",
|
|
||||||
]
|
|
||||||
lint.per-file-ignores."physics/newtons_second_law_of_motion.py" = [
|
lint.per-file-ignores."physics/newtons_second_law_of_motion.py" = [
|
||||||
"BLE001",
|
"BLE001",
|
||||||
]
|
]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user