XLPack 7.0
XLPack 数値計算ライブラリ (C API) リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ interv()

void interv ( double  xt[],
int  lxt,
double  x,
int *  ilo,
int *  ileft,
int *  info 
)

ileftを求める (bsplvdおよびbsplvnの入力用)

目的
本ルーチンは xt[ileft-1] <= x となるような最大の整数値 ileft (1 <= ileft <= lxt)を求める. ただし, xt[]はxの区間を分割した部分区間である. 本ルーチンは次の値を返す.
  x < xt[0] の場合: ileft = 1, info = 2
  xt[i-1] <= x < xt[i] の場合: ileft = i, info = 0
  xt[lxt-1] <= x の場合: ileft = lxt, info = 1
xの左側の区切り点に重複があれば, ileftとしては最大のインデックス値が採用される.
引数
[in]xt[]配列 xt[lxt]
ノットまたは区切り点ベクトル.
[in]lxtベクトルxt[]の長さ. (lxt >= 1)
[in]x引数 x.
[in,out]ilo初期化パラメータ.
[in] 配列xt[]が最初にintervにより処理されるとき, 1に設定しておかなければならない.
[out] 最初の呼び出し後の処理のための情報. ユーザーが変更してはならない. 異なるスプラインは異なったiloパラメータを持つ.
[out]ileftxt[ileft-1] <= x となるような最大の整数値.
[out]info= 0: 正常終了
= -2: 入力パラメータ lxt の誤り (lxt < 1)
= 1: xが範囲外にある (xt[lxt-1] <= x)
= 2: xが範囲外にある (x < xt[0])
出典
SLATEC