github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/strconv/atoc.go (about)

     1  // Copyright 2020 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package strconv
     6  
     7  // ParseComplexは文字列sを、bitSizeで指定された精度で複素数に変換します。
     8  // bitSizeが64の場合、結果は型complex128になりますが、値を変更せずにcomplex64に変換することができます。
     9  //
    10  // sに表される数値は、N、Ni、またはN±Niの形式でなければなりません。ここで、NはParseFloatで認識される浮動小数点数を表し、iは虚数成分です。
    11  // 2つ目のNが非負である場合、±によって示される2つの成分の間に+記号が必要です。2つ目のNがNaNである場合、+記号のみが受け入れられます。
    12  // 形式は括弧で囲んでも良く、スペースを含んではいけません。
    13  // 変換される複素数は、ParseFloatによって変換された2つの成分から構成されます。
    14  //
    15  // ParseComplexが返すエラーは、*NumErrorという具体的な型であり、err.Num = sとなります。
    16  //
    17  // sが構文的に正しくない場合、ParseComplexはerr.Err = ErrSyntaxを返します。
    18  //
    19  // sが構文的に正しくなっているが、いずれかの成分が与えられた成分のサイズで最大の浮動小数点数から1/2 ULP以上離れている場合、
    20  // ParseComplexはerr.Err = ErrRangeとc = ±Infを返します。
    21  func ParseComplex(s string, bitSize int) (complex128, error)