Changeset 969dee in git


Ignore:
Timestamp:
Dec 15, 2017, 1:48:51 PM (6 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
95e71455541cc969c6d5820b990f7f005cecb6ca
Parents:
f3d7a6efb402f38f5f9c2379c4713a58cceb214a99e85b0854b3c62ef5fe0e039017239a95844c2d
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2017-12-15 13:48:51+01:00
git-committer:
GitHub <noreply@github.com>2017-12-15 13:48:51+01:00
Message:
Merge pull request #841 from steenpass/fres

fres
Files:
7 added
15 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/standard.lib

    rf3d7a6 r969dee  
    12881288@ref{hres};
    12891289@ref{sres};
     1290@ref{fres};
    12901291@ref{resolution}.
    12911292@c ref
  • Singular/dyn_modules/syzextra/singularxx_defs.h

    rf3d7a6 r969dee  
    6161#endif
    6262
    63 /// For optimizing if-branches
    64 #ifdef __GNUC__
    65 #define LIKELY(expression) (__builtin_expect(!!(expression), 1))
    66 #define UNLIKELY(expression) (__builtin_expect(!!(expression), 0))
    67 #else
    68 #define LIKELY(expression) (expression)
    69 #define UNLIKELY(expression) (expression)
    70 #endif
    71 
    7263// #include "CSingularTypes.h"
    7364
  • Singular/iparith.cc

    rf3d7a6 r969dee  
    21992199  return FALSE;
    22002200}
     2201
     2202static BOOLEAN jjFRES3(leftv res, leftv u, leftv v, leftv w)
     2203{
     2204    assumeStdFlag(u);
     2205    ideal id = (ideal)u->Data();
     2206    int max_length = (int)(long)v->Data();
     2207    if (max_length < 0) {
     2208        WerrorS("length for fres must not be negative");
     2209        return TRUE;
     2210    }
     2211    if (max_length == 0) {
     2212        max_length = currRing->N+1;
     2213        if (currRing->qideal != NULL) {
     2214            Warn("full resolution in a qring may be infinite, "
     2215                "setting max length to %d", max_length);
     2216        }
     2217    }
     2218    char *method = (char *)w->Data();
     2219    /* For the moment, only "complete" (default), "frame", or "extended frame"
     2220     * are allowed. Another useful option would be "linear strand".
     2221     */
     2222    if (strcmp(method, "complete") != 0
     2223            && strcmp(method, "frame") != 0
     2224            && strcmp(method, "extended frame") != 0) {
     2225        WerrorS("wrong optional argument for fres");
     2226    }
     2227    syStrategy r = syFrank(id, max_length, method);
     2228    assume(r->fullres != NULL);
     2229    res->data = (void *)r;
     2230    return FALSE;
     2231}
     2232
     2233static BOOLEAN jjFRES(leftv res, leftv u, leftv v)
     2234{
     2235    leftv w = (leftv)omAlloc0(sizeof(sleftv));
     2236    w->rtyp = STRING_CMD;
     2237    w->data = (char *)"complete";   // default
     2238    BOOLEAN RES = jjFRES3(res, u, v, w);
     2239    omFree(w);
     2240    return RES;
     2241}
     2242
    22012243static BOOLEAN jjFWALK(leftv res, leftv u, leftv v)
    22022244{
  • Singular/table.h

    rf3d7a6 r969dee  
    609609,{D(fglmQuotProc),FGLMQUOT_CMD,   IDEAL_CMD,      IDEAL_CMD,  POLY_CMD, NO_PLURAL |NO_RING}
    610610,{D(jjFIND2),     FIND_CMD,       INT_CMD,        STRING_CMD, STRING_CMD, ALLOW_PLURAL |ALLOW_RING}
     611,{D(jjFRES),      FRES_CMD,       RESOLUTION_CMD, IDEAL_CMD,  INT_CMD, NO_PLURAL |NO_RING}
     612,{D(jjFRES),      FRES_CMD,       RESOLUTION_CMD, MODUL_CMD,  INT_CMD, NO_PLURAL |NO_RING}
    611613,{D(jjFWALK),     FWALK_CMD,      IDEAL_CMD,      RING_CMD,   DEF_CMD, NO_PLURAL |NO_RING}
    612614,{D(jjGCD_I),     GCD_CMD,        INT_CMD,        INT_CMD,    INT_CMD, ALLOW_PLURAL |ALLOW_RING}
     
    758760,{D(jjELIMIN_HILB),    ELIMINATION_CMD,MODUL_CMD, MODUL_CMD, POLY_CMD, INTVEC_CMD, NO_PLURAL |ALLOW_RING}
    759761,{D(jjFIND3),          FIND_CMD,   INT_CMD,    STRING_CMD, STRING_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING}
     762,{D(jjFRES3),          FRES_CMD,   RESOLUTION_CMD, IDEAL_CMD, INT_CMD, STRING_CMD, NO_PLURAL |NO_RING}
     763,{D(jjFRES3),          FRES_CMD,   RESOLUTION_CMD, MODUL_CMD, INT_CMD, STRING_CMD, NO_PLURAL |NO_RING}
    760764,{D(jjFWALK3),         FWALK_CMD,  IDEAL_CMD,  RING_CMD,   DEF_CMD,    INT_CMD, NO_PLURAL |ALLOW_RING}
    761765,{D(jjHILBERT3),       HILBERT_CMD,INTVEC_CMD, IDEAL_CMD,  INT_CMD,    INTVEC_CMD, ALLOW_PLURAL | ALLOW_RING | NO_ZERODIVISOR}
     
    990994  { "forif",       0, IF_CMD ,            IF_CMD},
    991995  { "freemodule",  0, FREEMODULE_CMD ,    CMD_1},
     996  { "fres",        0, FRES_CMD ,          CMD_23},
    992997  { "frwalk",      0, FWALK_CMD ,         CMD_23},
    993998  { "gen",         0, E_CMD ,             CMD_1},
  • Singular/tok.h

    rf3d7a6 r969dee  
    7979  FACSTD_CMD,
    8080  FMD_CMD,
     81  FRES_CMD,
    8182  FWALK_CMD,
    8283  FGLM_CMD,
  • Tst/Long/ok_l.lst

    rf3d7a6 r969dee  
    2424finvar_l
    2525finvar2_l
     26fres_l
    2627gcd0_l
    2728gcdp_l
  • Tst/Short/ok_s.lst

    rf3d7a6 r969dee  
    9191fermat_gcd_mod_4var
    9292ffmodstd_s
     93fres_s
    9394gcd2test
    9495gcd3primtest
  • kernel/GBEngine/Makefile.am

    rf3d7a6 r969dee  
    55
    66noinst_LTLIBRARIES=libGBEngine.la
    7 libGBEngine_la_SOURCES=khstd.cc kstdfac.cc kstd1.cc kstd2.cc kutil.cc nc.cc sca.cc gr_kstd2.cc kspoly.cc kpolys.cc syz.cc syz0.cc syz1.cc syz2.cc syz3.cc units.cc tgb.cc tgbgauss.cc f5data.cc f5lists.cc f5gb.cc f5c.cc ratgring.cc shiftgb.cc ringgb.cc janet.cc
     7libGBEngine_la_SOURCES=khstd.cc kstdfac.cc kstd1.cc kstd2.cc kutil.cc nc.cc sca.cc gr_kstd2.cc kspoly.cc kpolys.cc syz.cc syz0.cc syz1.cc syz2.cc syz3.cc syz4.cc units.cc tgb.cc tgbgauss.cc f5data.cc f5lists.cc f5gb.cc f5c.cc ratgring.cc shiftgb.cc ringgb.cc janet.cc
    88
    99libGBEngine_la_includedir=$(includedir)/singular/kernel/GBEngine
  • kernel/GBEngine/syz.h

    rf3d7a6 r969dee  
    9999syStrategy syKosz(ideal arg,int * length);
    100100
     101syStrategy syFrank(const ideal arg, const int length, const char *method);
     102
    101103void syKillComputation(syStrategy syzstr, ring r=currRing);
    102104intvec * syBettiOfComputation(syStrategy syzstr, BOOLEAN minim=TRUE,int * row_shift=NULL, intvec *weights=NULL);
  • kernel/GBEngine/tgb_internal.h

    rf3d7a6 r969dee  
    831831}
    832832*/
    833 #ifdef __GNUC__
    834 #define LIKELY(expression) (__builtin_expect(!!(expression), 1))
    835 #define UNLIKELY(expression) (__builtin_expect(!!(expression), 0))
    836 #else
    837 #define LIKELY(expression) (expression)
    838 #define UNLIKELY(expression) (expression)
    839 #endif
    840833
    841834template<class number_type> SparseRow<number_type>* convert_to_sparse_row(number_type* temp_array,int temp_size,int non_zeros){
  • libpolys/misc/auxiliary.h

    rf3d7a6 r969dee  
    414414
    415415
     416#ifdef __GNUC__
     417#define likely(X)   (__builtin_expect(!!(X), 1))
     418#define unlikely(X) (__builtin_expect(!!(X), 0))
     419#else
     420#define likely(X)   (X)
     421#define unlikely(X) (X)
     422#endif
     423
     424#define LIKELY   likely
     425#define UNLIKELY unlikely
     426
    416427
    417428#endif
Note: See TracChangeset for help on using the changeset viewer.