You need to talk with umezawa-sensei about your problem with SIXX On Thu, May 19, 2011 at 3:42 PM, Dario Trussardi <[email protected]> wrote: > Hi, > > i found some problem into Gemstone relative to SIXX support for > manage ScaledDecimal instances. > > > I do some test into Pharo and i found error when i read the sixx > declaration relative to ScaledDecimal : > > <sixx.object sixx.id="0" sixx.type="ScaledDecimal" > >123.456s3</sixx.object> > > > For solve this error i define the ScaledDecimal : > > readSixxContentStringFrom: aStream > > > | numerator scale | > > numerator := aStream upTo: $s . > > scale := aStream upToEnd. > > > ^ self newFromNumber: numerator asNumber scale: scale > asNumber > > > Now my doubt is relative to string size and performance. > > A) If i write > > <sixx.object sixx.id="0" sixx.type="ScaledDecimal" > >123.456s3</sixx.object> > > > i have small string in sixx declartion but when create a ScaledDecimal > from sixx the system execute the: > > newFromNumber: aNumber scale: anInteger > | aFraction | > aFraction := aNumber asFraction. > ^aFraction isFraction > ifTrue: [self new setNumerator: aFraction numerator > denominator: aFraction denominator scale: anInteger] > ifFalse: [self new setNumerator: aFraction > denominator: 1 scale: anInteger] > > > What is the performance relative to : aFraction := > aFloat asFraction. ???? > > > > > B) The alternative is to write a sixx declaration with: > > <sixx.object sixx.id="0" sixx.type="ScaledDecimal" > >(8687443681197687/70368744177664s3)</sixx.object> > > > in this case the sixx string is big but the ScaledDecimal instance > creation is direct: > > > readSixxContentStringFromA: aStream > > " with numerator and denominator " > | numerator denominator scale | > aStream next. "skip $(" > numerator := aStream upTo: $/ . > denominator := aStream upTo: $s. > scale := aStream upTo: $). > > ^ self new setNumerator: numerator asNumber denominator: > denominator asNumber scale: scale asNumber > > > > Any pointers would be greatly appreciated ! > > Thanks, > > Dario > > > >
-- Serge Stinckwich UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam Every DSL ends up being Smalltalk http://doesnotunderstand.org/
