Roberto E. Vargas Caballero 1bb5a34dfe dc: Use scale for number of digits in multiplication
The scale factor has to be considered in the multiplication because
many algorithms will depend of the precision configured in the scale,
that, until now, was considered only for division. BSD and Plan9
dc differ about how to handle this, and plan9 always use only the
scale factor, while BSD uses the maximun of the scale factor or the
bigger scale of the operands. The second seems more sensible and
produces output that user would expect, for example 0k 0.5 0.5*p would
produce 0.2 with the BSD criteria, but it would generate 0 with the
plan9 criteria.
2026-01-22 12:40:34 +01:00
2023-04-12 21:22:28 -07:00
2025-12-31 15:31:21 +01:00
2026-01-17 10:07:18 +01:00
2016-02-20 08:23:57 +00:00
2025-11-06 08:09:47 +01:00
2026-01-20 16:31:13 +01:00
2025-11-25 17:25:53 +01:00
2026-01-22 11:26:18 +01:00
2016-03-10 08:48:09 +00:00
2014-11-17 15:46:28 +00:00
2025-11-22 11:54:31 +01:00
2025-04-24 23:16:42 +02:00
2025-04-20 09:20:11 +02:00
2015-11-06 11:01:00 +00:00
2016-03-10 08:48:09 +00:00
2019-04-12 19:40:34 -07:00
2026-01-14 18:26:11 +01:00
2018-07-07 12:16:15 +01:00
2025-03-19 21:51:05 +01:00
2025-12-31 12:38:39 +01:00
2015-11-06 10:52:49 +00:00
2015-11-01 10:18:55 +00:00
2014-10-03 00:03:08 +01:00
2025-03-26 20:08:20 +01:00
2015-12-21 14:13:36 +00:00
2020-10-14 15:03:20 -07:00
2025-04-24 09:27:59 +02:00
2025-11-07 11:39:48 +01:00
2016-03-10 08:48:09 +00:00
2016-03-10 08:48:09 +00:00
2024-12-17 11:46:32 +01:00
2022-03-22 17:20:51 -07:00
2015-11-01 10:18:55 +00:00
2026-01-14 12:49:01 +01:00
2020-03-05 00:45:53 -08:00
2019-06-13 13:45:37 -07:00
2020-03-01 16:33:18 -08:00
2015-11-01 10:18:55 +00:00
2025-04-24 09:27:59 +02:00
2021-10-23 16:17:20 -07:00
2025-10-08 13:13:00 +02:00
2020-04-15 16:13:22 -07:00
2019-06-29 18:39:07 -07:00
2015-11-01 10:18:55 +00:00
2014-11-16 12:39:15 +00:00
2025-10-08 09:11:26 +02:00
2015-12-21 18:07:25 +00:00
2025-04-24 23:20:13 +02:00
2025-05-02 10:41:35 +02:00
2015-11-01 10:18:55 +00:00
2020-02-20 21:49:11 -08:00
2015-12-21 18:07:25 +00:00
2020-03-05 00:45:53 -08:00
2016-02-24 10:15:16 +00:00
2020-03-05 00:45:53 -08:00
2013-07-20 13:20:16 -04:00
2020-03-05 00:45:53 -08:00
2016-02-24 10:15:16 +00:00
2020-03-05 00:45:53 -08:00
2020-03-05 00:45:53 -08:00
2020-03-05 00:45:53 -08:00
2013-08-04 11:00:34 -04:00
2020-03-05 00:45:53 -08:00
2025-10-09 11:12:53 +02:00
2015-11-26 10:35:46 +00:00
2021-01-14 21:46:30 -08:00
2015-11-26 10:35:46 +00:00
2026-01-15 20:26:35 +01:00
2016-07-09 10:17:16 +01:00
2026-01-15 20:26:35 +01:00
2014-10-03 00:03:08 +01:00
2019-06-29 18:39:07 -07:00
2015-11-01 10:18:55 +00:00
2016-03-11 15:38:36 +00:00
2020-04-15 16:11:12 -07:00
2025-04-20 09:20:02 +02:00
2019-12-21 20:19:08 -08:00
2019-07-30 07:40:35 -07:00
2019-10-31 18:14:18 -07:00

