Closed seekworser closed 2 months ago
DynamicModint に対して std/math の sum などの{.noSideEffect.} pragma がついておりかつ += を呼ぶような関数が呼ばれると、コンパイルエラーとなる。 https://atcoder.jp/contests/abs/submissions/52161969
DynamicModint
std/math
sum
{.noSideEffect.}
+=
getBarrett が global 領域の変数のポインタにアクセスするのが問題だが、実際にはこれが書き換えられることはないので、 {.cast(noSideEffect).} で回避して問題ないと考える
getBarrett
{.cast(noSideEffect).}
ありがとうございます!cast(noSideEffect)という使い方は知らなかったです!他にもつけたほうがいいところがありそうです。
ありがとうございます!他にも気付いたらつけておきます
DynamicModint
に対してstd/math
のsum
などの{.noSideEffect.}
pragma がついておりかつ+=
を呼ぶような関数が呼ばれると、コンパイルエラーとなる。 https://atcoder.jp/contests/abs/submissions/52161969getBarrett
が global 領域の変数のポインタにアクセスするのが問題だが、実際にはこれが書き換えられることはないので、{.cast(noSideEffect).}
で回避して問題ないと考える