| |
|
|
| = |
dyad |
word-parallel operation
on Boolean arguments for the following verbs:
= < <. <: > >. >: +. +: * *. *: ^ ~: | ! |
| <.@f |
both |
avoids non-integer intermediate results on extended precision integers |
| i.<./ |
monad |
also i.>./ and i:<./ and i:>./ ;
special code for integer and floating point lists
(see the J 5.04 release notes) |
| >.@f |
both |
avoids non-integer intermediate results on extended precision integers |
| i.>./ |
monad |
also i.<./ and i:<./ and i:>./ ;
special code for integer and floating point lists
(see the J 5.04 release notes) |
| + |
dyad |
also * and - ; on Windows,
assembly code for integer arguments
for the vector-vector,
vector-scalar, and scalar-vector cases |
| ^ |
dyad |
x^y works by repeated multiplication if x is real
and y is integral
|
| m&|@^ |
dyad |
avoids exponentiation for extended precision arguments |
| m&|@(n&^) |
monad |
avoids exponentiation for extended precision arguments |
| +/ .* |
dyad |
also +./ .* and ~:/ .*. ; special code;
see the J 5.04 release notes |
| -/ .* |
monad |
special code in general; special code for square matrices;
special code for arrays of 2-by-2 matrices;
see the J 4.05 release notes |
| $, |
dyad |
also ($,)"r ; also {, {., }., e., ;
avoids ravel;
see the J 4.06 release notes |
| x=.x,y |
- |
also =: ; in place;
see the J 5.03 release notes |
| ;@:(<;.0) |
dyad |
special code;
see the J 5.03 release notes |
| ;@:{ |
dyad |
special code;
see the J 5.03 release notes |
| [;.0 |
both |
also ] ;
special code for vector or matrix right arguments;
see the J 5.01 release notes |
| ;@:(<;.0) |
dyad |
special code;
see the J 5.03 release notes |
| f;.1 |
both |
also f;._1 f;.2 f;._2 ;
avoids building argument cells for several verbs: < $ , # [ ] {. {:
<@}. <@}: ; also <&}. <@:}. etc.;
see the J 4.05 release notes |
| f;.1 |
both |
also f;._1 f;.2 f;._2 ;
special code for sparse Boolean left argument;
see the J 4.06 release notes |
| f;.1 |
both |
also f;._1 f;.2 f;._2 ;
special code when the result of f on each cut is
boxed and atomic;
see the J 5.03 release notes |
| f/;.1 |
both |
also f;._1 f;.2 f;._2 ;
special code for atomic verbs = < + +. * etc.;
see the J 5.03 release notes |
| f;.3 |
both |
also f;._3 ;
special code for matrix right arguments |
| # |
dyad |
special code for Boolean left arguments |
| # i.@# |
monad |
also (# i.&#) , etc.;
avoids i. on Boolean arguments;
see the J 4.06 release notes |
| #: i.@(*/) |
monad |
also (#: i.&(*/)) , etc.;
special code for non-negative integer vectors;
see the J 4.05 release notes |
| x&(128!:3) |
monad |
special code to pre-compute look-up table of CRC values for each byte |
| =/"r |
monad |
also < <: > >: +. +: * *. *: ~: ;
word-parallel operations on Boolean arguments; also special
code for insert over an axis of length 2
(see J 5.03 release notes) |
| +/ |
monad |
also * and - ; on Windows,
assembly code for integer arguments |
| ,/ |
monad |
also ,. ,.&.> ; ; linear time;
see the J 4.05 release notes |
| m b./ |
both |
special code for bitwise Boolean functions;
see the J 5.01 release notes |
| f/@, |
monad |
also f/@:, f/&, f/&:, ; avoids ravel;
see the J 4.05 release notes |
| #/. |
dyad |
avoids building argument cells;
see the J 5.03 release notes |
| +//. |
dyad |
also +. *. <. >. = ~: n b. for various vector
right arguments; avoids building argument cells;
see the J 5.03 release notes |
| </. i.@# |
monad |
also x</.i.#x ; special code;
see the J 5.03 release notes |
| ({.,#)/. |
dyad |
also (#,{.)/. ; special code;
see the J 5.04 release notes |
| /: |
both |
also \: ; special code for several data types;
special code for arguments with 5 items or less;
see the J 4.05 release notes |
| /: |
dyad |
special code when the left and right arguments are the same
boolean, literal, integer, or floating point vector;
also for /:"1 when the left and right
arguments are the same boolean, literal, integer, or floating point arrays;
also for \: ;
see the J 5.01 release notes |
| /:~ |
monad |
special code for
boolean, literal, integer, or floating point vectors;
also for /:~"1 and /:"1~ ;
also for \: ;
see the J 5.01 release notes |
| /:@/: |
monad |
also /:@:/: and /:&/: etc.; special code;
see the J 5.04 release notes |
| =/\ |
monad |
also +. *. ~: ;
word-parallel operations on Boolean arguments |
| +/\ |
monad |
also * and - ; on Windows,
assembly code for integer arguments |
| +/\ |
dyad |
also + <. >. +. *. = ~: ; special code for positive left arguments
and boolean, integer, or floating point right arguments;
see the J 5.03 release notes |
| [\ |
dyad |
also ] and , ;
see the J 5.01 release notes |
| 2 f/\y |
dyad |
also 2 f~/\y ; special code for atomic f
and vector y ;
see the J 4.06 release notes |
| m b./\ |
monad |
special code for bitwise Boolean functions;
see the J 5.01 release notes |
| (+/ % #)\ |
dyad |
special code for positive left arguments and integer and floating point right arguments;
see the J 5.03 release notes |
| =/\. |
monad |
also < <: > >: +. +: *. *: ~: ;
word-parallel operations on Boolean arguments |
| +/\. |
monad |
also * and - ; on Windows,
assembly code for integer arguments |
| m b./\. |
monad |
special code for bitwise Boolean functions;
see the J 5.01 release notes |
| { |
dyad |
special code for right arguments of several data types;
special code for integer left arguments;
special code for indexing first two axes |
| <"1@[ { ] |
dyad |
avoids <"1 if left argument is integer array |
| a=: c}x,y,:z |
- |
avoids catenation and lamination;
in-place if c is Boolean
and a is x or y ;
see the J 4.05 release notes |
| y=: x i}y |
- |
in-place |
| f"r |
both |
numerous verbs have integrated rank support:
= < <. <: > >. >: + +. +: * *. *: - -: % ^ ~: | |. |: $ , ,. ,: # !
[ ] { {. {: }. }: / /: \ \. \: b. e. i. i: o. p. p:
|
| f0`...`fn@.v"0 |
monad |
special code if f0 , ... , fn are atomic;
see the J 5.02 release notes |
| x&(128!:3) |
monad |
special code to pre-compute look-up table of CRC values for each byte |
| m&i. |
monad |
also m&i: -.&m e.&m ;
see the J 5.04 release notes |
| ? |
monad |
also ?. ; special code if argument is identically 2 |
| ?@$ |
dyad |
also ?. ; also ?@# ; also [: ? $ ; special code;
see the J 5.03 release notes |
| e.i.0: |
dyad |
see the f i.0: entry below
|
| E. |
monad |
special code for Boolean and literal vector arguments |
| E.i.1: |
dyad |
see the f i.0: entry below
|
| i. |
monad |
also i: ; special case for length-1 arguments |
| i. |
dyad |
also e. and i: ; special code for several data types;
special code for i.!.0 ;
special code for the monad i.~ or x i. x ;
special code for arguments with many identical columns
(see the J 4.05 release notes) |
| f i.0: |
dyad |
special code for the following functions;
see the J 5.01,
J 5.03, and
J 5.04 release notes.
| f i. 0: | |
i.&0@:f | |
first place where not x f y |
| f i. 1: | |
i.&1@:f | |
first place where x f y |
| f i: 0: | |
i:&0@:f | |
last place where not x f y |
| f i: 1: | |
i:&1@:f | |
last place where x f y |
| [: + / f | |
+ /@:f | |
number of places where x f y |
| [: +./ f | |
+./@:f | |
x f y anywhere? |
| [: *./ f | |
*./@:f | |
x f y everywhere? |
| [: I. f | |
I. @:f | |
indices where x f y |
| Notes: |
| | | |
f is one of the verbs = ~: < <: > >: E. e. |
| | | |
Special code is available only for Boolean, integer, floating point, literal,
and symbol arguments |
| | | |
Special code is used only for atoms and lists if f is not e. |
| | | |
< <: > >: signal error for literal data |
| | | |
If f is E. , special code only
for E.i.1: +/@:E. +./@:E. I.@:E. |
|
| i.<./ |
monad |
also i.>./ and i:<./ and i:>./ ;
special code for integer and floating point lists
(see the J 5.04 release notes) |
| m&i. |
monad |
also m&i: -.&m e.&m ;
see the J 5.04 release notes |
| I.@:< |
dyad |
see the f i.0: entry above
|