|
|
◆ 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] | ileft | xt[ileft-1] <= x となるような最大の整数値. |
| [out] | info | = 0: 正常終了
= -2: 入力パラメータ lxt の誤り (lxt < 1)
= 1: xが範囲外にある (xt[lxt-1] <= x)
= 2: xが範囲外にある (x < xt[0]) |
- 出典
- SLATEC
|