注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Quiver はカスタム数式をプロットし、数式を使用してフィルター処理する条件を指定できます。数式では以下の構成をサポートしています。
6
、3.14159
、-128
などの標準的な数値に加えて、Quiver は科学記号もサポートしています: 1.602e-19
。$
記号を使用してプロットを参照できます: $A
はパラメーター名 A
のプロットを指し、$A + $B
は2つのプロットの合計を計算します。true
と false
を使用します。secondsSince("time")
および millisecondsSince("time")
関数を使用して時間を参照します。時間の形式は ISO-8601 フォーマット ↗ である必要があります。例えば、secondsSince("1970-01-01T00:00:00+00:00")
は1970年1月1日からの秒数を UTC で評価します。+
、-
、*
、/
、および余り演算子 %
をサポートしています: 10 % 7
は 3
と評価されます。また、優先順位を強制するために括弧 ()
を使用できます。これらの演算子は結果として倍精度数値を生成します。
^
を使用してべき乗演算を行うことはできません。べき乗を行うには、組み込み関数 の pow
関数を参照してください。==
、不等価性のための !=
、および >
、<
、>=
、<=
をサポートしています。これらの演算子は結果としてブール値を生成します。&&
)および論理 OR(||
)演算子を使用してブール値を組み合わせることができます。Quiver は論理 NOT 演算子(!
)もサポートしており、ブール値を反転させます。&
)、ビット OR(|
)、ビット XOR(^
)、およびビット NOT(~
)を実行できます。ビットシフトも実行できます: 左シフトのための <<
、符号を保持する算術右シフトのための >>
、および 0 埋め論理右シフトのための >>>
。Quiver は以下の組み込み数学関数をサポートしています:
関数名 | 説明 |
---|---|
abs(a) | 絶対値 |
acos(a) | 逆余弦 |
acosh(a) | 逆双曲線余弦 |
asin(a) | 逆正弦 |
asinh(a) | 逆双曲線正弦 |
atan(a) | 逆正接 |
atanh(a) | 逆双曲線正接 |
atan2(a, b) | 2 つの数値の逆正接(四象限アークタンジェント); a は y 座標、b は x 座標です。 |
cbrt(a) | 立方根 |
ceil(a) | 天井 |
cos(a) | 余弦 |
cosh(a) | 双曲線余弦 |
exp(a) | 自然指数 |
floor(a) | 床 |
isfinite(a) | 引数が無限大でも NaN でもない場合に true |
isnan(a) | 引数が NaN の場合に true |
ln(a) | 自然対数 |
log10(a) | 常用対数 |
log2(a) | 底 2 の対数 |
max(a, b, ...) | 与えられたすべての入力の最大値 |
min(a, b, ...) | 与えられたすべての入力の最小値 |
pow(a, b) | a の b 乗 |
round(a) | 最も近い整数に丸める |
signum(a) | 符号関数 |
sin(a) | 正弦 |
sinh(a) | 双曲線正弦 |
sqrt(a) | 平方根 |
tan(a) | 正接 |
tanh(a) | 双曲線正接 |
Quiver は三項演算子 a ? b : c
をサポートしており、「if a
then b
else c
」を表現します。例えば、各時点で $A > 0 ? $B * 10 : $C * 10
は、その時点で $A
の値が 0 より大きい場合には $B * 10
の値を取り、そうでない場合には $C * 10
の値を取ります。
また、NaN
値を使用して、入力シリーズに値が欠けている場合に代替値を返すこともできます。例えば、各時点で @M != NaN ? @M : @K
は、数値の値がある場合には @M
の値を取り、そうでない場合には @K
の値を取ります。
return
および skip
ステートメントを使用して「早期」に停止し、値を返すか、値を返さないことを示す(例えば、ポイントをフィルター処理するため)ことができます。
変数は var
キーワードで宣言します。=
記号を使用して変数に値を代入します。変数は数値(倍精度)、ブール値、または文字列です。
var a = 6;
var b = 3.14159;
var c = 1.602e-19; // 指数表記がサポートされています
var d = 1.602E-19; // 指数表記は大文字・小文字を区別しません
var boolean_example = true;
var boolean_example = false; // falseに再代入
var string_example = "high";
リテラルと変数を組み合わせて、より複雑な式を作成できます。
基本的な数学演算子は +
、-
、*
、/
です。余りを計算するには %
を使用します。
// 変数 a を定義し、初期値として 2 + 2 を代入します。a は 4 になります。
var a = 2 + 2; // a の値は 4
// a に 3 * 7 の結果を代入します。a は 21 になります。
a = 3 * 7; // a の値は 21
// a に 3.5 / 7 の結果を代入します。a は 0.5 になります。
a = 3.5 / 7; // a の値は 0.5
// a に 10 % 7 の結果を代入します。a は 3 になります。
a = 10 % 7; // a の値は 3
演算子の優先順位は予想通りです。括弧 (
)
を使用して式をグループ化できます。
var a = 5 + 3 * 2; // a の値は 11
var b = (5 + 3) * 2; // b の値は 16
上記の5つの演算子の代入バージョンも使用できます。
// 変数aを初期化
var a = 10;
// aを2倍にする
a *= 2; // aは現在20の値を持つ
// aに3を加える
a += 3; // aは現在23の値を持つ
// aから5を引く
a -= 5; // aは現在18の値を持つ
// aを3で割る
a /= 3; // aは現在6の値を持つ
// aを5で割った余りを求める
a %= 5; // aは現在1の値を持つ
比較演算子 <
、<=
、>
、>=
を使用して数値を比較できます。これらの演算子はブール値(true
または false
)の結果を生成します。
等価性は ==
で、非等価性は !=
で確認できます。
これらの式は論理演算子 &&
や ||
と組み合わせることができます。
!
演算子を使用してブール値の結果を反転させることができます(true
は false
になり、false
は true
になります)。
等価性は ==
で、非等価性は !=
で確認できます。
var a = "high";
var b = "low";
// 値を比較する
var c = a == a; // true
var d = a != b; // true