Skip to content

Conversation

@teruyamato0731
Copy link
Contributor

@teruyamato0731 teruyamato0731 commented Jan 10, 2026

問題点

  • cmathのcopysignsignbitについて、NaNについての挙動が言及されているが、例ではNaNやinfinityなどの値に対して、どのように振る舞うのか示されていなかった。
  • signbitではNaNの符号を検出できる移植性のある方法として、copysignを示していたが、copysignではsignbitに言及されていなかった。

加えた変更

  • copysignの備考にsignbitについての記述を追加しました。
  • copysignの例にinfやnanの例を追加しました。
  • signbitの例にinfやnanの例を追加しました。

@github-actions
Copy link
Contributor

プレビュー (HTML) (更新時刻: 2026-01-11 01:29:03 JST)

  • Commit: 6be1b49
  • プレビューの生成には時間がかかります (3~5分)。進捗状況はこちらをご確認ください。

変更記事一覧

2件の記事が変更されました。

※ソース (.md) に直接変更のあった記事を列挙しています。グローバル修飾や変換規則の変更による変化は考慮していません。

@teruyamato0731
Copy link
Contributor Author

問題がなければマージしたいと思います。
どなたかレビュー頂けますか?

Comment on lines +90 to +93
// NaNの符号もコピーされる。
const float nan = std::numeric_limits<float>::quiet_NaN();
std::cout << " nan, -2.0f : " << std::copysign(nan, -2.0f) << std::endl;
std::cout << " nan, 2.0f : " << std::copysign(nan, 2.0f) << std::endl;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

この例はこれでいいと思うのですが、NaNの符号を検出できる移植性のある二つの方法というここで追記してる備考に対応するのならば、第二引数yがNaNである例があったほうが良いかなと思いました。

constexpr float nan = std::numeric_limits<float>::quiet_NaN();
assert(!std::signbit(nan));
assert(std::signbit(-nan));
// 通常の数値
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// 通常の数値
// 通常の数値

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants