=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/dr.sm1,v retrieving revision 1.51 retrieving revision 1.54 diff -u -p -r1.51 -r1.54 --- OpenXM/src/kan96xx/Kan/dr.sm1 2005/06/23 03:23:27 1.51 +++ OpenXM/src/kan96xx/Kan/dr.sm1 2013/01/26 10:48:26 1.54 @@ -1,4 +1,4 @@ -% $OpenXM: OpenXM/src/kan96xx/Kan/dr.sm1,v 1.50 2005/06/16 08:40:04 takayama Exp $ +% $OpenXM: OpenXM/src/kan96xx/Kan/dr.sm1,v 1.53 2006/02/04 02:44:39 takayama Exp $ %% dr.sm1 (Define Ring) 1994/9/25, 26 %% This file is error clean. @@ -4471,6 +4471,104 @@ $ [ff ff] fromVectors :: $ arg1 } def +[(getFileType) +[ + (string getFileType type) + $Example: (/www/prog/cohom.sm1) getFileType ==> (sm1)$ +]] putUsages +/getFileType { + /arg1 set + [/ss ] pushVariables + [ /ss arg1 def + [(stringToArgv2) ss (.)] extension /ss set + ss, ss length 1 sub, get /arg1 set + ] pop + popVariables + arg1 +} def + +% Default initial value. +/localizedString.file null def +/localizedString.dic [ ] def +/localizedString.local { } def + +% Clear and load +/localizedString.load { + /localizedString.dic [ ] def + /localizedString.local { } def + localizedString.file tag 0 eq { } + { [(parse) localizedString.file pushfile] extension pop } ifelse +} def + + +[(localizedString) + [ + (string localizedString translatedString) + (It returns localizedString if localizedString.dic [array] and) + (localizedString.local [function] are set.) + ] +] putUsages +/localizedString { + /arg1 set + [/ss /ans /tt] pushVariables + [ + arg1 /ss set + /ans ss def + { + localizedString.dic length 0 eq { exit } { } ifelse + localizedString.dic ss getNode /tt set + tt tag 0 eq { } { tt /ans set exit } ifelse + ss localizedString.local /ans set + exit + } loop + ans /arg1 set + ] pop + popVariables + arg1 +} def + +[(univ2poly) +[(list univ2poly list2) + (Change universal numbers in list to an element of a ring of polynomials) + (defined by other elements in list. If there is no polynomial element,) + (the current ring is used.) +]] putUsages +/univ2poly { + /arg1 set + [/aa /rg /ag /ans] pushVariables + [ + arg1 /aa set + [(CurrentRingp)] system_variable /rg set + aa getRing /ag set + ag tag 0 { } { + ag ring_def + } ifelse + aa univ2poly.aux /ans set + rg ring_def + ans /arg1 set + ] pop + popVariables + arg1 +} def + +/univ2poly.aux { + /arg1 set + [/aa /ans] pushVariables + [ + arg1 /aa set + aa getRing + aa tag 6 eq { + aa { univ2poly.aux} map /ans set + }{ + aa tag 15 eq, aa tag 1 eq, or { aa toString . /ans set } { + aa /ans set + } ifelse + } ifelse + ans /arg1 set + ] pop + popVariables + arg1 +} def ;