sbase - suckless unix tools
===========================

sbase is a collection of unix tools that are inherently portable across
UNIX and UNIX-like systems.

The complement of sbase is ubase[1] which is Linux-specific and provides
all the non-portable tools. Together they are intended to form a base
system similar to busybox but much smaller and suckless.

Building
--------

To build sbase, simply type make. You may have to fiddle with config.mk
depending on your system.

You can also build sbase-box, which generates a single binary containing
all the required tools. You can then symlink the individual tools to
sbase-box or run: make sbase-box-install

To run the tools for sbase-box directly use: sbase-box cmd [args]

Ideally you will want to statically link sbase. If you are on Linux we
recommend using musl-libc[2].

Portability
-----------

sbase has been compiled on a variety of different operating systems,
including Linux, *BSD, OSX, Haiku, Solaris, SCO OpenServer and others.

Various combinations of operating systems and architectures have also
been built.

You can build sbase with gcc, clang, tcc, nwcc and pcc.

Status
------

The following tools are implemented:

'#'  -> UTF-8 support, '=' -> Implicit UTF-8 support, '*' -> Finished,
'|'  -> Audited,       'o' -> POSIX 2013 compliant,   'x' -> Non-POSIX,
'0'  -> NUL handling,  '()' -> Petty flag

      UTILITY         MISSING
      -------         -------
0=*|o basename        .
0=*|o cal             .
0=*|o cat             .
0=*|o chgrp           .
0=*|o chmod           .
0=*|o chown           .
0=*|x chroot          .
0=*|o cksum           .
0=*|o cmp             .
0#*|x cols            .
0=*|o comm            .
0=*|o cp              .
0=*|x cron            .
0#*|o cut             .
0=*|o date            .
0=*|o dd              .
0=*|o dirname         .
0=*|o du              .
0=*|o echo            .
    o ed              .
0=*|o env             .
0#*|o expand          .
0#*|o expr            .
0=*|o false           .
0=    find            .
0=* x flock           .
0#*|o fold            .
0=*|o getconf         (-v)
 =*|o grep            .
0=*|o head            .
0=*|x hostname        .
0=*|x install         .
0=* o join            .
0=*|o kill            .
0=*|o link            .
0=*|o ln              .
0=*|o logger          .
0=*|o logname         .
0#* o ls              (-C, -k, -m, -p, -s, -x)
  * o make            (-j)
0=*|x md5sum          .
0=*|o mkdir           .
0=*|o mkfifo          .
0=*|x mknod           .
0=*|x mktemp          .
0=*|o mv              (-i)
0=*|o nice            .
0#*|o nl              .
0=*|o nohup           .
0=*|o od              .
 #*|o paste           .
0#* o pathchk         .
0=*|x printenv        .
0#*|o printf          .
0=*|o pwd             .
0=*|x readlink        .
0=*|o renice          .
0#* x rev             .
0=*|o rm              .
0=*|o rmdir           .
 #    sed             .
0=*|x seq             .
0=*|x setsid          .
0=*|x sha1sum         .
0=* x sha224sum       .
0=*|x sha256sum       .
0=* x sha384sum       .
0=*|x sha512sum       .
0=* x sha512-224sum   .
0=* x sha512-256sum   .
0=*|o sleep           .
0#*|o sort            .
0=*|o split           .
0=*|x sponge          .
0#*|o strings         .
0=*|x sync            .
0=*|o tail            .
0=*|x tar             .
0=*|o tee             .
0=*|o test            .
0=*|x tftp            .
0=*|o time            .
0=*|o touch           .
0#*|o tr              .
0=*|o true            .
0=* o tsort           .
0=*|o tty             .
0=*|o uname           .
0#*|o unexpand        .
0=*|o uniq            .
0=*|o unlink          .
0=*|o uudecode        .
0=*|o uuencode        .
0#*|o wc              .
0=*|x which           .
0=*|x whoami          .
0=*|o xargs           .
0=*|x yes             .

[1] http://git.suckless.org/ubase/
[2] http://www.musl-libc.org/
Description
No description provided
Readme MIT 2.4 MiB
Languages
C 73.8%
Roff 14.5%
Shell 7.5%
Yacc 2.5%
Awk 1.1%
Other 0.6%