@@ -58,11 +58,12 @@ def abs_stirling(n, k):
5858
5959###############################################################################
6060
61- _shitfuck_cache = {}
61+ _length_of_recurrent_perm_space_cache = {}
6262
63- def shitfuck (k , recurrence_counter ):
63+ def calculate_length_of_recurrent_perm_space (k , recurrence_counter ):
6464 from python_toolbox import nifty_collections
6565 from python_toolbox import cute_iter_tools
66+ cache = _length_of_recurrent_perm_space_cache
6667 if not isinstance (recurrence_counter , nifty_collections .FrozenCounterCounter ):
6768 recurrence_counter = \
6869 nifty_collections .FrozenCounterCounter (recurrence_counter )
@@ -74,7 +75,7 @@ def shitfuck(k, recurrence_counter):
7475 # unlike Python's `Counter`.)
7576 return recurrence_counter .n_elements
7677 try :
77- return _shitfuck_cache [(k , recurrence_counter )]
78+ return cache [(k , recurrence_counter )]
7879 except KeyError :
7980 pass
8081
@@ -86,7 +87,7 @@ def shitfuck(k, recurrence_counter):
8687 {recurrence_counter_ : recurrence_counter_ .
8788 get_sub_counters_for_one_crate_removed ()
8889 for recurrence_counter_ in current_reccurence_counters
89- if (k_ , recurrence_counter_ ) not in _shitfuck_cache }
90+ if (k_ , recurrence_counter_ ) not in cache }
9091 )
9192 current_reccurence_counters = \
9293 set (itertools .chain (* levels [- 1 ].values ()))
@@ -95,30 +96,31 @@ def shitfuck(k, recurrence_counter):
9596 for k_ , level in enumerate (reversed (levels ), (k - len (levels ) + 1 )):
9697 if k_ == 1 :
9798 for recurrence_counter_ , sub_counters_counter in level .items ():
98- _shitfuck_cache [(k_ , recurrence_counter_ )] = \
99+ cache [(k_ , recurrence_counter_ )] = \
99100 recurrence_counter_ .n_elements
100101 else :
101102 for recurrence_counter_ , sub_counters_counter in level .items ():
102- _shitfuck_cache [(k_ , recurrence_counter_ )] = sum (
103- (_shitfuck_cache [(k_ - 1 , sub_counter )] * factor for
103+ cache [(k_ , recurrence_counter_ )] = sum (
104+ (cache [(k_ - 1 , sub_counter )] * factor for
104105 sub_counter , factor in sub_counters_counter .items ())
105106 )
106107
107- return _shitfuck_cache [(k , recurrence_counter )]
108+ return cache [(k , recurrence_counter )]
108109
109110
110111
111112
112113###############################################################################
113114
114- _catshit_cache = {}
115+ _length_of_recurrent_comb_space_cache = {}
115116
116- def catshit (k , recurrence_counter ):
117+ def calculate_length_of_recurrent_comb_space (k , recurrence_counter ):
117118 '''
118119 blocktodo gotta properly name these two sons of bitches
119120 '''
120121 from python_toolbox import nifty_collections
121122 from python_toolbox import cute_iter_tools
123+ cache = _length_of_recurrent_comb_space_cache
122124 if not isinstance (recurrence_counter , nifty_collections .FrozenCounterCounter ):
123125 recurrence_counter = \
124126 nifty_collections .FrozenCounterCounter (recurrence_counter )
@@ -130,7 +132,7 @@ def catshit(k, recurrence_counter):
130132 # unlike Python's `Counter`.)
131133 return recurrence_counter .n_elements
132134 try :
133- return _catshit_cache [(k , recurrence_counter )]
135+ return cache [(k , recurrence_counter )]
134136 except KeyError :
135137 pass
136138
@@ -142,7 +144,7 @@ def catshit(k, recurrence_counter):
142144 {recurrence_counter_ : recurrence_counter_ .
143145 get_sub_counters_for_one_crate_and_previous_piles_removed ()
144146 for recurrence_counter_ in current_reccurence_counters
145- if (k_ , recurrence_counter_ ) not in _catshit_cache }
147+ if (k_ , recurrence_counter_ ) not in cache }
146148 )
147149 current_reccurence_counters = \
148150 set (itertools .chain (* levels [- 1 ].values ()))
@@ -151,15 +153,15 @@ def catshit(k, recurrence_counter):
151153 for k_ , level in enumerate (reversed (levels ), (k - len (levels ) + 1 )):
152154 if k_ == 1 :
153155 for recurrence_counter_ , sub_counters in level .items ():
154- _catshit_cache [(k_ , recurrence_counter_ )] = len (sub_counters )
156+ cache [(k_ , recurrence_counter_ )] = len (sub_counters )
155157 else :
156158 for recurrence_counter_ , sub_counters in level .items ():
157- _catshit_cache [(k_ , recurrence_counter_ )] = sum (
158- (_catshit_cache [(k_ - 1 , sub_counter )] for
159+ cache [(k_ , recurrence_counter_ )] = sum (
160+ (cache [(k_ - 1 , sub_counter )] for
159161 sub_counter in sub_counters )
160162 )
161163
162- return _catshit_cache [(k , recurrence_counter )]
164+ return cache [(k , recurrence_counter )]
163165
164166
165167
0 commit comments