From 0a4f6d3d0de2b28cff34c8c2bea5e520e69c521b Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Mon, 17 Oct 2022 21:54:16 -0400 Subject: =?UTF-8?q?Remove=20=E2=80=A2bit.=5Fmulu,=20as=20it's=20the=20same?= =?UTF-8?q?=20as=20=5Fmul?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/spec/system.html | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'docs/spec/system.html') diff --git a/docs/spec/system.html b/docs/spec/system.html index 22851df2..d889019d 100644 --- a/docs/spec/system.html +++ b/docs/spec/system.html @@ -692,12 +692,6 @@ integer × - -_mulu -2 -unsigned -× -

An operation is exposed as a 1-modifier that takes up to four numbers for its operand.

@@ -710,7 +704,7 @@

The operand is extended to length 3 for monadic operations, and 4 for dyadic operations, by repeating the last element (like »(4⥊⊢´)). It must be a number, or array of numbers with rank at most 1.

An example call is a 161•bit._add b, to perform 16-bit additions on two boolean arrays with a boolean result.

To apply a bitwise operation, each argument is represented as a stream of bits based on the width given for it, then split into units whose width is the operation width. The operation is applied to these units. The result is again treated as a stream of bits and split according to the result width, with each unit forming a result element.

-

The operation width, along with the "Type" column above, determines what operation is performed. For bit operations it has no effect, except to constrain the argument sizes according to the shape rules below. Integer (meaning signed) and unsigned operations support widths of 8 and above, and should support higher values such as 128 if available.

+

The operation width, along with the "Type" column above, determines what operation is performed. For bit operations it has no effect, except to constrain the argument sizes according to the shape rules below. Integer operations support widths of 8 and above, and should support higher values such as 128 if available. For all of them, there is no difference between wrapping signed and unsigned operations given that the argument and result widths are the same.

Argument and result widths correspond to little-endian binary representations according to the following table (operation widths don't—see the "type" field in the table above). Here "boolean" indicates value 0 or 1, "signed integer" indicates two's complement representation, and "character" is a code point in an unsigned representation. Either type may be used for an argument, but the result will always use a primary type.

-- cgit v1.2.3