=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/dr.sm1,v retrieving revision 1.46 retrieving revision 1.49 diff -u -p -r1.46 -r1.49 --- OpenXM/src/kan96xx/Kan/dr.sm1 2004/09/17 00:47:08 1.46 +++ OpenXM/src/kan96xx/Kan/dr.sm1 2005/06/16 06:21:21 1.49 @@ -1,4 +1,4 @@ -% $OpenXM: OpenXM/src/kan96xx/Kan/dr.sm1,v 1.45 2004/09/17 00:10:41 takayama Exp $ +% $OpenXM: OpenXM/src/kan96xx/Kan/dr.sm1,v 1.48 2005/02/27 05:28:06 takayama Exp $ %% dr.sm1 (Define Ring) 1994/9/25, 26 %% This file is error clean. @@ -1528,6 +1528,13 @@ (type?) data_conversion RingP eq } def +[(isByteArray) + [(obj isByteArray bool) ] +] putUsages +/isByteArray { + (type?) data_conversion ByteArrayP eq +} def + /toString.tmp { /arg1 set [/obj /fname] pushVariables @@ -1557,6 +1564,8 @@ { obj (string) data_conversion } { } ifelse obj isRational { obj (string) data_conversion } { } ifelse + obj isByteArray + { obj (array) data_conversion toString } { } ifelse obj tag 0 eq { (null) } { } ifelse @@ -1671,9 +1680,10 @@ /RationalFunctionP 16 def /ClassP 17 def /DoubleP 18 def +/ByteArrayP 19 def /@.datatypeConstant.usage [ (IntegerP, LiteralP, StringP, ExecutableArrayP, ArrayP, PolyP, FileP, RingP,) - (UniversalNumberP, RationalFunctionP, ClassP, DoubleP) + (UniversalNumberP, RationalFunctionP, ClassP, DoubleP, ByteArrayP) ( return data type identifiers.) (Example: 7 tag IntegerP eq ---> 1) ] def @@ -1688,6 +1698,7 @@ [(RationalFunctionP) @.datatypeConstant.usage ] putUsages [(ClassP) @.datatypeConstant.usage ] putUsages [(DoubleP) @.datatypeConstant.usage ] putUsages +[(ByteArrayP) @.datatypeConstant.usage ] putUsages [(__) [( string ring __ polynomial) @@ -4372,7 +4383,63 @@ $ [ff ff] fromVectors :: $ } def /~put~ makeInfix +/toTokensBySpace { + /arg1 set + [(cgiToTokens) arg1 [ ]] extension +} def +[(toTokensBySpace) +[ + ( string toTokensBySpace token_array ) +]] putUsages +/setAttributeList { + /arg2 set + /arg1 set + [ + [(setAttributeList) arg1 arg2] extension /arg1 set + ] pop + arg1 +} def +/getAttributeList { + /arg1 set + [(getAttributeList) arg1] extension +} def +/setAttribute { + /arg3 set + /arg2 set + /arg1 set + [ + [(setAttribute) arg1 arg2 arg3] extension /arg1 set + ] pop + arg1 +} def +/getAttribute { + /arg2 set + /arg1 set + [(getAttribute) arg1 arg2] extension +} def +[(setAttributeList) +[ + (ob attr setAttributeList new-obj ) + (Example: [(x-1) (y-1)] [(gb) 1] setAttributeList /ff set ) +]] putUsages +[(setAttribute) +[ + (ob key value setAttribute new-obj ) + (Example: [(x-1) (y-1)] (gb) 1 setAttribute /ff set ) +]] putUsages +[(getAttributeList) +[ + (ob getAttributeList attr-obj ) + (Example: [(x-1) (y-1)] [(gb) 1] setAttributeList /ff set ) + ( ff getAttributeList :: ) +]] putUsages +[(getAttribute) +[ + (ob key getAttribute value ) + (Example: [(x-1) (y-1)] (gb) 1 setAttribute /ff set ) + ( ff (gb) getAttribute :: ) +]] putUsages ;