diff options
Diffstat (limited to 'manuals')
35 files changed, 1640 insertions, 25 deletions
diff --git a/manuals/bc/A.1 b/manuals/bc/A.1 index ff9973e3cc8d..bf6c9108456b 100644 --- a/manuals/bc/A.1 +++ b/manuals/bc/A.1 @@ -176,6 +176,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-l\f[R], \f[B]--mathlib\f[R] Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R] and loads the included math library and the extended math library before @@ -318,6 +328,18 @@ continues normally. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -636,11 +658,28 @@ This is a \f[B]non-portable extension\f[R]. \f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R]. This is a \f[B]non-portable extension\f[R]. .IP "17." 4 +\f[B]line_length()\f[R]: The line length set with +\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R] +section). +This is a \f[B]non-portable extension\f[R]. +.IP "18." 4 +\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled +with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "19." 4 +\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled +with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "20." 4 \f[B]rand()\f[R]: A pseudo-random integer between \f[B]0\f[R] (inclusive) and \f[B]BC_RAND_MAX\f[R] (inclusive). Using this operand will change the value of \f[B]seed\f[R]. This is a \f[B]non-portable extension\f[R]. -.IP "18." 4 +.IP "21." 4 \f[B]irand(E)\f[R]: A pseudo-random integer between \f[B]0\f[R] (inclusive) and the value of \f[B]E\f[R] (exclusive). If \f[B]E\f[R] is negative or is a non-integer (\f[B]E\f[R]\[cq]s @@ -658,7 +697,7 @@ value of \f[B]E\f[R] is \f[B]0\f[R] or \f[B]1\f[R]. In that case, \f[B]0\f[R] is returned, and \f[B]seed\f[R] is \f[I]not\f[R] changed. This is a \f[B]non-portable extension\f[R]. -.IP "19." 4 +.IP "22." 4 \f[B]maxrand()\f[R]: The max integer returned by \f[B]rand()\f[R]. This is a \f[B]non-portable extension\f[R]. .PP @@ -1937,6 +1976,46 @@ This function is used to implement other bitwise functions; it is not meant to be used by users, but it can be. .RE .TP +\f[B]plz(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed with a leading zero, regardless +of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R] +section) and without a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline. +.RE +.TP +\f[B]plznl(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed with a leading zero, regardless +of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R] +section) and with a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline. +.RE +.TP +\f[B]pnlz(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed without a leading zero, +regardless of the use of the \f[B]-z\f[R] option (see the +\f[B]OPTIONS\f[R] section) and without a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline. +.RE +.TP +\f[B]pnlznl(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed without a leading zero, +regardless of the use of the \f[B]-z\f[R] option (see the +\f[B]OPTIONS\f[R] section) and with a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline. +.RE +.TP \f[B]ubytes(x)\f[R] Returns the numbers of unsigned integer bytes required to hold the truncated absolute value of \f[B]x\f[R]. @@ -2407,6 +2486,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length, including the backslash (\f[B]\[rs]\f[R]). The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]BC_BANNER\f[R] If this environment variable exists and contains an integer, then a diff --git a/manuals/bc/A.1.md b/manuals/bc/A.1.md index 9ab4665e9ebd..e773d967284c 100644 --- a/manuals/bc/A.1.md +++ b/manuals/bc/A.1.md @@ -141,6 +141,14 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-l**, **-\-mathlib** : Sets **scale** (see the **SYNTAX** section) to **20** and loads the included @@ -248,6 +256,17 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -488,10 +507,18 @@ The following are valid operands in bc(1): extension**. 16. **maxscale()**: The max allowable **scale**. This is a **non-portable extension**. -17. **rand()**: A pseudo-random integer between **0** (inclusive) and +17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the + **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**. +18. **global_stacks()**: **0** if global stacks are not enabled with the **-g** + or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z** + or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +20. **rand()**: A pseudo-random integer between **0** (inclusive) and **BC_RAND_MAX** (inclusive). Using this operand will change the value of **seed**. This is a **non-portable extension**. -18. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the +21. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the value of **E** (exclusive). If **E** is negative or is a non-integer (**E**'s *scale* is not **0**), an error is raised, and bc(1) resets (see the **RESET** section) while **seed** remains unchanged. If **E** is larger @@ -502,7 +529,7 @@ The following are valid operands in bc(1): change the value of **seed**, unless the value of **E** is **0** or **1**. In that case, **0** is returned, and **seed** is *not* changed. This is a **non-portable extension**. -19. **maxrand()**: The max integer returned by **rand()**. This is a +22. **maxrand()**: The max integer returned by **rand()**. This is a **non-portable extension**. The integers generated by **rand()** and **irand(E)** are guaranteed to be as @@ -1597,6 +1624,38 @@ The extended library is a **non-portable extension**. This function is used to implement other bitwise functions; it is not meant to be used by users, but it can be. +**plz(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed with a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and without a trailing newline. + + Otherwise, **x** is printed normally, without a trailing newline. + +**plznl(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed with a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and with a trailing newline. + + Otherwise, **x** is printed normally, with a trailing newline. + +**pnlz(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed without a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and without a trailing newline. + + Otherwise, **x** is printed normally, without a trailing newline. + +**pnlznl(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed without a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and with a trailing newline. + + Otherwise, **x** is printed normally, with a trailing newline. + **ubytes(x)** : Returns the numbers of unsigned integer bytes required to hold the truncated @@ -2012,6 +2071,9 @@ bc(1) recognizes the following environment variables: lines to that length, including the backslash (**\\**). The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **BC_BANNER** : If this environment variable exists and contains an integer, then a non-zero diff --git a/manuals/bc/E.1 b/manuals/bc/E.1 index f157f6668a48..bb563f5c96fc 100644 --- a/manuals/bc/E.1 +++ b/manuals/bc/E.1 @@ -154,6 +154,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-l\f[R], \f[B]--mathlib\f[R] Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R] and loads the included math library before running any code, including @@ -287,6 +297,18 @@ continues normally. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -570,6 +592,23 @@ This is a \f[B]non-portable extension\f[R]. .IP "16." 4 \f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R]. This is a \f[B]non-portable extension\f[R]. +.IP "17." 4 +\f[B]line_length()\f[R]: The line length set with +\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R] +section). +This is a \f[B]non-portable extension\f[R]. +.IP "18." 4 +\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled +with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "19." 4 +\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled +with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. .SS Numbers .PP Numbers are strings made up of digits, uppercase letters, and at most @@ -1295,6 +1334,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length, including the backslash (\f[B]\[rs]\f[R]). The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]BC_BANNER\f[R] If this environment variable exists and contains an integer, then a diff --git a/manuals/bc/E.1.md b/manuals/bc/E.1.md index 5c9d83b97c4c..63367e436cc8 100644 --- a/manuals/bc/E.1.md +++ b/manuals/bc/E.1.md @@ -125,6 +125,14 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-l**, **-\-mathlib** : Sets **scale** (see the **SYNTAX** section) to **20** and loads the included @@ -228,6 +236,17 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -442,6 +461,14 @@ The following are valid operands in bc(1): extension**. 16. **maxscale()**: The max allowable **scale**. This is a **non-portable extension**. +17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the + **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**. +18. **global_stacks()**: **0** if global stacks are not enabled with the **-g** + or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z** + or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. ## Numbers @@ -1064,6 +1091,9 @@ bc(1) recognizes the following environment variables: lines to that length, including the backslash (**\\**). The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **BC_BANNER** : If this environment variable exists and contains an integer, then a non-zero diff --git a/manuals/bc/EH.1 b/manuals/bc/EH.1 index aca8e3b65f34..0bdfaa9fe14b 100644 --- a/manuals/bc/EH.1 +++ b/manuals/bc/EH.1 @@ -154,6 +154,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-l\f[R], \f[B]--mathlib\f[R] Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R] and loads the included math library before running any code, including @@ -287,6 +297,18 @@ continues normally. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -570,6 +592,23 @@ This is a \f[B]non-portable extension\f[R]. .IP "16." 4 \f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R]. This is a \f[B]non-portable extension\f[R]. +.IP "17." 4 +\f[B]line_length()\f[R]: The line length set with +\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R] +section). +This is a \f[B]non-portable extension\f[R]. +.IP "18." 4 +\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled +with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "19." 4 +\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled +with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. .SS Numbers .PP Numbers are strings made up of digits, uppercase letters, and at most @@ -1295,6 +1334,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length, including the backslash (\f[B]\[rs]\f[R]). The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]BC_BANNER\f[R] If this environment variable exists and contains an integer, then a diff --git a/manuals/bc/EH.1.md b/manuals/bc/EH.1.md index 89fc2b54f27f..044330b7fe0a 100644 --- a/manuals/bc/EH.1.md +++ b/manuals/bc/EH.1.md @@ -125,6 +125,14 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-l**, **-\-mathlib** : Sets **scale** (see the **SYNTAX** section) to **20** and loads the included @@ -228,6 +236,17 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -442,6 +461,14 @@ The following are valid operands in bc(1): extension**. 16. **maxscale()**: The max allowable **scale**. This is a **non-portable extension**. +17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the + **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**. +18. **global_stacks()**: **0** if global stacks are not enabled with the **-g** + or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z** + or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. ## Numbers @@ -1064,6 +1091,9 @@ bc(1) recognizes the following environment variables: lines to that length, including the backslash (**\\**). The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **BC_BANNER** : If this environment variable exists and contains an integer, then a non-zero diff --git a/manuals/bc/EHN.1 b/manuals/bc/EHN.1 index 5aff4d53a344..f0519898ad7e 100644 --- a/manuals/bc/EHN.1 +++ b/manuals/bc/EHN.1 @@ -154,6 +154,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-l\f[R], \f[B]--mathlib\f[R] Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R] and loads the included math library before running any code, including @@ -287,6 +297,18 @@ continues normally. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -570,6 +592,23 @@ This is a \f[B]non-portable extension\f[R]. .IP "16." 4 \f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R]. This is a \f[B]non-portable extension\f[R]. +.IP "17." 4 +\f[B]line_length()\f[R]: The line length set with +\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R] +section). +This is a \f[B]non-portable extension\f[R]. +.IP "18." 4 +\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled +with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "19." 4 +\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled +with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. .SS Numbers .PP Numbers are strings made up of digits, uppercase letters, and at most @@ -1295,6 +1334,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length, including the backslash (\f[B]\[rs]\f[R]). The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]BC_BANNER\f[R] If this environment variable exists and contains an integer, then a diff --git a/manuals/bc/EHN.1.md b/manuals/bc/EHN.1.md index 618a09286de1..25543500eea7 100644 --- a/manuals/bc/EHN.1.md +++ b/manuals/bc/EHN.1.md @@ -125,6 +125,14 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-l**, **-\-mathlib** : Sets **scale** (see the **SYNTAX** section) to **20** and loads the included @@ -228,6 +236,17 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -442,6 +461,14 @@ The following are valid operands in bc(1): extension**. 16. **maxscale()**: The max allowable **scale**. This is a **non-portable extension**. +17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the + **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**. +18. **global_stacks()**: **0** if global stacks are not enabled with the **-g** + or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z** + or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. ## Numbers @@ -1064,6 +1091,9 @@ bc(1) recognizes the following environment variables: lines to that length, including the backslash (**\\**). The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **BC_BANNER** : If this environment variable exists and contains an integer, then a non-zero diff --git a/manuals/bc/EN.1 b/manuals/bc/EN.1 index e67cbf332c88..192dccfea2fc 100644 --- a/manuals/bc/EN.1 +++ b/manuals/bc/EN.1 @@ -154,6 +154,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-l\f[R], \f[B]--mathlib\f[R] Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R] and loads the included math library before running any code, including @@ -287,6 +297,18 @@ continues normally. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -570,6 +592,23 @@ This is a \f[B]non-portable extension\f[R]. .IP "16." 4 \f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R]. This is a \f[B]non-portable extension\f[R]. +.IP "17." 4 +\f[B]line_length()\f[R]: The line length set with +\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R] +section). +This is a \f[B]non-portable extension\f[R]. +.IP "18." 4 +\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled +with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "19." 4 +\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled +with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. .SS Numbers .PP Numbers are strings made up of digits, uppercase letters, and at most @@ -1295,6 +1334,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length, including the backslash (\f[B]\[rs]\f[R]). The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]BC_BANNER\f[R] If this environment variable exists and contains an integer, then a diff --git a/manuals/bc/EN.1.md b/manuals/bc/EN.1.md index c99a9a28a405..e77d64cd7a56 100644 --- a/manuals/bc/EN.1.md +++ b/manuals/bc/EN.1.md @@ -125,6 +125,14 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-l**, **-\-mathlib** : Sets **scale** (see the **SYNTAX** section) to **20** and loads the included @@ -228,6 +236,17 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -442,6 +461,14 @@ The following are valid operands in bc(1): extension**. 16. **maxscale()**: The max allowable **scale**. This is a **non-portable extension**. +17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the + **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**. +18. **global_stacks()**: **0** if global stacks are not enabled with the **-g** + or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z** + or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. ## Numbers @@ -1064,6 +1091,9 @@ bc(1) recognizes the following environment variables: lines to that length, including the backslash (**\\**). The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **BC_BANNER** : If this environment variable exists and contains an integer, then a non-zero diff --git a/manuals/bc/H.1 b/manuals/bc/H.1 index 2fab932ce05c..5f290f12ae32 100644 --- a/manuals/bc/H.1 +++ b/manuals/bc/H.1 @@ -176,6 +176,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-l\f[R], \f[B]--mathlib\f[R] Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R] and loads the included math library and the extended math library before @@ -318,6 +328,18 @@ continues normally. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -636,11 +658,28 @@ This is a \f[B]non-portable extension\f[R]. \f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R]. This is a \f[B]non-portable extension\f[R]. .IP "17." 4 +\f[B]line_length()\f[R]: The line length set with +\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R] +section). +This is a \f[B]non-portable extension\f[R]. +.IP "18." 4 +\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled +with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "19." 4 +\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled +with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "20." 4 \f[B]rand()\f[R]: A pseudo-random integer between \f[B]0\f[R] (inclusive) and \f[B]BC_RAND_MAX\f[R] (inclusive). Using this operand will change the value of \f[B]seed\f[R]. This is a \f[B]non-portable extension\f[R]. -.IP "18." 4 +.IP "21." 4 \f[B]irand(E)\f[R]: A pseudo-random integer between \f[B]0\f[R] (inclusive) and the value of \f[B]E\f[R] (exclusive). If \f[B]E\f[R] is negative or is a non-integer (\f[B]E\f[R]\[cq]s @@ -658,7 +697,7 @@ value of \f[B]E\f[R] is \f[B]0\f[R] or \f[B]1\f[R]. In that case, \f[B]0\f[R] is returned, and \f[B]seed\f[R] is \f[I]not\f[R] changed. This is a \f[B]non-portable extension\f[R]. -.IP "19." 4 +.IP "22." 4 \f[B]maxrand()\f[R]: The max integer returned by \f[B]rand()\f[R]. This is a \f[B]non-portable extension\f[R]. .PP @@ -1937,6 +1976,46 @@ This function is used to implement other bitwise functions; it is not meant to be used by users, but it can be. .RE .TP +\f[B]plz(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed with a leading zero, regardless +of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R] +section) and without a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline. +.RE +.TP +\f[B]plznl(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed with a leading zero, regardless +of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R] +section) and with a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline. +.RE +.TP +\f[B]pnlz(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed without a leading zero, +regardless of the use of the \f[B]-z\f[R] option (see the +\f[B]OPTIONS\f[R] section) and without a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline. +.RE +.TP +\f[B]pnlznl(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed without a leading zero, +regardless of the use of the \f[B]-z\f[R] option (see the +\f[B]OPTIONS\f[R] section) and with a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline. +.RE +.TP \f[B]ubytes(x)\f[R] Returns the numbers of unsigned integer bytes required to hold the truncated absolute value of \f[B]x\f[R]. @@ -2407,6 +2486,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length, including the backslash (\f[B]\[rs]\f[R]). The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]BC_BANNER\f[R] If this environment variable exists and contains an integer, then a diff --git a/manuals/bc/H.1.md b/manuals/bc/H.1.md index 9a1cbbf5d518..99c88db93230 100644 --- a/manuals/bc/H.1.md +++ b/manuals/bc/H.1.md @@ -141,6 +141,14 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-l**, **-\-mathlib** : Sets **scale** (see the **SYNTAX** section) to **20** and loads the included @@ -248,6 +256,17 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -488,10 +507,18 @@ The following are valid operands in bc(1): extension**. 16. **maxscale()**: The max allowable **scale**. This is a **non-portable extension**. -17. **rand()**: A pseudo-random integer between **0** (inclusive) and +17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the + **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**. +18. **global_stacks()**: **0** if global stacks are not enabled with the **-g** + or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z** + or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +20. **rand()**: A pseudo-random integer between **0** (inclusive) and **BC_RAND_MAX** (inclusive). Using this operand will change the value of **seed**. This is a **non-portable extension**. -18. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the +21. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the value of **E** (exclusive). If **E** is negative or is a non-integer (**E**'s *scale* is not **0**), an error is raised, and bc(1) resets (see the **RESET** section) while **seed** remains unchanged. If **E** is larger @@ -502,7 +529,7 @@ The following are valid operands in bc(1): change the value of **seed**, unless the value of **E** is **0** or **1**. In that case, **0** is returned, and **seed** is *not* changed. This is a **non-portable extension**. -19. **maxrand()**: The max integer returned by **rand()**. This is a +22. **maxrand()**: The max integer returned by **rand()**. This is a **non-portable extension**. The integers generated by **rand()** and **irand(E)** are guaranteed to be as @@ -1597,6 +1624,38 @@ The extended library is a **non-portable extension**. This function is used to implement other bitwise functions; it is not meant to be used by users, but it can be. +**plz(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed with a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and without a trailing newline. + + Otherwise, **x** is printed normally, without a trailing newline. + +**plznl(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed with a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and with a trailing newline. + + Otherwise, **x** is printed normally, with a trailing newline. + +**pnlz(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed without a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and without a trailing newline. + + Otherwise, **x** is printed normally, without a trailing newline. + +**pnlznl(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed without a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and with a trailing newline. + + Otherwise, **x** is printed normally, with a trailing newline. + **ubytes(x)** : Returns the numbers of unsigned integer bytes required to hold the truncated @@ -2012,6 +2071,9 @@ bc(1) recognizes the following environment variables: lines to that length, including the backslash (**\\**). The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **BC_BANNER** : If this environment variable exists and contains an integer, then a non-zero diff --git a/manuals/bc/HN.1 b/manuals/bc/HN.1 index 1ca11d9b4579..4773ff77efea 100644 --- a/manuals/bc/HN.1 +++ b/manuals/bc/HN.1 @@ -176,6 +176,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-l\f[R], \f[B]--mathlib\f[R] Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R] and loads the included math library and the extended math library before @@ -318,6 +328,18 @@ continues normally. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -636,11 +658,28 @@ This is a \f[B]non-portable extension\f[R]. \f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R]. This is a \f[B]non-portable extension\f[R]. .IP "17." 4 +\f[B]line_length()\f[R]: The line length set with +\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R] +section). +This is a \f[B]non-portable extension\f[R]. +.IP "18." 4 +\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled +with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "19." 4 +\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled +with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "20." 4 \f[B]rand()\f[R]: A pseudo-random integer between \f[B]0\f[R] (inclusive) and \f[B]BC_RAND_MAX\f[R] (inclusive). Using this operand will change the value of \f[B]seed\f[R]. This is a \f[B]non-portable extension\f[R]. -.IP "18." 4 +.IP "21." 4 \f[B]irand(E)\f[R]: A pseudo-random integer between \f[B]0\f[R] (inclusive) and the value of \f[B]E\f[R] (exclusive). If \f[B]E\f[R] is negative or is a non-integer (\f[B]E\f[R]\[cq]s @@ -658,7 +697,7 @@ value of \f[B]E\f[R] is \f[B]0\f[R] or \f[B]1\f[R]. In that case, \f[B]0\f[R] is returned, and \f[B]seed\f[R] is \f[I]not\f[R] changed. This is a \f[B]non-portable extension\f[R]. -.IP "19." 4 +.IP "22." 4 \f[B]maxrand()\f[R]: The max integer returned by \f[B]rand()\f[R]. This is a \f[B]non-portable extension\f[R]. .PP @@ -1937,6 +1976,46 @@ This function is used to implement other bitwise functions; it is not meant to be used by users, but it can be. .RE .TP +\f[B]plz(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed with a leading zero, regardless +of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R] +section) and without a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline. +.RE +.TP +\f[B]plznl(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed with a leading zero, regardless +of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R] +section) and with a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline. +.RE +.TP +\f[B]pnlz(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed without a leading zero, +regardless of the use of the \f[B]-z\f[R] option (see the +\f[B]OPTIONS\f[R] section) and without a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline. +.RE +.TP +\f[B]pnlznl(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed without a leading zero, +regardless of the use of the \f[B]-z\f[R] option (see the +\f[B]OPTIONS\f[R] section) and with a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline. +.RE +.TP \f[B]ubytes(x)\f[R] Returns the numbers of unsigned integer bytes required to hold the truncated absolute value of \f[B]x\f[R]. @@ -2407,6 +2486,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length, including the backslash (\f[B]\[rs]\f[R]). The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]BC_BANNER\f[R] If this environment variable exists and contains an integer, then a diff --git a/manuals/bc/HN.1.md b/manuals/bc/HN.1.md index d61d15122bd8..d5b3324514ad 100644 --- a/manuals/bc/HN.1.md +++ b/manuals/bc/HN.1.md @@ -141,6 +141,14 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-l**, **-\-mathlib** : Sets **scale** (see the **SYNTAX** section) to **20** and loads the included @@ -248,6 +256,17 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -488,10 +507,18 @@ The following are valid operands in bc(1): extension**. 16. **maxscale()**: The max allowable **scale**. This is a **non-portable extension**. -17. **rand()**: A pseudo-random integer between **0** (inclusive) and +17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the + **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**. +18. **global_stacks()**: **0** if global stacks are not enabled with the **-g** + or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z** + or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +20. **rand()**: A pseudo-random integer between **0** (inclusive) and **BC_RAND_MAX** (inclusive). Using this operand will change the value of **seed**. This is a **non-portable extension**. -18. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the +21. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the value of **E** (exclusive). If **E** is negative or is a non-integer (**E**'s *scale* is not **0**), an error is raised, and bc(1) resets (see the **RESET** section) while **seed** remains unchanged. If **E** is larger @@ -502,7 +529,7 @@ The following are valid operands in bc(1): change the value of **seed**, unless the value of **E** is **0** or **1**. In that case, **0** is returned, and **seed** is *not* changed. This is a **non-portable extension**. -19. **maxrand()**: The max integer returned by **rand()**. This is a +22. **maxrand()**: The max integer returned by **rand()**. This is a **non-portable extension**. The integers generated by **rand()** and **irand(E)** are guaranteed to be as @@ -1597,6 +1624,38 @@ The extended library is a **non-portable extension**. This function is used to implement other bitwise functions; it is not meant to be used by users, but it can be. +**plz(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed with a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and without a trailing newline. + + Otherwise, **x** is printed normally, without a trailing newline. + +**plznl(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed with a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and with a trailing newline. + + Otherwise, **x** is printed normally, with a trailing newline. + +**pnlz(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed without a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and without a trailing newline. + + Otherwise, **x** is printed normally, without a trailing newline. + +**pnlznl(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed without a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and with a trailing newline. + + Otherwise, **x** is printed normally, with a trailing newline. + **ubytes(x)** : Returns the numbers of unsigned integer bytes required to hold the truncated @@ -2012,6 +2071,9 @@ bc(1) recognizes the following environment variables: lines to that length, including the backslash (**\\**). The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **BC_BANNER** : If this environment variable exists and contains an integer, then a non-zero diff --git a/manuals/bc/N.1 b/manuals/bc/N.1 index f5dc39a246c4..56fca3d02b4d 100644 --- a/manuals/bc/N.1 +++ b/manuals/bc/N.1 @@ -176,6 +176,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-l\f[R], \f[B]--mathlib\f[R] Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R] and loads the included math library and the extended math library before @@ -318,6 +328,18 @@ continues normally. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -636,11 +658,28 @@ This is a \f[B]non-portable extension\f[R]. \f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R]. This is a \f[B]non-portable extension\f[R]. .IP "17." 4 +\f[B]line_length()\f[R]: The line length set with +\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R] +section). +This is a \f[B]non-portable extension\f[R]. +.IP "18." 4 +\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled +with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "19." 4 +\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled +with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero +otherwise. +See the \f[B]OPTIONS\f[R] section. +This is a \f[B]non-portable extension\f[R]. +.IP "20." 4 \f[B]rand()\f[R]: A pseudo-random integer between \f[B]0\f[R] (inclusive) and \f[B]BC_RAND_MAX\f[R] (inclusive). Using this operand will change the value of \f[B]seed\f[R]. This is a \f[B]non-portable extension\f[R]. -.IP "18." 4 +.IP "21." 4 \f[B]irand(E)\f[R]: A pseudo-random integer between \f[B]0\f[R] (inclusive) and the value of \f[B]E\f[R] (exclusive). If \f[B]E\f[R] is negative or is a non-integer (\f[B]E\f[R]\[cq]s @@ -658,7 +697,7 @@ value of \f[B]E\f[R] is \f[B]0\f[R] or \f[B]1\f[R]. In that case, \f[B]0\f[R] is returned, and \f[B]seed\f[R] is \f[I]not\f[R] changed. This is a \f[B]non-portable extension\f[R]. -.IP "19." 4 +.IP "22." 4 \f[B]maxrand()\f[R]: The max integer returned by \f[B]rand()\f[R]. This is a \f[B]non-portable extension\f[R]. .PP @@ -1937,6 +1976,46 @@ This function is used to implement other bitwise functions; it is not meant to be used by users, but it can be. .RE .TP +\f[B]plz(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed with a leading zero, regardless +of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R] +section) and without a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline. +.RE +.TP +\f[B]plznl(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed with a leading zero, regardless +of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R] +section) and with a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline. +.RE +.TP +\f[B]pnlz(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed without a leading zero, +regardless of the use of the \f[B]-z\f[R] option (see the +\f[B]OPTIONS\f[R] section) and without a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline. +.RE +.TP +\f[B]pnlznl(x)\f[R] +If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R] +and less than \f[B]1\f[R], it is printed without a leading zero, +regardless of the use of the \f[B]-z\f[R] option (see the +\f[B]OPTIONS\f[R] section) and with a trailing newline. +.RS +.PP +Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline. +.RE +.TP \f[B]ubytes(x)\f[R] Returns the numbers of unsigned integer bytes required to hold the truncated absolute value of \f[B]x\f[R]. @@ -2407,6 +2486,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length, including the backslash (\f[B]\[rs]\f[R]). The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]BC_BANNER\f[R] If this environment variable exists and contains an integer, then a diff --git a/manuals/bc/N.1.md b/manuals/bc/N.1.md index 6867a05d2184..51dad376b56d 100644 --- a/manuals/bc/N.1.md +++ b/manuals/bc/N.1.md @@ -141,6 +141,14 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-l**, **-\-mathlib** : Sets **scale** (see the **SYNTAX** section) to **20** and loads the included @@ -248,6 +256,17 @@ The following are the options that bc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -488,10 +507,18 @@ The following are valid operands in bc(1): extension**. 16. **maxscale()**: The max allowable **scale**. This is a **non-portable extension**. -17. **rand()**: A pseudo-random integer between **0** (inclusive) and +17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the + **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**. +18. **global_stacks()**: **0** if global stacks are not enabled with the **-g** + or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z** + or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS** + section. This is a **non-portable extension**. +20. **rand()**: A pseudo-random integer between **0** (inclusive) and **BC_RAND_MAX** (inclusive). Using this operand will change the value of **seed**. This is a **non-portable extension**. -18. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the +21. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the value of **E** (exclusive). If **E** is negative or is a non-integer (**E**'s *scale* is not **0**), an error is raised, and bc(1) resets (see the **RESET** section) while **seed** remains unchanged. If **E** is larger @@ -502,7 +529,7 @@ The following are valid operands in bc(1): change the value of **seed**, unless the value of **E** is **0** or **1**. In that case, **0** is returned, and **seed** is *not* changed. This is a **non-portable extension**. -19. **maxrand()**: The max integer returned by **rand()**. This is a +22. **maxrand()**: The max integer returned by **rand()**. This is a **non-portable extension**. The integers generated by **rand()** and **irand(E)** are guaranteed to be as @@ -1597,6 +1624,38 @@ The extended library is a **non-portable extension**. This function is used to implement other bitwise functions; it is not meant to be used by users, but it can be. +**plz(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed with a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and without a trailing newline. + + Otherwise, **x** is printed normally, without a trailing newline. + +**plznl(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed with a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and with a trailing newline. + + Otherwise, **x** is printed normally, with a trailing newline. + +**pnlz(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed without a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and without a trailing newline. + + Otherwise, **x** is printed normally, without a trailing newline. + +**pnlznl(x)** + +: If **x** is not equal to **0** and greater that **-1** and less than **1**, + it is printed without a leading zero, regardless of the use of the **-z** + option (see the **OPTIONS** section) and with a trailing newline. + + Otherwise, **x** is printed normally, with a trailing newline. + **ubytes(x)** : Returns the numbers of unsigned integer bytes required to hold the truncated @@ -2012,6 +2071,9 @@ bc(1) recognizes the following environment variables: lines to that length, including the backslash (**\\**). The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **BC_BANNER** : If this environment variable exists and contains an integer, then a non-zero diff --git a/manuals/bcl.3 b/manuals/bcl.3 index c079a20c40ba..9370417dcfef 100644 --- a/manuals/bcl.3 +++ b/manuals/bcl.3 @@ -55,6 +55,11 @@ These items allow clients to set up bcl(3). .PP \f[B]void bcl_setAbortOnFatalError(bool\f[R] \f[I]abrt\f[R]\f[B]);\f[R] .PP +\f[B]bool bcl_leadingZeroes(\f[R]\f[I]void\f[R]\f[B]);\f[R] +.PP +\f[B]void bcl_setLeadingZeroes(bool\f[R] +\f[I]leadingZeroes\f[R]\f[B]);\f[R] +.PP \f[B]void bcl_gc(\f[R]\f[I]void\f[R]\f[B]);\f[R] .SS Contexts .PP @@ -231,8 +236,9 @@ bcl(3) is async-signal-safe if \f[B]bcl_handleSignal(\f[R]\f[I]void\f[R]\f[B])\f[R] is used properly. (See the \f[B]SIGNAL HANDLING\f[R] section.) .PP -bcl(3) assumes that it is allowed to use the \f[B]bcl_\f[R] and -\f[B]bc_\f[R] prefixes for symbol names without collision. +bcl(3) assumes that it is allowed to use the \f[B]bcl\f[R], +\f[B]Bcl\f[R], \f[B]bc\f[R], and \f[B]Bc\f[R] prefixes for symbol names +without collision. .PP All of the items in its interface are described below. See the documentation for each function for what each function can @@ -304,6 +310,8 @@ a fatal error occurs. .RS .PP If activated, clients do not need to check for fatal errors. +.PP +The default is \f[B]false\f[R]. .RE .TP \f[B]void bcl_setAbortOnFatalError(bool\f[R] \f[I]abrt\f[R]\f[B])\f[R] @@ -317,6 +325,23 @@ If \f[I]abrt\f[R] is \f[B]true\f[R], bcl(3) will cause a If activated, clients do not need to check for fatal errors. .RE .TP +\f[B]bool bcl_leadingZeroes(\f[R]\f[I]void\f[R]\f[B])\f[R] +Queries and returns the state of whether leading zeroes are added to +strings returned by \f[B]bcl_string()\f[R] when numbers are greater than +\f[B]-1\f[R], less than \f[B]1\f[R], and not equal to \f[B]0\f[R]. +If \f[B]true\f[R] is returned, then leading zeroes will be added. +.RS +.PP +The default is \f[B]false\f[R]. +.RE +.TP +\f[B]void bcl_setLeadingZeroes(bool\f[R] \f[I]leadingZeroes\f[R]\f[B])\f[R] +Sets the state of whether leading zeroes are added to strings returned +by \f[B]bcl_string()\f[R] when numbers are greater than \f[B]-1\f[R], +less than \f[B]1\f[R], and not equal to \f[B]0\f[R]. +If \f[I]leadingZeroes\f[R] is \f[B]true\f[R], leading zeroes will be +added to strings returned by \f[B]bcl_string()\f[R]. +.TP \f[B]void bcl_gc(\f[R]\f[I]void\f[R]\f[B])\f[R] Garbage collects cached instances of arbitrary-precision numbers. This only frees the memory of numbers that are \f[I]not\f[R] in use, so diff --git a/manuals/bcl.3.md b/manuals/bcl.3.md index daf5f461cc94..fa630fc79f1a 100644 --- a/manuals/bcl.3.md +++ b/manuals/bcl.3.md @@ -61,6 +61,10 @@ These items allow clients to set up bcl(3). **void bcl_setAbortOnFatalError(bool** _abrt_**);** +**bool bcl_leadingZeroes(**_void_**);** + +**void bcl_setLeadingZeroes(bool** _leadingZeroes_**);** + **void bcl_gc(**_void_**);** ## Contexts @@ -216,8 +220,8 @@ bcl(3) is a library that implements arbitrary-precision decimal math, as bcl(3) is async-signal-safe if **bcl_handleSignal(**_void_**)** is used properly. (See the **SIGNAL HANDLING** section.) -bcl(3) assumes that it is allowed to use the **bcl_** and **bc_** prefixes for -symbol names without collision. +bcl(3) assumes that it is allowed to use the **bcl**, **Bcl**, **bc**, and +**Bc** prefixes for symbol names without collision. All of the items in its interface are described below. See the documentation for each function for what each function can return. @@ -280,6 +284,8 @@ each function for what each function can return. If activated, clients do not need to check for fatal errors. + The default is **false**. + **void bcl_setAbortOnFatalError(bool** _abrt_**)** : Sets the state of calling **abort()** on fatal errors. If *abrt* is @@ -289,6 +295,22 @@ each function for what each function can return. If activated, clients do not need to check for fatal errors. +**bool bcl_leadingZeroes(**_void_**)** + +: Queries and returns the state of whether leading zeroes are added to strings + returned by **bcl_string()** when numbers are greater than **-1**, less than + **1**, and not equal to **0**. If **true** is returned, then leading zeroes + will be added. + + The default is **false**. + +**void bcl_setLeadingZeroes(bool** _leadingZeroes_**)** + +: Sets the state of whether leading zeroes are added to strings returned by + **bcl_string()** when numbers are greater than **-1**, less than **1**, and + not equal to **0**. If *leadingZeroes* is **true**, leading zeroes will be + added to strings returned by **bcl_string()**. + **void bcl_gc(**_void_**)** : Garbage collects cached instances of arbitrary-precision numbers. This only diff --git a/manuals/build.md b/manuals/build.md index f8fc786329eb..13e969e8e673 100644 --- a/manuals/build.md +++ b/manuals/build.md @@ -46,7 +46,7 @@ However, if you wish to build it yourself, this `bc` can be built using Visual Studio or MSBuild. Unfortunately, only one build configuration (besides Debug or Release) is -supported: extra math, and history enabled, NLS (locale support) disabled, with +supported: extra math enabled, history and NLS (locale support) disabled, with both calculators built. The default [settings][11] are `BC_BANNER=1`, `{BC,DC}_SIGINT_RESET=0`, `{BC,DC}_TTY_MODE=1`, `{BC,DC}_PROMPT=1`. diff --git a/manuals/dc/A.1 b/manuals/dc/A.1 index f1151a812509..a7ff2e3a6963 100644 --- a/manuals/dc/A.1 +++ b/manuals/dc/A.1 @@ -73,6 +73,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-P\f[R], \f[B]--no-prompt\f[R] Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -1072,6 +1094,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack. .PP This is a \f[B]non-portable extension\f[R]. .RE +.SS Global Settings +.PP +These commands retrieve global settings. +These are the only commands that require multiple specific characters, +and all of them begin with the letter \f[B]g\f[R]. +Only the characters below are allowed after the character \f[B]g\f[R]; +any other character produces a parse error (see the \f[B]ERRORS\f[R] +section). +.TP +\f[B]gl\f[R] +Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the +\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack. +.TP +\f[B]gz\f[R] +Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not +been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options +(see the \f[B]OPTIONS\f[R] section), non-zero otherwise. .SH REGISTERS .PP Registers are names that can store strings, numbers, and arrays. @@ -1249,6 +1288,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length, including the backslash newline combo. The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]DC_SIGINT_RESET\f[R] If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R] diff --git a/manuals/dc/A.1.md b/manuals/dc/A.1.md index 3a09d4375395..0007cc76760a 100644 --- a/manuals/dc/A.1.md +++ b/manuals/dc/A.1.md @@ -69,6 +69,14 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-P**, **-\-no-prompt** : Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -106,6 +114,17 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -942,6 +961,24 @@ These commands manipulate arrays. This is a **non-portable extension**. +## Global Settings + +These commands retrieve global settings. These are the only commands that +require multiple specific characters, and all of them begin with the letter +**g**. Only the characters below are allowed after the character **g**; any +other character produces a parse error (see the **ERRORS** section). + +**gl** + +: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT + VARIABLES** section) onto the stack. + +**gz** + +: Pushes **0** onto the stack if the leading zero setting has not been enabled + with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS** + section), non-zero otherwise. + # REGISTERS Registers are names that can store strings, numbers, and arrays. (Number/string @@ -1108,6 +1145,9 @@ dc(1) recognizes the following environment variables: lines to that length, including the backslash newline combo. The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **DC_SIGINT_RESET** : If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section), diff --git a/manuals/dc/E.1 b/manuals/dc/E.1 index 9f8859b8f6b0..8760477a03ff 100644 --- a/manuals/dc/E.1 +++ b/manuals/dc/E.1 @@ -73,6 +73,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-P\f[R], \f[B]--no-prompt\f[R] Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -872,6 +894,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack. .PP This is a \f[B]non-portable extension\f[R]. .RE +.SS Global Settings +.PP +These commands retrieve global settings. +These are the only commands that require multiple specific characters, +and all of them begin with the letter \f[B]g\f[R]. +Only the characters below are allowed after the character \f[B]g\f[R]; +any other character produces a parse error (see the \f[B]ERRORS\f[R] +section). +.TP +\f[B]gl\f[R] +Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the +\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack. +.TP +\f[B]gz\f[R] +Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not +been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options +(see the \f[B]OPTIONS\f[R] section), non-zero otherwise. .SH REGISTERS .PP Registers are names that can store strings, numbers, and arrays. @@ -1044,6 +1083,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length, including the backslash newline combo. The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]DC_SIGINT_RESET\f[R] If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R] diff --git a/manuals/dc/E.1.md b/manuals/dc/E.1.md index 9e14d20f76b2..6a2c465e5642 100644 --- a/manuals/dc/E.1.md +++ b/manuals/dc/E.1.md @@ -69,6 +69,14 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-P**, **-\-no-prompt** : Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -106,6 +114,17 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -782,6 +801,24 @@ These commands manipulate arrays. This is a **non-portable extension**. +## Global Settings + +These commands retrieve global settings. These are the only commands that +require multiple specific characters, and all of them begin with the letter +**g**. Only the characters below are allowed after the character **g**; any +other character produces a parse error (see the **ERRORS** section). + +**gl** + +: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT + VARIABLES** section) onto the stack. + +**gz** + +: Pushes **0** onto the stack if the leading zero setting has not been enabled + with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS** + section), non-zero otherwise. + # REGISTERS Registers are names that can store strings, numbers, and arrays. (Number/string @@ -943,6 +980,9 @@ dc(1) recognizes the following environment variables: lines to that length, including the backslash newline combo. The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **DC_SIGINT_RESET** : If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section), diff --git a/manuals/dc/EH.1 b/manuals/dc/EH.1 index 050074bca762..4506001dfe55 100644 --- a/manuals/dc/EH.1 +++ b/manuals/dc/EH.1 @@ -73,6 +73,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-P\f[R], \f[B]--no-prompt\f[R] Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -872,6 +894,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack. .PP This is a \f[B]non-portable extension\f[R]. .RE +.SS Global Settings +.PP +These commands retrieve global settings. +These are the only commands that require multiple specific characters, +and all of them begin with the letter \f[B]g\f[R]. +Only the characters below are allowed after the character \f[B]g\f[R]; +any other character produces a parse error (see the \f[B]ERRORS\f[R] +section). +.TP +\f[B]gl\f[R] +Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the +\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack. +.TP +\f[B]gz\f[R] +Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not +been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options +(see the \f[B]OPTIONS\f[R] section), non-zero otherwise. .SH REGISTERS .PP Registers are names that can store strings, numbers, and arrays. @@ -1044,6 +1083,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length, including the backslash newline combo. The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]DC_SIGINT_RESET\f[R] If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R] diff --git a/manuals/dc/EH.1.md b/manuals/dc/EH.1.md index 1175c57ee85d..06ec59d4b3f7 100644 --- a/manuals/dc/EH.1.md +++ b/manuals/dc/EH.1.md @@ -69,6 +69,14 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-P**, **-\-no-prompt** : Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -106,6 +114,17 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -782,6 +801,24 @@ These commands manipulate arrays. This is a **non-portable extension**. +## Global Settings + +These commands retrieve global settings. These are the only commands that +require multiple specific characters, and all of them begin with the letter +**g**. Only the characters below are allowed after the character **g**; any +other character produces a parse error (see the **ERRORS** section). + +**gl** + +: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT + VARIABLES** section) onto the stack. + +**gz** + +: Pushes **0** onto the stack if the leading zero setting has not been enabled + with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS** + section), non-zero otherwise. + # REGISTERS Registers are names that can store strings, numbers, and arrays. (Number/string @@ -943,6 +980,9 @@ dc(1) recognizes the following environment variables: lines to that length, including the backslash newline combo. The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **DC_SIGINT_RESET** : If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section), diff --git a/manuals/dc/EHN.1 b/manuals/dc/EHN.1 index b552b611c3d7..1124d907bdd9 100644 --- a/manuals/dc/EHN.1 +++ b/manuals/dc/EHN.1 @@ -73,6 +73,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-P\f[R], \f[B]--no-prompt\f[R] Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -872,6 +894,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack. .PP This is a \f[B]non-portable extension\f[R]. .RE +.SS Global Settings +.PP +These commands retrieve global settings. +These are the only commands that require multiple specific characters, +and all of them begin with the letter \f[B]g\f[R]. +Only the characters below are allowed after the character \f[B]g\f[R]; +any other character produces a parse error (see the \f[B]ERRORS\f[R] +section). +.TP +\f[B]gl\f[R] +Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the +\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack. +.TP +\f[B]gz\f[R] +Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not +been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options +(see the \f[B]OPTIONS\f[R] section), non-zero otherwise. .SH REGISTERS .PP Registers are names that can store strings, numbers, and arrays. @@ -1044,6 +1083,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length, including the backslash newline combo. The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]DC_SIGINT_RESET\f[R] If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R] diff --git a/manuals/dc/EHN.1.md b/manuals/dc/EHN.1.md index b6aedde3e0d8..50cb37ef2586 100644 --- a/manuals/dc/EHN.1.md +++ b/manuals/dc/EHN.1.md @@ -69,6 +69,14 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-P**, **-\-no-prompt** : Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -106,6 +114,17 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -782,6 +801,24 @@ These commands manipulate arrays. This is a **non-portable extension**. +## Global Settings + +These commands retrieve global settings. These are the only commands that +require multiple specific characters, and all of them begin with the letter +**g**. Only the characters below are allowed after the character **g**; any +other character produces a parse error (see the **ERRORS** section). + +**gl** + +: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT + VARIABLES** section) onto the stack. + +**gz** + +: Pushes **0** onto the stack if the leading zero setting has not been enabled + with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS** + section), non-zero otherwise. + # REGISTERS Registers are names that can store strings, numbers, and arrays. (Number/string @@ -943,6 +980,9 @@ dc(1) recognizes the following environment variables: lines to that length, including the backslash newline combo. The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **DC_SIGINT_RESET** : If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section), diff --git a/manuals/dc/EN.1 b/manuals/dc/EN.1 index d1de8e208f32..beae0e46a9b6 100644 --- a/manuals/dc/EN.1 +++ b/manuals/dc/EN.1 @@ -73,6 +73,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-P\f[R], \f[B]--no-prompt\f[R] Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -872,6 +894,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack. .PP This is a \f[B]non-portable extension\f[R]. .RE +.SS Global Settings +.PP +These commands retrieve global settings. +These are the only commands that require multiple specific characters, +and all of them begin with the letter \f[B]g\f[R]. +Only the characters below are allowed after the character \f[B]g\f[R]; +any other character produces a parse error (see the \f[B]ERRORS\f[R] +section). +.TP +\f[B]gl\f[R] +Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the +\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack. +.TP +\f[B]gz\f[R] +Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not +been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options +(see the \f[B]OPTIONS\f[R] section), non-zero otherwise. .SH REGISTERS .PP Registers are names that can store strings, numbers, and arrays. @@ -1044,6 +1083,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length, including the backslash newline combo. The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]DC_SIGINT_RESET\f[R] If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R] diff --git a/manuals/dc/EN.1.md b/manuals/dc/EN.1.md index 22983732721b..db6f27f34576 100644 --- a/manuals/dc/EN.1.md +++ b/manuals/dc/EN.1.md @@ -69,6 +69,14 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-P**, **-\-no-prompt** : Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -106,6 +114,17 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -782,6 +801,24 @@ These commands manipulate arrays. This is a **non-portable extension**. +## Global Settings + +These commands retrieve global settings. These are the only commands that +require multiple specific characters, and all of them begin with the letter +**g**. Only the characters below are allowed after the character **g**; any +other character produces a parse error (see the **ERRORS** section). + +**gl** + +: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT + VARIABLES** section) onto the stack. + +**gz** + +: Pushes **0** onto the stack if the leading zero setting has not been enabled + with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS** + section), non-zero otherwise. + # REGISTERS Registers are names that can store strings, numbers, and arrays. (Number/string @@ -943,6 +980,9 @@ dc(1) recognizes the following environment variables: lines to that length, including the backslash newline combo. The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **DC_SIGINT_RESET** : If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section), diff --git a/manuals/dc/H.1 b/manuals/dc/H.1 index ba30beb54d95..b4ab9f511080 100644 --- a/manuals/dc/H.1 +++ b/manuals/dc/H.1 @@ -73,6 +73,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-P\f[R], \f[B]--no-prompt\f[R] Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -1072,6 +1094,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack. .PP This is a \f[B]non-portable extension\f[R]. .RE +.SS Global Settings +.PP +These commands retrieve global settings. +These are the only commands that require multiple specific characters, +and all of them begin with the letter \f[B]g\f[R]. +Only the characters below are allowed after the character \f[B]g\f[R]; +any other character produces a parse error (see the \f[B]ERRORS\f[R] +section). +.TP +\f[B]gl\f[R] +Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the +\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack. +.TP +\f[B]gz\f[R] +Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not +been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options +(see the \f[B]OPTIONS\f[R] section), non-zero otherwise. .SH REGISTERS .PP Registers are names that can store strings, numbers, and arrays. @@ -1249,6 +1288,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length, including the backslash newline combo. The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]DC_SIGINT_RESET\f[R] If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R] diff --git a/manuals/dc/H.1.md b/manuals/dc/H.1.md index 0fee947ec5c3..647d486adc38 100644 --- a/manuals/dc/H.1.md +++ b/manuals/dc/H.1.md @@ -69,6 +69,14 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-P**, **-\-no-prompt** : Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -106,6 +114,17 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -942,6 +961,24 @@ These commands manipulate arrays. This is a **non-portable extension**. +## Global Settings + +These commands retrieve global settings. These are the only commands that +require multiple specific characters, and all of them begin with the letter +**g**. Only the characters below are allowed after the character **g**; any +other character produces a parse error (see the **ERRORS** section). + +**gl** + +: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT + VARIABLES** section) onto the stack. + +**gz** + +: Pushes **0** onto the stack if the leading zero setting has not been enabled + with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS** + section), non-zero otherwise. + # REGISTERS Registers are names that can store strings, numbers, and arrays. (Number/string @@ -1108,6 +1145,9 @@ dc(1) recognizes the following environment variables: lines to that length, including the backslash newline combo. The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **DC_SIGINT_RESET** : If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section), diff --git a/manuals/dc/HN.1 b/manuals/dc/HN.1 index e7a76f01dc4a..eb35cb23ff7b 100644 --- a/manuals/dc/HN.1 +++ b/manuals/dc/HN.1 @@ -73,6 +73,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-P\f[R], \f[B]--no-prompt\f[R] Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -1072,6 +1094,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack. .PP This is a \f[B]non-portable extension\f[R]. .RE +.SS Global Settings +.PP +These commands retrieve global settings. +These are the only commands that require multiple specific characters, +and all of them begin with the letter \f[B]g\f[R]. +Only the characters below are allowed after the character \f[B]g\f[R]; +any other character produces a parse error (see the \f[B]ERRORS\f[R] +section). +.TP +\f[B]gl\f[R] +Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the +\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack. +.TP +\f[B]gz\f[R] +Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not +been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options +(see the \f[B]OPTIONS\f[R] section), non-zero otherwise. .SH REGISTERS .PP Registers are names that can store strings, numbers, and arrays. @@ -1249,6 +1288,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length, including the backslash newline combo. The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]DC_SIGINT_RESET\f[R] If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R] diff --git a/manuals/dc/HN.1.md b/manuals/dc/HN.1.md index caffefacce7d..70c962624833 100644 --- a/manuals/dc/HN.1.md +++ b/manuals/dc/HN.1.md @@ -69,6 +69,14 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-P**, **-\-no-prompt** : Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -106,6 +114,17 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -942,6 +961,24 @@ These commands manipulate arrays. This is a **non-portable extension**. +## Global Settings + +These commands retrieve global settings. These are the only commands that +require multiple specific characters, and all of them begin with the letter +**g**. Only the characters below are allowed after the character **g**; any +other character produces a parse error (see the **ERRORS** section). + +**gl** + +: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT + VARIABLES** section) onto the stack. + +**gz** + +: Pushes **0** onto the stack if the leading zero setting has not been enabled + with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS** + section), non-zero otherwise. + # REGISTERS Registers are names that can store strings, numbers, and arrays. (Number/string @@ -1108,6 +1145,9 @@ dc(1) recognizes the following environment variables: lines to that length, including the backslash newline combo. The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **DC_SIGINT_RESET** : If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section), diff --git a/manuals/dc/N.1 b/manuals/dc/N.1 index 30cfcadc7a07..c5cc36ac9b10 100644 --- a/manuals/dc/N.1 +++ b/manuals/dc/N.1 @@ -73,6 +73,16 @@ Forces interactive mode. This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-L\f[R], \f[B]--no-line-length\f[R] +Disables line length checking and prints numbers without backslashes and +newlines. +In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R] +(see the \f[B]ENVIRONMENT VARIABLES\f[R] section). +.RS +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-P\f[R], \f[B]--no-prompt\f[R] Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the This is a \f[B]non-portable extension\f[R]. .RE .TP +\f[B]-z\f[R], \f[B]--leading-zeroes\f[R] +Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than +\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero. +.RS +.PP +This can be set for individual numbers with the \f[B]plz(x)\f[R], +plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the +extended math library (see the \f[B]LIBRARY\f[R] section). +.PP +This is a \f[B]non-portable extension\f[R]. +.RE +.TP \f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R] Evaluates \f[I]expr\f[R]. If multiple expressions are given, they are evaluated in order. @@ -1072,6 +1094,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack. .PP This is a \f[B]non-portable extension\f[R]. .RE +.SS Global Settings +.PP +These commands retrieve global settings. +These are the only commands that require multiple specific characters, +and all of them begin with the letter \f[B]g\f[R]. +Only the characters below are allowed after the character \f[B]g\f[R]; +any other character produces a parse error (see the \f[B]ERRORS\f[R] +section). +.TP +\f[B]gl\f[R] +Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the +\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack. +.TP +\f[B]gz\f[R] +Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not +been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options +(see the \f[B]OPTIONS\f[R] section), non-zero otherwise. .SH REGISTERS .PP Registers are names that can store strings, numbers, and arrays. @@ -1249,6 +1288,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R] (\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length, including the backslash newline combo. The default line length is \f[B]70\f[R]. +.RS +.PP +The special value of \f[B]0\f[R] will disable line length checking and +print numbers without regard to line length and without backslashes and +newlines. +.RE .TP \f[B]DC_SIGINT_RESET\f[R] If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R] diff --git a/manuals/dc/N.1.md b/manuals/dc/N.1.md index 078554a4fc58..fea23028e483 100644 --- a/manuals/dc/N.1.md +++ b/manuals/dc/N.1.md @@ -69,6 +69,14 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-L**, **-\-no-line-length** + +: Disables line length checking and prints numbers without backslashes and + newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see + the **ENVIRONMENT VARIABLES** section). + + This is a **non-portable extension**. + **-P**, **-\-no-prompt** : Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode. @@ -106,6 +114,17 @@ The following are the options that dc(1) accepts. This is a **non-portable extension**. +**-z**, **-\-leading-zeroes** + +: Makes bc(1) print all numbers greater than **-1** and less than **1**, and + not equal to **0**, with a leading zero. + + This can be set for individual numbers with the **plz(x)**, plznl(x)**, + **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see + the **LIBRARY** section). + + This is a **non-portable extension**. + **-e** *expr*, **-\-expression**=*expr* : Evaluates *expr*. If multiple expressions are given, they are evaluated in @@ -942,6 +961,24 @@ These commands manipulate arrays. This is a **non-portable extension**. +## Global Settings + +These commands retrieve global settings. These are the only commands that +require multiple specific characters, and all of them begin with the letter +**g**. Only the characters below are allowed after the character **g**; any +other character produces a parse error (see the **ERRORS** section). + +**gl** + +: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT + VARIABLES** section) onto the stack. + +**gz** + +: Pushes **0** onto the stack if the leading zero setting has not been enabled + with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS** + section), non-zero otherwise. + # REGISTERS Registers are names that can store strings, numbers, and arrays. (Number/string @@ -1108,6 +1145,9 @@ dc(1) recognizes the following environment variables: lines to that length, including the backslash newline combo. The default line length is **70**. + The special value of **0** will disable line length checking and print + numbers without regard to line length and without backslashes and newlines. + **DC_SIGINT_RESET** : If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section), |
