Changeset 661c214 in git for kernel/longtrans.h


Ignore:
Timestamp:
Feb 28, 2011, 5:36:07 PM (13 years ago)
Author:
Frank Seelisch <seelisch@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'c5facdfddea2addfd91babd8b9019161dea4b695')
Children:
0d6970109b48f04bc456f5aee530b7c06be12c64
Parents:
a33266f6b0236cbf3b512cbd4edad959fd94d6c3
Message:
further separation of alg/transc ext code

git-svn-id: file:///usr/local/Singular/svn/trunk@13903 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/longtrans.h

    ra33266 r661c214  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: longtrans.cc 12469 2011-02-25 13:38:49Z seelisch $ */
     6/* $Id: longtrans.h 12469 2011-02-25 13:38:49Z seelisch $ */
    77/*
    88* ABSTRACT:   numbers in transcendental field extensions, i.e.,
     
    1212#include <kernel/longrat.h>
    1313#include <kernel/polys-impl.h>
    14 #include <kernel/longalg.h>
    1514
    16 extern ring ntcRing;
     15typedef polyrec * napoly;
    1716
     17struct slnumber;
     18typedef struct slnumber * lnumber;
    1819
    19 void ntSetChar(int p, ring r);
     20struct slnumber
     21{
     22  napoly z;
     23  napoly n;
     24  BOOLEAN s;
     25};
     26
     27extern int ntNumbOfPar;
     28#define naParNames (currRing->parameter)
     29extern ring nacRing;
     30extern int ntIsChar0;
     31extern ring ntMapRing;
     32extern int ntParsToCopy;
     33
     34void    ntSetChar(int p, ring r);
    2035void    ntDelete (number *p, const ring r);
    2136number  ntInit(int i, const ring r);                /* z := i */
     
    5368BOOLEAN ntDBTest(number a, const char *f,const int l);
    5469#endif
     70napoly ntRemainder(napoly f, const napoly  g);
     71void    ntSetIdeal(ideal I);
     72extern number (*ntMap)(number from);
     73void ntCoefNormalize(number pp);
    5574
    56 void    ntSetIdeal(ideal I);
     75/* procedure variables for operations in coefficient field/ring */
     76extern numberfunc ntcMult, ntcSub, ntcAdd, ntcDiv, ntcIntDiv;
     77extern number   (*ntcGcd)(number a, number b, const ring r);
     78extern number   (*ntcLcm)(number a, number b, const ring r);
     79extern number   (*ntcInit)(int i, const ring r);
     80extern int      (*ntcInt)(number &n, const ring r);
     81extern void     (*ntcDelete)(number *a, const ring r);
     82#undef n_Delete
     83#define n_Delete(A,R) ntcDelete(A,R)
     84extern void     (*ntcNormalize)(number &a);
     85extern number   (*ntcNeg)(number a);
     86extern number   (*ntcCopy)(number a);
     87extern number   (*ntcInvers)(number a);
     88extern BOOLEAN  (*ntcIsZero)(number a);
     89extern BOOLEAN  (*ntcIsOne)(number a);
     90extern BOOLEAN  (*ntcIsMOne)(number a);
     91extern BOOLEAN  (*ntcGreaterZero)(number a);
     92extern const char   * (*ntcRead) (const char *s, number *a);
     93extern number (*ntcMap)(number);
     94
     95// external access to the interna
     96poly napPermNumber(number z, int * par_perm, int P, ring r);
     97#define napAddExp(p,i,e)       (p_AddExp(p,i,e,currRing->algring))
     98#define napLength(p)           pLength(p)
     99#define napNeg(p)              (p_Neg(p,currRing->algring))
     100#define napVariables           naNumbOfPar
     101#define napGetCoeff(p)         pGetCoeff(p)
     102#define napGetExpFrom(p,i,r)   (p_GetExp(p,i,r->algring))
     103#define napSetExp(p,i,e)       (p_SetExp(p,i,e,currRing->algring))
     104#define napNew()               (p_Init(currRing->algring))
     105#define napAdd(p1,p2)          (p_Add_q(p1,p2,currRing->algring))
     106#define napSetm(p)             p_Setm(p,currRing->algring)
     107#define napCopy(p)             p_Copy(p,nacRing)
     108#define napSetCoeff(p,n)       {n_Delete(&pGetCoeff(p),nacRing);pGetCoeff(p)=n;}
     109#define napComp(p,q)           p_LmCmp((poly)p,(poly)q, nacRing)
     110#define napMultT(A,E)          A=(napoly)p_Mult_mm((poly)A,(poly)E,nacRing)
     111#define napDeg(p)              (int)p_Totaldegree(p, nacRing)
     112number napGetDenom(number &n, const ring r);
     113number napGetNumerator(number &n, const ring r);
     114void napTest(napoly p);
     115napoly napInitz(number z);
     116napoly napCopyNeg(napoly p);
     117void napMultN(napoly p, number z);
     118void napDivMod(napoly f, napoly  g, napoly *q, napoly *r);
     119napoly napInvers(napoly x, const napoly c);
     120int  napMaxDeg(napoly p);
     121int  napMaxDegLen(napoly p, int &l);
     122void napWrite(napoly p,const BOOLEAN has_denom, const ring r);
     123const char *napHandleMons(const char *s, int i, napoly ex);
     124const char *napHandlePars(const char *s, int i, napoly ex);
     125const char  *napRead(const char *s, napoly *b);
     126int napExp(napoly a, napoly b);
     127int napExpi(int i, napoly a, napoly b);
     128void napContent(napoly ph);
     129void napCleardenom(napoly ph);
     130napoly napGcd0(napoly a, napoly b);
     131napoly napGcd(napoly a, napoly b);
     132number napLcm(napoly a);
     133BOOLEAN napDivPoly (napoly p, napoly q);
     134napoly napRedp (napoly q);
     135napoly napTailred (napoly q);
     136napoly napMap(napoly p);
     137napoly napPerm(napoly p,const int *par_perm,const ring src_ring,const nMapFunc nMap);
    57138
    58139#endif
Note: See TracChangeset for help on using the changeset viewer.