最終更新日時(UTC): 2025年07月14日 14時04分00秒
Koichi Murase が更新

履歴 編集

variable
<numbers>

# std::numbers::inv_sqrtpi(C++20)

    namespace std::numbers {
      template <class T>
      inline constexpr T inv_sqrtpi_v = unspecified;             // (1)

      template <floating_point T>
      inline constexpr T inv_sqrtpi_v<T> = see below;            // (2)

      inline constexpr double inv_sqrtpi = inv_sqrtpi_v<double>; // (3)
    }

## 概要

円周率の平方根の逆数 (inverse square root pi) である1/√πを表す定数。

- (1) : プライマリーテンプレート。これをインスタンス化するとプログラムは不適格となる
- (2) : 任意の浮動小数点数型`T`に対する定数定義。標準で定義される浮動小数点数型ごとの精度に応じた定数が定義される
- (3) : `double`型に対する定数定義

## 例

    #include <iostream>
    #include <numbers>

    int main()
    {
      // double型定数
      double a = std::numbers::inv_sqrtpi;
      std::cout << a << std::endl;

      // 任意の浮動小数点数型の定数
      float b = std::numbers::inv_sqrtpi_v<float>;
      std::cout << b << std::endl;
    }

### 出力

    0.56419
    0.56419

## バージョン

### 言語

- C++20

### 処理系

- Clang:
- GCC: 10.1 ✅
- Visual C++: ??