Changeset 1b7361b in git for MP/MPT


Ignore:
Timestamp:
Jun 28, 1997, 3:32:22 PM (27 years ago)
Author:
Olaf Bachmann <obachman@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
Children:
a708e05307ead3012a96e3d8308e940ea9cc7be0
Parents:
f63611502719d5a4e491556ece5af1ae15aaf027
Message:
Sat Jun 28 15:27:59 1997  Olaf Bachmann
<obachman@ratchwum.mathematik.uni-kl.de (Olaf Bachmann)>

	* Many Changes to MPT lib while working with Andi


git-svn-id: file:///usr/local/Singular/svn/trunk@440 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
MP/MPT
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • MP/MPT/ChangeLog

    rf63611 r1b7361b  
     1Sat Jun 28 15:27:59 1997  Olaf Bachmann  <obachman@ratchwum.mathematik.uni-kl.de (Olaf Bachmann)>
     2
     3        * Many Changes to MPT lib while working with Andi
     4
     5Tue Jun 24 12:17:39 1997  Olaf Bachmann  <obachman@ratchwum.mathematik.uni-kl.de (Olaf Bachmann)>
     6
     7        * MPT_Tree.c (MPT_DeleteTypespecedArg): changed un names to mun to
     8          avoid conflicts with pari
     9
    110Tue May 20 18:57:50 1997  Olaf Bachmann  <obachman@ratchwum.mathematik.uni-kl.de (Olaf Bachmann)>
    211
  • MP/MPT/MPT.h

    rf63611 r1b7361b  
    119119#define MP_APREAL_T(arg)       ((MP_ApReal_t) (arg))
    120120#define MP_STRING_T(arg)       ((char *)   (arg))
     121#define MPT_ARG_T(arg)         ((MPT_Arg_t) (arg))
    121122
    122123/* Now we come to "structured" or composite types */
     
    283284                                  MP_AnnotType_t atype);
    284285extern MPT_Tree_pt MPT_GetProtoTypespec(MPT_Node_pt node);
     286
     287extern void MPT_MoveAnnots(MPT_Node_pt from, MPT_Node_pt to);
     288extern MP_Boolean_t MPT_IsTrueProtoTypeSpec(MPT_Tree_pt typespec);
     289
     290extern void*       IMP_MemAlloc0Fnc(size_t size);
     291extern MPT_Tree_pt MPT_InitTree(MP_Common_t type,
     292                                MP_DictTag_t dict,
     293                                MPT_Arg_t nvalue,
     294                                MP_NumAnnot_t num_annot,
     295                                MP_NumChild_t num_child);
     296#define MPT_InitBasicTree(type, arg) MPT_InitTree(type, 0, arg, 0, 0)
     297
    285298extern void MPT_PushRecStruct(MPT_Tree_pt tree);
    286299extern void MPT_PopRecStruct();
     
    289302extern MPT_Tree_pt MPT_RecStructTree;
    290303extern MPT_Tree_pt MPT_RecUnionTree;
     304
     305/***************************************************************
     306 *
     307 * From MPT_TreeManips.c
     308 *
     309 ***************************************************************/
     310extern MPT_Tree_pt MPT_UntypespecTree(MPT_Tree_pt tree);
     311extern MPT_Arg_pt MPT_UntypespecArgs(MPT_Arg_pt args,
     312                                     MP_NumChild_t nc,
     313                                     MPT_Tree_pt typespec);
     314extern MPT_Tree_pt MPT_UntypespecArg(MPT_Arg_t arg, MPT_Tree_pt typespec);
     315
     316/***************************************************************
     317 *
     318 * From MPT_PolyManips.c
     319 *
     320 ***************************************************************/
     321extern MPT_Tree_pt MPT_DDP_2_ExpTree(MPT_Tree_pt tree);
     322extern MP_Boolean_t MPT_IsExpVectorTypespec(MPT_Tree_pt typespec,
     323                                            MP_NumChild_t *num_vars);
    291324
    292325/***************************************************************
     
    304337extern MPT_Status_t (*MPT_PutExternalData)(MP_Link_pt link,
    305338                                           MPT_Arg_t data);
    306 
    307 
    308 
     339extern void MPT_DefaultDeleteExternalData(MPT_Arg_t edata);
     340extern void MPT_DefaultCpyExternalData(MPT_Arg_t *src,
     341                                       MPT_Arg_t dest);
     342extern MPT_Status_t MPT_DefaultGetExternalData(MP_Link_pt link,
     343                                               MPT_Arg_t *data,
     344                                               MPT_Node_pt node);
     345extern MPT_Status_t MPT_DefaultPutExternalData(MP_Link_pt link,
     346                                               MPT_Arg_t data);
     347
     348/***************************************************************
     349 *
     350 * from MPT_PutPoly.c
     351 *
     352 ***************************************************************/
     353typedef void* MPT_ExternalPoly_t;
     354typedef void* MPT_ExternalMonomial_t;
     355typedef void* MPT_ExternalCoeff_t;
     356typedef void* MPT_ExternalIdeal_t;
     357typedef void* MPT_External2DMatrix_t;
     358typedef void* MPT_External2DPolyMatrix_t;
     359
     360
     361typedef struct MPT_PutPolyFncs_t
     362{
     363  MP_Sint32_t (*GetCharacteristic) (MPT_ExternalPoly_t poly);
     364  MP_Uint32_t (*GetNumberOfVariables) (MPT_ExternalPoly_t poly);
     365  char *      (*GetVarName) (MPT_ExternalPoly_t poly, MP_Uint32_t varnumber);
     366  MP_Common_t (*GetMonomialOrdering) (MPT_ExternalPoly_t poly);
     367  MP_Uint32_t (*GetNumberOfMonomials) (MPT_ExternalPoly_t poly);
     368  MP_Status_t (*PutCoeffFillExpVector) (MP_Link_pt link,
     369                                        MPT_ExternalPoly_t poly,
     370                                        MP_Uint32_t monomial,
     371                                        MP_Uint32_t varnumber,
     372                                        MP_Sint32_t *ex_pvector);
     373} MPT_PutPolyFncs_t;
     374typedef MPT_PutPolyFncs_t* MPT_PutPolyFncs_pt;
     375
     376typedef struct MPT_PutIdealFncs_t
     377{
     378  MP_Uint32_t (*GetNumberOfPolys) (MPT_ExternalIdeal_t ideal);
     379  MPT_ExternalPoly_t (*GetPoly) (MPT_ExternalIdeal_t ideal,
     380                                 MP_Uint32_t polynumber);
     381  MPT_PutPolyFncs_pt polyfncs;
     382} MPT_PutIdealFncs_t;
     383typedef MPT_PutIdealFncs_t * MPT_PutIdealFncs_pt;
     384
     385typedef struct MPT_Put2DMatrixFncs_t
     386{
     387  void (*GetDimension) (MPT_External2DMatrix_t matrix,
     388                        MP_Uint32_t *m,
     389                        MP_Uint32_t *n);
     390  MP_Status_t   (*PutElType) (MP_Link_pt link, MPT_External2DMatrix_t matrix);
     391  MP_Status_t (*PutEl) (MP_Link_pt link,
     392                        MPT_External2DMatrix_t matrix,
     393                        MP_Uint32_t m,
     394                        MP_Uint32_t n);
     395} MPT_Put2DMatrixFncs_t;
     396typedef MPT_Put2DMatrixFncs_t*  MPT_Put2DMatrixFncs_pt;
     397
     398typedef struct MPT_Put2DPolyMatrixFncs_t
     399{
     400  void (*GetDimension) (MPT_External2DPolyMatrix_t matrix,
     401                        MP_Uint32_t *m,
     402                        MP_Uint32_t *n);
     403  MPT_ExternalPoly_t (*GetPoly)   (MPT_External2DPolyMatrix_t matrix,
     404                                   MP_Uint32_t m,
     405                                   MP_Uint32_t n);
     406  MPT_PutPolyFncs_pt polyfncs;
     407} MPT_Put2DPolyMatrixFncs_t;
     408typedef MPT_Put2DPolyMatrixFncs_t*  MPT_Put2DPolyMatrixFncs_pt;
     409
     410
     411
     412extern MP_Status_t MPT_PutDDPoly(MP_Link_pt link,
     413                                 MPT_ExternalPoly_t poly,
     414                                 MPT_PutPolyFncs_pt polyfncs);
     415extern MP_Status_t MPT_PutPolyAnnots(MP_Link_pt link,
     416                                     MPT_ExternalPoly_t poly,
     417                                     MPT_PutPolyFncs_pt polyfncs);
     418extern MP_Status_t MPT_PutPolyData(MP_Link_pt link,
     419                                   MPT_ExternalPoly_t poly,
     420                                   MP_Uint32_t nummonimials,
     421                                   MPT_PutPolyFncs_pt polyfncs);
     422extern MP_Status_t MPT_PutDDPIdeal(MP_Link_pt link,
     423                                   MPT_ExternalIdeal_t ideal,
     424                                   MPT_PutIdealFncs_pt polyfncs);
     425extern MP_Status_t MPT_PutDense2DMatrix(MP_Link_pt link,
     426                                        MPT_External2DMatrix_t matrix,
     427                                        MPT_Put2DMatrixFncs_pt matrixfncs);
     428extern MP_Status_t MPT_Put2DPolyMatrix(MP_Link_pt link,
     429                                       MPT_External2DPolyMatrix_t matrix,
     430                                       MPT_Put2DPolyMatrixFncs_pt mfncts);
     431
     432/***************************************************************
     433 *
     434 * from MPT_GetPoly.c
     435 *
     436 ***************************************************************/
     437extern MP_Boolean_t MPT_IsDDPTree(MPT_Tree_pt tree,
     438                                  MP_Sint32_t *characteristic,
     439                                  MPT_Tree_pt *var_tree,
     440                                  MP_Common_t *ordering);
     441extern MPT_Tree_pt MPT_GetVarNamesTree(MPT_Node_pt node,
     442                                       MP_NumChild_t num_vars);
     443extern MP_Boolean_t MPT_IsIdealTree(MPT_Tree_pt tree,
     444                                    MP_Sint32_t *characteristic,
     445                                    MPT_Tree_pt *var_tree,
     446                                    MP_Common_t *ordering);
     447 
    309448/***************************************************************
    310449 *
     
    333472while (0)
    334473
     474#define failr(cond)                                              \
     475do                                                                  \
     476{                                                                   \
     477  if ((cond) != MP_Success) return MP_Failure;                    \
     478} while (0)
     479
     480/******************************************************************
     481 *
     482 * some handy defines
     483 *
     484 ******************************************************************/
     485#define MP_AnnotReqValTree  (MP_AnnotRequired | MP_AnnotValuated | MP_AnnotTreeScope)
     486
     487#define MP_AnnotReqValNode  (MP_AnnotRequired | MP_AnnotValuated)
     488
    335489#endif /* _MPT_H_ */
    336490
  • MP/MPT/Makefile.in

    rf63611 r1b7361b  
    4747
    4848SRCS = MPT_Tree.c MPT_Error.c MPT_ExternalData.c MPT_Misc.c \
    49        MPT_ApNumber.c MPT_Get.c MPT_Put.c
     49       MPT_ApNumber.c MPT_Get.c MPT_Put.c MPT_TreeManips.c \
     50       MPT_PolyManips.c MPT_PutPoly.c MPT_GetPoly.c
    5051OBJS = MPT_Tree.o MPT_Error.o MPT_ExternalData.o MPT_Misc.o \
    51        MPT_ApNumber.o MPT_Get.o MPT_Put.o
     52       MPT_ApNumber.o MPT_Get.o MPT_Put.o MPT_TreeManips.o \
     53       MPT_PolyManips.o MPT_PutPoly.o MPT_GetPoly.o
    5254
    5355DISTFILES = ${SRCS} MPT.h Makefile.in
     
    6668
    6769install: libMPT.a
     70        $(MKINSTALLDIRS) $(libdir)
     71        $(MKINSTALLDIRS) $(includedir)
    6872        $(INSTALL_DATA) libMPT.a $(libdir)
    6973        $(RANLIB) $(libdir)/libMPT.a
     
    104108depend:
    105109        $(CC) -MM $(CPPFLAGS) $(DEFS) $(SRCS) >> Makefile
     110
     111test: test.c
     112        $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) test.c -o test -L$(libdir) -lMPT -lMP -lgmp
Note: See TracChangeset for help on using the changeset viewer.