source: git/Singular/spSpolyLoop.h @ 2c694a2

spielwiese
Last change on this file since 2c694a2 was e9ad8a6, checked in by Hans Schönemann <hannes@…>, 26 years ago
* hannes:introduced /* */ comments, some code cleanups git-svn-id: file:///usr/local/Singular/svn/trunk@2016 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.2 KB
Line 
1#ifndef SPSPOLYLOOP_H
2#define SPSPOLYLOOP_H
3
4#include "structs.h"
5#include "ring.h"
6#include "kutil.h"
7
8/*
9 * assume monom = L(monom)
10 * pNext(m) = result = p2-p1*m
11 * do not destroy p1, but p2
12 */
13void spSpolyLoop_General (poly a1, poly a2, poly monom, poly spNoether);
14typedef void (*spSpolyLoopProc)(poly p1, poly p2, poly m, poly spNoether);
15
16
17spSpolyLoopProc spGetSpolyLoop(ring r, rOrderType_t ot, BOOLEAN homog);
18
19inline spSpolyLoopProc spGetSpolyLoop(ring r, int modrank, int syzComp,
20                                      BOOLEAN homog)
21{
22  return spGetSpolyLoop(r, spGetOrderType(r, modrank, syzComp), homog);
23}
24
25inline spSpolyLoopProc spGetSpolyLoop(ring r, kStrategy strat)
26{
27  return spGetSpolyLoop(r, spGetOrderType(r, strat->ak, strat->syzComp),
28                        ((strat->homog && strat->kModW==NULL &&
29                          ! rHasSimpleLexOrder(r))));
30}
31
32inline spSpolyLoopProc spGetSpolyLoop(ring r, kStrategy strat, int syzComp)
33{
34  return spGetSpolyLoop(r, spGetOrderType(r, strat->ak, syzComp),
35                        ((strat->homog && strat->kModW==NULL &&
36                          ! rHasSimpleLexOrder(r))));
37}
38
39
40inline spSpolyLoopProc spGetSpolyLoop(ring r)
41{
42  return spGetSpolyLoop(r, rGetOrderType(r), FALSE);
43}
44
45#endif // SPSPOLYLOOP_H
Note: See TracBrowser for help on using the repository browser.