Return to kanlib1.c CVS log | Up to [local] / OpenXM / src / kan96xx / Doc |
File: [local] / OpenXM / src / kan96xx / Doc / kanlib1.c (download)
Revision 1.1.1.1 (vendor branch), Fri Oct 8 02:12:02 1999 UTC (24 years, 11 months ago) by maekawa
o import OpenXM sources |
/* 1996, 1/5 kanlib1.c : an example of how to use kan from your C-program. */ #include <stdio.h> #include "datatype.h" #include "stackm.h" #include "extern.h" #include "extern2.h" #include "lookup.h" #include "matrix.h" #include "gradedset.h" main() { struct object of; POLY f; extern int Quiet; Quiet = 1; KSstart(); /******** initialize ***********/ /* Call setjmp(EnvOfStackMachine) for error handling. cf. scanner() in Kan/stackmachine.c */ /* First, define ring Q[x,y] and put ff = Expand[(x+y)^10]; */ KSexecuteString("[(x,y) ring_of_polynomials ( ) elimination_order 0] define_ring"); KSexecuteString("( (x+y)^10 ). /ff set ff print newline"); /* Put f = ff and compute f*f by calling ppMult() in kanlib.a. */ printf("\n\n"); KSexecuteString("ff"); of = KSpop(); f = of.lc.poly; f = ppMult(f,f); /* Now, f = (x+y)^10 * (x+y)^10. */ printf("(x+y)^20= %s\n",POLYToString(f,' ',0)); KSstop(); /* closing */ }