atanh#

ベクトル要素の要素ごとの逆双曲線正接を計算します。

説明#

atanh(a) 関数はベクトル要素の逆双曲線正接を計算します。

引数

結果

エラーコード

+1

\(+ \infty\)

status::sing

-1

\(- \infty\)

status::sing

|a| > 1

QNAN

status::errdom

\(- \infty\)

QNAN

status::errdom

\(+ \infty\)

\(+ \infty\)

status::errdom

QNAN

QNAN

SNAN

QNAN

RE(a) i·IM(a)

\(- \infty\)

-X

-0

+0

-X

\(+ \infty\)

NAN

\(+i· \infty\)

\(-0+i· \pi /2\)

\(-0+i· \pi /2\)

\(-0+i· \pi /2\)

\(+0+i· \pi /2\)

\(+0+i· \pi /2\)

\(+0+i· \pi /2\)

\(+0+i· \pi /2\)

\(+i·Y\)

\(-0+i· \pi /2\)

\(+0+i· \pi /2\)

\(QNAN+i·QNAN\)

\(+i·0\)

\(-0+i· \pi /2\)

\(-0+i·0\)

\(+0+i·0\)

\(+0+i· \pi /2\)

\(QNAN+i·QNAN\)

\(-i·0\)

\(-0-i· \pi /2\)

\(-0-i·0\)

\(+0-i·0\)

\(+0-i· \pi /2\)

\(QNAN-i·QNAN\)

\(-i·Y\)

\(-0-i· \pi /2\)

\(+0-i· \pi /2\)

\(QNAN+i·QNAN\)

\(-i· \infty\)

\(-0-i· \pi /2\)

\(-0-i· \pi /2\)

\(-0-i· \pi /2\)

\(+0-i· \pi /2\)

\(+0-i· \pi /2\)

\(+0-i· \pi /2\)

\(+0-i· \pi /2\)

\(+i·NAN\)

\(-0+i·QNAN\)

\(QNAN+i·QNAN\)

\(-0+i·QNAN\)

\(+0+i·QNAN\)

\(QNAN+i·QNAN\)

\(+0+i·QNAN\)

\(QNAN+i·QNAN\)

  • atanh(±1±i*0)=±:math:`\infty`±i*0 となり、status::sing エラーが発生します。

  • atanh(CONJ(a))=CONJ(atanh(a))

  • atanh(-a)=-atanh(a)

API#

構文#

バッファー API

namespace oneapi::mkl::vm { 

sycl::event atanh(sycl::queue & exec_queue, 
      std::int64_t n, 
      sycl::buffer<T> & a, 
      sycl::buffer<T> & y, 
      oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined, 
      oneapi::mkl::vm::error_handler<T> errhandler = {}); 

}
namespace oneapi::mkl::vm { 

sycl::event atanh(sycl::queue & exec_queue, 
      sycl::buffer<T> & a, 
      oneapi::mkl::slice sa, 
      sycl::buffer<T> & y, 
      oneapi::mkl::slice sy, 
      oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined, 
      oneapi::mkl::vm::error_handler<T> errhandler = {}); 

}

USM API

namespace oneapi::mkl::vm { 

sycl::event atanh(sycl::queue & exec_queue, 
      std::int64_t n, 
      T const * a, 
      T * y, 
      std::vector<sycl::event> const & depends = {}, 
      oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined, 
      oneapi::mkl::vm::error_handler<T> errhandler = {}); 

}
namespace oneapi::mkl::vm { 

sycl::event atanh(sycl::queue & exec_queue, 
      T const * a, 
      oneapi::mkl::slice sa, 
      T * y, 
      oneapi::mkl::slice sy, 
      std::vector<sycl::event> const & depends = {}, 
      oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined, 
      oneapi::mkl::vm::error_handler<T> errhandler = {}); 

}

atanh は次の精度とデバイスをサポートしています。

T

デバイスサポート

sycl::half

GPU

_Float16

CPU

float

CPU および GPU

double

CPU および GPU

入力パラメーター#

バッファー API

exec_queue

ルーチンが実行されるキュー。

n

計算する要素の数を指定します。

a

入力ベクトルを含むバッファー。

sa

a のスライスセレクター。oneMKL スライスタイプの説明については、データタイプを参照してください。

sy

y のスライスセレクター。oneMKL スライスタイプの説明については、データタイプを参照してください。

mode

この関数呼び出しのグローバル VM モード設定をオーバーライドします。指定可能な値とその説明については、set_mode 関数を参照してください。これはオプションのパラメーターです。デフォルト値は mode::not_defined です。

errhandler

この関数呼び出しのローカルエラー処理モードを設定します。引数と説明については、create_error_handler 関数を参照してください。これはオプションのパラメーターです。ローカル・エラー・ハンドラーはデフォルトで無効になっています。

USM API

exec_queue

ルーチンが実行されるキュー。

n

計算する要素の数を指定します。

a

入力ベクトルへのポインター。

sa

a のスライスセレクター。oneMKL スライスタイプの説明については、データタイプを参照してください。

sy

y のスライスセレクター。oneMKL スライスタイプの説明については、データタイプを参照してください。

depends

依存イベントのベクトル (入力データの準備ができるまで待機)。これはオプションのパラメーターです。デフォルトは空のベクトルです。

mode

この関数呼び出しのグローバル VM モード設定をオーバーライドします。指定可能な値とその説明については、set_mode 関数を参照してください。これはオプションのパラメーターです。デフォルト値は mode::not_defined です。

errhandler

この関数呼び出しのローカルエラー処理モードを設定します。引数と説明については、create_error_handler 関数を参照してください。これはオプションのパラメーターです。ローカル・エラー・ハンドラーはデフォルトで無効になっています。

出力パラメーター#

バッファー API

y

出力ベクトルを含むバッファー。

戻り値 (event)

計算終了イベント。

USM API

y

出力ベクトルへのポインター。

戻り値 (event)

計算終了イベント。

#

atanh の使用例は、oneMKL インストール・ディレクトリーの以下の場所にあります。

share/doc/mkl/examples/sycl/vml/source/vatanh.cpp