zer0-star / Nim-ACL

ACL (AtCoder Library) implementation in Nim
Creative Commons Zero v1.0 Universal
22 stars 3 forks source link

cumulative_sum のコンスタラクタを整理 #54

Closed haruyama480 closed 11 months ago

haruyama480 commented 11 months ago
import atcoder/extra/dp/cumulative_sum
var arr = newSeqWith(100, 0)
var cum = initCumulativeSum[int](arr) # エラー

のようなコードをコンパイルしようとするとエラーメッセージがでます

ambiguous call; both cumulative_sum.initCumulativeSum(data: seq[T], reverse: static[bool]) [proc declared in /Users/xxx/ghq/github.com/zer0-star/Nim-ACL/src/atcoder/extra/dp/cumulative_sum.nim(38, 8)] and cumulative_sum.initCumulativeSum(v: seq[T]) [proc declared in /Users/xxx/ghq/github.com/zer0-star/Nim-ACL/src/atcoder/extra/dp/cumulative_sum.nim(30, 8)] match for: (seq[int])

proc initCumulativeSum*[T](data:seq[T], reverse:static[bool] = false)proc initCumulativeSumReverse*[T](v:seq[T])が被ってしまっているようなので、片方を削除したいです。

本PRは reverse=trueのコンストラクタは別名の関数にわけることで解決しました

@chaemon こちら念のためレビューお願いしますm(__)m

chaemon commented 11 months ago

OKです!見つけていただきありがとうございます!