[BACK]Return to help.k CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097

Diff for /OpenXM/src/k097/help.k between version 1.3 and 1.7

version 1.3, 2000/12/10 09:34:27 version 1.7, 2001/01/04 12:29:31
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/k097/help.k,v 1.2 2000/01/21 03:01:25 takayama Exp $ */  /* $OpenXM: OpenXM/src/k097/help.k,v 1.6 2000/12/29 07:19:39 takayama Exp $ */
 if (K00_verbose)  if (K00_verbose)
   Println("help.k (help.ccc).  8/6, 1996 --- 8/7, 1996. 3/6, 1997 --- 12/21, 1997.");    Println("help.k (help.ccc).  8/6, 1996 --- 8/7, 1996. 3/6, 1997 --- 12/21, 1997.");
   
Line 168  HelpAdd(["Poly",
Line 168  HelpAdd(["Poly",
  "Poly(name) returns the polynomial name in the current ring   "Poly(name) returns the polynomial name in the current ring
   (string name)."]);    (string name)."]);
 HelpAdd(["PolyR",  HelpAdd(["PolyR",
  "PolyR(name,r) returns the polynomial name in the ring r   ["PolyR(name,r) returns the polynomial name in the ring r
  (string name, ring r).   (string name, ring r).",
  Ex. r = RingD(\"x,y\"); y = PolyR(\"y\",r); "]);   "Ex. r = RingD(\"x,y\"); y = PolyR(\"y\",r); "]]);
 HelpAdd(["RingD",  HelpAdd(["RingD",
  ["RingD(names) defines a new ring (string names).",   ["RingD(names) defines a new ring (string names).",
   "RingD(names,weight_vector) defines a new ring with the weight vector",    "RingD(names,weight_vector) defines a new ring with the weight vector",
Line 185  ascii code is ascii_code (integer ascii_code)."]);
Line 185  ascii code is ascii_code (integer ascii_code)."]);
 HelpAdd(["ToString","ToString(obj) transforms the <<obj>> to a string."]);  HelpAdd(["ToString","ToString(obj) transforms the <<obj>> to a string."]);
 HelpAdd(["Numerator","Numerator(f) returns the numerator of <<f>> (rational f)."]);  HelpAdd(["Numerator","Numerator(f) returns the numerator of <<f>> (rational f)."]);
 HelpAdd(["Denominator","Denominator(f) returns the denominator of <<f>> (rational f)."]);  HelpAdd(["Denominator","Denominator(f) returns the denominator of <<f>> (rational f)."]);
 HelpAdd(["Replace","Replace(f,rule) (polynomial f, array rule).  HelpAdd(["Replace",
            Ex. Replace( (x+y)^3, [[x,Poly(\"1\")]])"]);    ["Replace(f,rule) (polynomial f, array rule).  ",
      "Ex. Replace( (x+y)^3, [[x,Poly(\"1\")]])"]]);
 HelpAdd(["SetRingVariables",  HelpAdd(["SetRingVariables",
  "SetRingVariables()   "SetRingVariables()
   Set the generators of the current ring as global variables.    Set the generators of the current ring as global variables.
Line 270  HelpAdd(["IsString",
Line 271  HelpAdd(["IsString",
 ["IsString(obj) returns true if << obj >> is a string (object obj).",  ["IsString(obj) returns true if << obj >> is a string (object obj).",
  "Example:  if (IsString(\"abc\")) Println(\"Hello\"); ;"]]);   "Example:  if (IsString(\"abc\")) Println(\"Hello\"); ;"]]);
   
   HelpAdd(["IsRing",
   ["IsRing(obj) returns true if << obj >> is a ring (object obj)."
   ]]);
   
   
 HelpAdd(["IsSm1Integer",  HelpAdd(["IsSm1Integer",
 ["IsSm1Integer(obj) returns true if << obj >> is an integer of sm1(object obj)."]]);  ["IsSm1Integer(obj) returns true if << obj >> is an integer of sm1(object obj)."]]);
   
Line 368  def IsSm1Integer(ob) {
Line 373  def IsSm1Integer(ob) {
   sm1(ob , " isInteger /FunctionValue set ");    sm1(ob , " isInteger /FunctionValue set ");
 }  }
   
   def IsRing(ob) {
     sm1(ob , " isRing /FunctionValue set ");
   }
   
   
 def CancelNumber(rn) {  def CancelNumber(rn) {
   local tmp;    local tmp;
   sm1(" [(cancel) ",rn," ] mpzext /tmp set ");    sm1(" [(cancel) ",rn," ] mpzext /tmp set ");
Line 376  def CancelNumber(rn) {
Line 385  def CancelNumber(rn) {
   sm1(" tmp (denominator) dc (1).. eq { /FunctionValue tmp (numerator) dc def} { /FunctionValue tmp def } ifelse ");    sm1(" tmp (denominator) dc (1).. eq { /FunctionValue tmp (numerator) dc def} { /FunctionValue tmp def } ifelse ");
 }  }
   
   def DC_polynomial(obj) {
     return(DC(obj,"polynomial"));
   }
 def DC(obj,key) {  def DC(obj,key) {
     if (IsArray(obj) && key=="polynomial") {
       return(Map(obj,"DC_polynomial"));
     }
   if (key == "string") { return(ToString(obj)); }    if (key == "string") { return(ToString(obj)); }
   else if (key == "integer") { key = "universalNumber"; }    else if (key == "integer") { key = "universalNumber"; }
   else if (key == "sm1integer") { key = "integer"; }    else if (key == "sm1integer") { key = "integer"; }
Line 728  HelpAdd(["IsConstant",
Line 743  HelpAdd(["IsConstant",
 Println("Default ring is Z[x,h]."); x = Poly("x"); h = Poly("h");  Println("Default ring is Z[x,h]."); x = Poly("x"); h = Poly("h");
   
 def Substitute(f,xx,g) {  def Substitute(f,xx,g) {
   local tmp, coeff0,ex,i,n,newex;    local tmp, coeff0,ex,i,n,newex,ans;
   if (IsInteger(f)) return(f);    if (IsInteger(f)) return(f);
     if (IsArray(f)) {
        n = Length(f);
        ans = NewVector(n);
        for (i=0; i<n; i++) {
          ans[i] = Substitute(f[i],xx,g);
        }
        return(ans);
     }
   if (! IsPolynomial(f)) {    if (! IsPolynomial(f)) {
     k00_error("Substitute","The first argument must be polynomial.");      k00_error("Substitute","The first argument must be polynomial.");
   }    }
Line 757  def Tag(f) {
Line 780  def Tag(f) {
   if (IsArray(f)) {    if (IsArray(f)) {
     return(Map(f,"Tag"));      return(Map(f,"Tag"));
   }else {    }else {
     ans = sm1(f," tag (universalNumber) dc ");      ans = sm1(f," etag (universalNumber) dc ");
     return(ans);      return(ans);
   }    }
 }  }
 HelpAdd(["Tag",  HelpAdd(["Tag",
 ["Tag(f) returns the datatype tags of f where",  ["Tag(f) returns the datatype tags of f where",
  "5: string,  9: polynomial, 15: integer(big-num), 16: rational, ",   "5: string,  9: polynomial, 15: integer(big-num), 16: rational, ",
  "17: object, 18:double.",   "18:double, 257: Error ",
  "Ex. Tag([Poly(\"0\"), 0]):"   "Ex. Tag([Poly(\"0\"), 0]):"
 ]]);  ]]);
   
   def Error(s) {
     sm1(" s error ");
   }
   HelpAdd(["Error",
   ["Error(s) causes an error and outputs a message s."]]);
   
 OutputPrompt ;  OutputPrompt ;

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>