Class new title: Number subclassof: Object fields: '' declare: ''  t1 [self = t1  false]  t1 [Point new x: self y: t1] < t1 [self - t1 < 0] = t1 [self - t1 = 0] > t1 [self - t1 > 0] abs [self < 0  [self * 1]] asPoint [self  self] asPtX asPtY asRectCorner asRectOrigin asRectangle [self  self rect: self  self] base8 [self base: 8] base: t1 | t2 [t2 _ Stream default. t2 append: '0'. self printon: t2 base: t1. [t1 = 16  [t2 append: 'H']]. t2 contents] between: t1 and: t2 [t1  self and self  t2] cansubscript: t1 [self asInteger cansubscript: t1] compare: t1 [self < t1  [1] self = t1  [2] 3] factorial [self = 0  [1] self * (self - 1) factorial] for: t1 [Interval new from: self to: self + (t1 - 1) by: 1] hex [self base: 16] isLarge [false] isNumber log2 | t1 t2 [self < 0  [(self * 1) log2] self < 1  [(self / self / self) log2 * 1] t1 _ 1. t2 _ 0. while self  t1 do [t1 _ t1 + t1. t2 _ t2 + 1]. t2 - 1] max: t1 [self < t1  [t1]] min: t1 [self > t1  [t1]] printon: t1 [self printon: t1 base: 10] sign [[self = 0  [0] self < 0  [1] 1]] subscripts: t1 [t1  self asInteger] subscripts: t1 _ t2 [t1  self asInteger _ t2] to: t1 [Interval new from: self to: t1 by: 1] to: t1 by: t2 [Interval new from: self to: t1 by: t2] within: t1 [t1 start  self and self  t1 stop] ~ t1 [Interval new from: self to: t1 by: 1]