|y « %:y*+y 。例如:
| 6 _6 3j4
6 6 5
|
|
餘數為計算非負整數除以一正數的殘值
3 | 0 1 2 3 4 5 6 7
0 1 2 0 1 2 0 1
|
餘數y-x*<. y % x+0=x 的定義擴充到適用左引數為零、負值以及分數引數。例如:
over =: ({. ,.@; }.)@":@,
by =: ' '&;@,.@[ ,. ]
x=: 3 2 1 0 _1 _2 _3
y=: 0 1 2 3 4 5 6 7 8
x by y over x |/ y
+--+------------------------+
| |0 1 2 3 4 5 6 7 8|
+--+------------------------+
| 3|0 1 2 0 1 2 0 1 2|
| 2|0 1 0 1 0 1 0 1 0|
| 1|0 0 0 0 0 0 0 0 0|
| 0|0 1 2 3 4 5 6 7 8|
|_1|0 0 0 0 0 0 0 0 0|
|_2|0 _1 0 _1 0 _1 0 _1 0|
|_3|0 _2 _1 0 _2 _1 0 _2 _1|
+--+------------------------+
要讓案例 (%3)|(2%3) 得到真的零,餘數必須能容錯,如下述在 res 的定義:
res=: f`g@.agenda"0
agenda=: ([ = 0:) +. (<. = >.)@S
S=: ] % [ + [ = 0:
f=: ] - [ * <.@S
g=: ] * [ = 0:
0.1 res 2.5 3.64 2 _1.6
0 0.04 0 0
(,. ; res/~ ; |/~) a=: 2 -~ i.5
+--+------------+------------+
|_2| 0 _1 0 _1 0| 0 _1 0 _1 0|
|_1| 0 0 0 0 0| 0 0 0 0 0|
| 0|_2 _1 0 1 2|_2 _1 0 1 2|
| 1| 0 0 0 0 0| 0 0 0 0 0|
| 2| 0 1 0 1 0| 0 1 0 1 0|
+--+------------+------------+
雙邊 | 應用於複數。此外, 合身連接詞可用來設定容錯度。雙邊 m&|@^ 用於整數引數計算,可避免大的中間值。例如: 2 (1e6&|@^) 10^100x
下個 前個
字彙
索引
主選單