Vocabulary/star
>> << Down to: Dyad Back to: Vocabulary Thru to: Dictionary
* y Signum
Rank 0 -- operates on individual atoms of y, producing a result of the same shape -- WHY IS THIS IMPORTANT?
The sign of the number y
Condition Result of *y y>0 1 y=0 0 y<0 _1
Common uses
Locate negative elements in an array for special treatment
] z=: 10 - ?6 6 $ 20 7 _6 5 7 10 _7 _5 2 1 6 6 0 _3 _8 _1 6 _1 _9 3 _2 5 3 3 _7 _1 _5 5 _8 _3 0 _1 _4 6 9 _6 _4 *z 1 _1 1 1 1 _1 _1 1 1 1 1 0 _1 _1 _1 1 _1 _1 1 _1 1 1 1 _1 _1 _1 1 _1 _1 0 _1 _1 1 1 _1 _1
More Information
Related Primitives
Real/Imag (+. y), Length/Angle (*. y), Magnitude (| y), Imaginary * Complex (j.), Circle Functions (x o. y), Angle * Polar (r.)
Details
1. * y uses tolerant comparison; use *!.0 for intolerant comparison. The tolerance for * is absolute: any number whose magnitude is less than the tolerance is considered to equal 0.
1e_30 = 0 NB. not zero by relative tolerance 0 * 1e_30 NB. zero by absolute tolerance 0
2. If y is complex, values that are not tolerantly equal to 0 produce (y % | y), which is a point on the unit circle on the line going from the origin to y (similar to a normalized or unit vector).
* -3j4 _0.6j_0.8 -3r5j4r5 _0.6j_0.8 | * -3j4 1
x * y Times
Rank 0 0 -- operates on individual atoms of x and y, producing a result of the same shape -- WHY IS THIS IMPORTANT?
The product of two numeric nouns, x and y
5 * 7 35 z */ z=. >: i.10 NB. multiplication table 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100
Common uses
1. Multiply two numbers
100 * 0 1 2 0 100 200
2. Multiply the numbers in a given list
*/2 3 4 24
Details
1. Any number multiplied by 0, even the infinities _ and __, produces 0.
The result has positive sign. This does not conform to IEEE-754, which mandates that the zero result have the proper sign and that multiplying by an infinity raise an error.
Use These Combinations
Combinations using x * y that have exceptionally good performance include:
What it does Type;
Precisions;
RanksSyntax Variants;
Restrictions
Benefits;
Bug Warnings
Boolean reductions on partitions Boolean x +//. y = <. >. +. * *. ~: in place of + avoids building argument cells Polynomial Multiplication x +//.@(*/) y avoids building argument cells Odometer function (y gives the size of each wheel; result is all readings from 0 0 0 0 to y) integer (#: i.@(*/)) y @: in place of @