[BACK]Return to loadpackage.kk CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097 / debug

File: [local] / OpenXM / src / k097 / debug / loadpackage.kk (download)

Revision 1.2, Mon Jan 8 05:26:51 2001 UTC (23 years, 4 months ago) by takayama
Branch: MAIN
CVS Tags: R_1_3_1-2, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9
Changes since 1.1: +2 -2 lines

* Cleaned unnecessary files and functions.
* Completed the new help system. Type in make in the directory
  OpenXM/src/k097/Doc


/**Name:  yacc/debug/loadpackage.kk */
/**Date:  1997, 4/19 */

def loadsm1(s) {
  sm1("[(parse) ",s," pushfile ] extension ");
}

def void cppload(s) {
  local com;
  System("/bin/rm -f k00.cppload.tmp");
  com = AddString(["/lib/cpp -P -lang-c++ <",s,"  >k00.cppload.tmp"]);
  Println(com);
  System(com);
  /* load("k00.cppload.tmp"); */
  /* System("/bin/rm -f k00.cppload.tmp"); */
}


def diff0(f,x) {
  local dx,ans;
  if (!IsPolynomial(f)) return(Poly("0"));
  if (f == Poly("0")) return(f);
  dx = PolyR(AddString(["D",ToString(x)]),GetRing(f));
  ans = Replace(dx*f,[[dx,Poly("0")],[h,PolyR("1",GetRing(f))]]);
  return(ans);
}

class Oaku extends Object {
  this = Oaku;  /* この this がないと, bf.sm1 の symbols は,
                   PrimitiveContextp に登録される. */
  loadsm1("/home/nobuki/SSkan/Doc/bf.sm1");
  def bf3(ff) {
    local f,g;
    sm1(" bf3_0 ");
    f = Poly(ff);
    /*  Give the generators.  t - s f(x), Dx + s Df/Dx Dt */
    g = [ t - s*f, Dx+ s*diff0(f,x)*Dt,
                   Dy+ s*diff0(f,y)*Dt,
                   Dz+ s*diff0(f,z)*Dt];
    sm1(g," bf3_1 reducedBase /FunctionValue set ");
  }
}