If you notice something wrong, strange or broken, try rereading:

    README.FIRST
    HOWTO.INSTALL
    BUGS (this file)

If that does not help, cd to the calc source directory and try:

    make check

Look at the end of the output, it should say something like:

    9998: passed all tests  /\../\
    9999: Ending regression tests

If it does not, then something is really broken!

To be sure that your version of calc is up to date.
Look for the latest release on GitHub:

    https://github.com/lcn2/calc/releases

Just below latest GitHub release sectiop is something called:

    > Assets

Click in the triangle to open up the Assets then click on
the approptiate package to download.

If you made and modifications to calc beyond the simple Makefile
configuration, try backing those changes out and see if things get
better.

If you have tried all of the above and things still are not right,
then it may be time to send in a bug report.

=-=

If you encounter a warning or error in compiling, or if you
find a calc bug and you wish to send is a fix, we recommend
that you submit your change using the GitHub pull request:

    https://github.com/lcn2/calc/pulls

=-=

If you just want to send us a bug report, we recommend
doing so via the GitHub issue process:

    https://github.com/lcn2/calc/issues

If you see an existing issue that matches your problem, look
over the notes and if needed, add your own observation,
even if you just add to an existing issue:

    I have this issue too

If you don't see your issue addressed, then on the above
GitHub web page, click on this button:

    ((New Issue))

Please include the following information in the new issue:

    * A description of the problem

    * Version of calc you are using

        If you cannot compile calc, then look at version.c
        and report the #define that start with:

            #define MAJOR_VER
            #define MINOR_VER
            #define MAJOR_PATCH
            #define MINOR_PATCH

    * If you modified calc from an official patch,
      send us the mods you made

    * Type and version of the operating system

    * Type and version of compiler

    * Send us all compiler warnings or errors you find

    * If calc dumped core, try to send us a core dump stack trace

    * cd to the calc source directory, and send the contents
      of debug.out.txt produced by this command:

        make debug

PLEASE attach the debug.out.txt file to your GitHub issue (bug report)!!

Please be patient as we cannot always respond to pull requests quickly.

=-=

Known bugs in calc:

    The output of the alg_config.cal resource file is bogus.
    We would welcome a replacement for this code.

    Calc may not compile natively under Windows 11, however with
    MSYS2 Software Distribution (a fork of Cygwin) people compile
    calc under Windiws just fine.  See README.WINDOWS.

    We are sure some more bugs exist.  When you find them, please let
    us know!  See the above for details on how to report and were to
    Email your bug reports and hopefully patches to fix them.

=-=

mis-features in calc:

    Some problems are not bugs but rather mis-features / things that could
    work better.  The following is a list of mis-features that should be
    addressed and improved someday.

    * When statement is of the form { ... }, the leading { MUST BE ON
      THE SAME LINE as the if, for, while or do keyword.

      This works as expected:

        if (expr) {
            ...
        }

      However this WILL NOT WORK AS EXPECTED:

        if (expr)
        {
            ...
        }

      This needs to be changed.  See also "help statement", "help unexpected",
      and "help todo".

    * The chi.cal resource file does not work well with odd degrees
      of freedom.  Can someone improve this algorithm?

    * The intfile.cal resource file reads and writes big or little Endian
      integers to/from files the hard way.  It does NOT use blkcpy.  The
      following code:

        i = (ord("\n") << 16) | (ord("i") << 8) | ord("H")
        b = blk()
        copy(i, b)
        fd = fopen("file", "w")
        copy(b, fd);
        fclose(fd)

      will write an extra NUL octet to the file.  Where as:

        read intfile
        i = (ord("\n") << 16) | (ord("i") << 8) | ord("H")
        be2file(i, "file2")

      will not.

    * The numerator is assumed

        The numerator value of 1 appears to be assumed.  In calc:

             / 2

        will produce a value of 0.5 as if the numerator 1 was given.


=-=

## Copyright (C) 1999-2014,2021,2023  Landon Curt Noll
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL.  You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
##
## Under source code control:   1994/03/18 14:06:13
## File existed as early as:    1994
##
## chongo <was here> /\oo/\     http://www.isthe.com/chongo/
## Share and enjoy!  :-)        http://www.isthe.com/chongo/tech/comp/calc/
