source: git/Singular/numbers.h @ 194f5e5

spielwiese
Last change on this file since 194f5e5 was 1fc83c0, checked in by Hans Schönemann <hannes@…>, 27 years ago
* hannes: added nExactDiv to numbers (numbers.*, longrat.*) corrected open bug in sing_dbm.cc (could only "r") simplified sing_dbm.cc (many tests already in silink.cc) (sing_dbm.cc, silink.h) added "mod" (as an alias to "%") (iparith.cc) updated singular.doc: div/mod, DBM: links ANSI-conversion in ndbm.cc (added return types, include files) git-svn-id: file:///usr/local/Singular/svn/trunk@614 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.2 KB
Line 
1#ifndef NUMBERS_H
2#define NUMBERS_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/* $Id: numbers.h,v 1.5 1997-08-12 17:14:42 Singular Exp $ */
7/*
8* ABSTRACT: interface to coefficient aritmetics
9*/
10#include "structs.h"
11
12/* typedefs */
13/*typedef void (*numberproc)(number a,number b,number * c);*/
14/*typedef number (*numberfunc)(number a,number b);*/
15
16/* variables */
17extern short fftable[];
18/*extern int characteristic;*/
19
20/* prototypes */
21extern numberfunc nMult, nSub ,nAdd ,nDiv, nIntDiv, nIntMod, nExactDiv;
22extern void    (*nNew)(number * a);
23extern number  (*nInit)(int i);
24extern number  (*nPar)(int i);
25extern int     (*nParDeg)(number n);
26extern int     (*nSize)(number n);
27extern int     (*nInt)(number &n);
28extern number  (*nNeg)(number a);
29extern number  (*nInvers)(number a);
30extern number  (*nCopy)(number a);
31extern void    (*nWrite)(number &a);
32extern char *  (*nRead)(char * s, number * a);
33extern void    (*nNormalize)(number &a);
34extern BOOLEAN (*nGreater)(number a,number b),
35               (*nEqual)(number a,number b),
36               (*nIsZero)(number a),
37               (*nIsOne)(number a),
38               (*nIsMOne)(number a),
39               (*nGreaterZero)(number a);
40extern void    (*nPower)(number a, int i, number * result);
41extern numberfunc nGcd, nLcm;
42
43extern number nNULL; /* the 0 as constant */
44
45#ifdef LDEBUG
46extern BOOLEAN (*nDBTest)(number a, char *f, int l);
47#define nTest(a) nDBTest(a,__FILE__,__LINE__)
48extern void    (*nDBDelete)(number * a,char *f, int l);
49#define nDelete(A) nDBDelete(A,__FILE__,__LINE__)
50#else
51#define nTest(a) (1)
52extern void    (*nDelete)(number * a);
53#endif
54
55extern BOOLEAN (*nSetMap)(int c, char **par, int nop, number minpol);
56extern number  (*nMap)(number from);
57extern char *  (*nName)(number n);
58
59void nDummy1(number* d);
60void nDummy2(number &d);
61number ndGcd(number a, number b);
62
63#ifdef LDEBUG
64void nDBDummy1(number* d,char *f, int l);
65#endif
66int  nGetChar();
67void nSetChar(int c, BOOLEAN complete, char **param, int pars);
68
69#ifndef FAST_AND_DIRTY
70#define npMultM  nMult
71#define npSubM   nSub
72#define npNegM   nNeg
73#define npEqualM nEqual
74#endif
75
76#endif
Note: See TracBrowser for help on using the repository browser.