2424
2525
2626class ExponentialSmoothDefault (WindowEvaluator ):
27- def __init__ (self , alpha : float ) -> None :
27+ def __init__ (self , alpha : float = 0.8 ) -> None :
2828 self .alpha = alpha
2929
3030 def evaluate_all (self , values : list [pa .Array ], num_rows : int ) -> pa .Array :
@@ -183,46 +183,58 @@ def df():
183183def test_udwf_errors (df ):
184184 with pytest .raises (TypeError ):
185185 udwf (
186- NotSubclassOfWindowEvaluator () ,
186+ NotSubclassOfWindowEvaluator ,
187187 pa .float64 (),
188188 pa .float64 (),
189189 volatility = "immutable" ,
190190 )
191191
192192
193193smooth_default = udwf (
194- ExponentialSmoothDefault (0.9 ),
194+ ExponentialSmoothDefault ,
195+ pa .float64 (),
196+ pa .float64 (),
197+ volatility = "immutable" ,
198+ arguments = [0.9 ],
199+ )
200+
201+ smooth_no_arugments = udwf (
202+ ExponentialSmoothDefault ,
195203 pa .float64 (),
196204 pa .float64 (),
197205 volatility = "immutable" ,
198206)
199207
200208smooth_bounded = udwf (
201- ExponentialSmoothBounded ( 0.9 ) ,
209+ ExponentialSmoothBounded ,
202210 pa .float64 (),
203211 pa .float64 (),
204212 volatility = "immutable" ,
213+ arguments = [0.9 ],
205214)
206215
207216smooth_rank = udwf (
208- ExponentialSmoothRank ( 0.9 ) ,
217+ ExponentialSmoothRank ,
209218 pa .utf8 (),
210219 pa .float64 (),
211220 volatility = "immutable" ,
221+ arguments = [0.9 ],
212222)
213223
214224smooth_frame = udwf (
215- ExponentialSmoothFrame ( 0.9 ) ,
225+ ExponentialSmoothFrame ,
216226 pa .float64 (),
217227 pa .float64 (),
218228 volatility = "immutable" ,
229+ arguments = [0.9 ],
219230)
220231
221232smooth_two_col = udwf (
222- SmoothTwoColumn ( 0.9 ) ,
233+ SmoothTwoColumn ,
223234 [pa .int64 (), pa .int64 ()],
224235 pa .float64 (),
225236 volatility = "immutable" ,
237+ arguments = [0.9 ],
226238)
227239
228240data_test_udwf_functions = [
@@ -231,6 +243,11 @@ def test_udwf_errors(df):
231243 smooth_default (column ("a" )),
232244 [0 , 0.9 , 1.89 , 2.889 , 3.889 , 4.889 , 5.889 ],
233245 ),
246+ (
247+ "default_udwf_no_arguments" ,
248+ smooth_no_arugments (column ("a" )),
249+ [0 , 0.8 , 1.76 , 2.752 , 3.75 , 4.75 , 5.75 ],
250+ ),
234251 (
235252 "default_udwf_partitioned" ,
236253 smooth_default (column ("a" )).partition_by (column ("c" )).build (),
0 commit comments