# 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

### 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`.

`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;**

Ranks**Syntax****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`@`