注: 以下の翻訳の正確性は検証されていません。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