Browse Source

New methods Number>>sqrt and #squared (issue #80)

Nicolas Petton 13 years ago
parent
commit
7ccaeab103
3 changed files with 62 additions and 0 deletions
  1. 22 0
      js/Kernel.deploy.js
  2. 32 0
      js/Kernel.js
  3. 8 0
      st/Kernel.st

+ 22 - 0
js/Kernel.deploy.js

@@ -1889,6 +1889,28 @@ return self;}
 }),
 smalltalk.Number);
 
+smalltalk.addMethod(
+'_sqrt',
+smalltalk.method({
+selector: 'sqrt',
+fn: function (){
+var self=this;
+return Math.sqrt(self);
+return self;}
+}),
+smalltalk.Number);
+
+smalltalk.addMethod(
+'_squared',
+smalltalk.method({
+selector: 'squared',
+fn: function (){
+var self=this;
+return self * self;
+return self;}
+}),
+smalltalk.Number);
+
 
 smalltalk.addMethod(
 '_pi',

+ 32 - 0
js/Kernel.js

@@ -2690,6 +2690,38 @@ referencedClasses: []
 }),
 smalltalk.Number);
 
+smalltalk.addMethod(
+unescape('_sqrt'),
+smalltalk.method({
+selector: unescape('sqrt'),
+category: 'arithmetic',
+fn: function (){
+var self=this;
+return Math.sqrt(self);
+return self;},
+args: [],
+source: unescape('sqrt%0A%09%3Creturn%20Math.sqrt%28self%29%3E'),
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.Number);
+
+smalltalk.addMethod(
+unescape('_squared'),
+smalltalk.method({
+selector: unescape('squared'),
+category: 'arithmetic',
+fn: function (){
+var self=this;
+return self * self;
+return self;},
+args: [],
+source: unescape('squared%0A%09%5Eself%20*%20self'),
+messageSends: [unescape("*")],
+referencedClasses: []
+}),
+smalltalk.Number);
+
 
 smalltalk.addMethod(
 unescape('_pi'),

+ 8 - 0
st/Kernel.st

@@ -762,6 +762,14 @@ negated
 
 \\ aNumber
 	<return self % aNumber>
+!
+
+sqrt
+	<return Math.sqrt(self)>
+!
+
+squared
+	^self * self
 ! !
 
 !Number methodsFor: 'comparing'!