version 1.4, 2025/03/09 15:20:18
|
version 1.7, 2025/04/10 01:24:38
|
Line 1
|
Line 1
|
/* |
/* |
* * |
* $Id$ |
* * * |
|
* * * |
|
* *************** |
|
* * * * * |
|
* * MUMPS * |
|
* * * * * |
|
* *************** |
|
* * * |
|
* * * |
|
* * |
|
* |
|
* operator.c |
|
* operators pattern-match, divide, multiply, add, power |
* operators pattern-match, divide, multiply, add, power |
* |
* |
* |
* |
* Author: Serena Willis <snw@coherent-logic.com> |
* Author: Serena Willis <snw@coherent-logic.com> |
* Copyright (C) 1998 MUG Deutschland |
* Copyright (C) 1998 MUG Deutschland |
* Copyright (C) 2020 Coherent Logic Development LLC |
* Copyright (C) 2020, 2025 Coherent Logic Development LLC |
* |
* |
* |
* |
* This file is part of FreeM. |
* This file is part of FreeM. |
Line 35
|
Line 23
|
* You should have received a copy of the GNU Affero Public License |
* You should have received a copy of the GNU Affero Public License |
* along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
* along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
* |
* |
|
* $Log$ |
|
* Revision 1.7 2025/04/10 01:24:38 snw |
|
* Remove C++ style comments |
|
* |
|
* Revision 1.6 2025/04/09 19:52:02 snw |
|
* Eliminate as many warnings as possible while building with -Wall |
|
* |
|
* Revision 1.5 2025/03/09 19:50:47 snw |
|
* Second phase of REUSE compliance and header reformat |
|
* |
|
* |
|
* SPDX-FileCopyrightText: (C) 2025 Coherent Logic Development LLC |
|
* SPDX-License-Identifier: AGPL-3.0-or-later |
**/ |
**/ |
|
|
#include "mpsdef.h" |
#include "mpsdef.h" |
Line 801 void add (char *a, char *b) /* string
|
Line 802 void add (char *a, char *b) /* string
|
mi = 1; |
mi = 1; |
a[0] = ZERO; |
a[0] = ZERO; |
} |
} |
while (a[mi] == ZERO) { |
while (a[(int) mi] == ZERO) { |
stcpy (&a[mi], &a[mi + 1]); |
stcpy (&a[(int) mi], &a[((int) mi) + 1]); |
dpa--; |
dpa--; |
} |
} |
if (dpa < 0) |
if (dpa < 0) |
Line 830 void add (char *a, char *b) /* string
|
Line 831 void add (char *a, char *b) /* string
|
} |
} |
a[0] = MINUS; |
a[0] = MINUS; |
} |
} |
if (a[mi] == EOL) { |
if (a[(int) mi] == EOL) { |
a[0] = ZERO; |
a[0] = ZERO; |
a[1] = EOL; |
a[1] = EOL; |
} |
} |
Line 1128 void mdiv (char *uu, char *v, short typ)
|
Line 1129 void mdiv (char *uu, char *v, short typ)
|
|
|
case '#': |
case '#': |
snprintf (uu, STRLEN - 1, "%ld\201", (((long) fp_uu) % ((long) fp_v))); |
snprintf (uu, STRLEN - 1, "%ld\201", (((long) fp_uu) % ((long) fp_v))); |
//snprintf (uu, STRLEN - 1, "%ld\201", ((long) fp_uu < 0 ? (((long) fp_uu % (long) fp_v) + (long) fp_v) % (long) fp_v : (long) fp_uu % (long) fp_v)); |
/*snprintf (uu, STRLEN - 1, "%ld\201", ((long) fp_uu < 0 ? (((long) fp_uu % (long) fp_v) + (long) fp_v) % (long) fp_v : (long) fp_uu % (long) fp_v)); */ |
break; |
break; |
} |
} |
|
|