Qulacs-Osaka / qulacs-osaka

Development branch of qulacs at Osaka Univ
MIT License
13 stars 6 forks source link

add exception in cppsim #203

Closed KowerKoint closed 2 years ago

KowerKoint commented 2 years ago

close #201 fprintfやcerrで標準エラー出力に出力して適当にreturnしたりexit(0)したりしていたものをすべてC++のexceptionに置き換えました。 Vimの%s/\vstd::cerr(\_.{-})(\<\< std::endl)?;(\_s*exit\(0\);)?(\_s*return\_.{-};)?/std::stringstream ss;\rss\1;\rthrow std::invalid_argument(ss.str());/gで機械的に置換してから目視で確認・訂正する形をとったので確認漏れで変な置換が行われていたりcerrが残っていたり、invalid_argumentにするべきでない例外が残っているかもしれません。確認よろしくおねがいします。

WATLE commented 2 years ago

エラー解消したらまたみます

KowerKoint commented 2 years ago

ParametricPauliRotationというゲートが例外を出すように処理されていないと思うので探して変更していただけると嬉しいです。

vqcsimのほうは見てなかったです… 変更しました。

KowerKoint commented 2 years ago

TODO

KowerKoint commented 2 years ago

vqcsimのParametricGate.DuplicateIndexのテストをASSERT_THROW()に修正しました

KowerKoint commented 2 years ago

ss と命名していたエラーメッセージ用のstringstreamを衝突回避のためerror_message_streamに変更しました。

KowerKoint commented 2 years ago

DiagonalMatrix用のDuplicateIndexのテストを追加しました。