From 9b8690688ef24425d1c27f0a24cb520cf8574a1e Mon Sep 17 00:00:00 2001 From: CyrilFerlicot Date: Mon, 6 Feb 2023 16:24:12 +0100 Subject: [PATCH] Some methods are extensions of their own class. This PR removes that. Fixes #290 --- src/Math-Complex/PMComplexNumber.class.st | 14 +++--- src/Math-Complex/PMComplexNumber.extension.st | 46 ------------------- src/Math-Quaternion/PMQuaternion.class.st | 14 +++--- src/Math-Quaternion/PMQuaternion.extension.st | 46 ------------------- 4 files changed, 14 insertions(+), 106 deletions(-) delete mode 100644 src/Math-Complex/PMComplexNumber.extension.st delete mode 100644 src/Math-Quaternion/PMQuaternion.extension.st diff --git a/src/Math-Complex/PMComplexNumber.class.st b/src/Math-Complex/PMComplexNumber.class.st index 630817b7..adedbfb8 100644 --- a/src/Math-Complex/PMComplexNumber.class.st +++ b/src/Math-Complex/PMComplexNumber.class.st @@ -100,7 +100,7 @@ PMComplexNumber class >> one [ ^ self real: 1 imaginary: 0 ] -{ #category : #'*Math-Complex' } +{ #category : #information } PMComplexNumber class >> random [ "Answers a random number with abs between 0 and 1." | random | @@ -246,7 +246,7 @@ PMComplexNumber >> adaptToInteger: rcvr andSend: selector [ ^ rcvr asComplex perform: selector with: self ] -{ #category : #'*Math-Complex' } +{ #category : #'double dispatch' } PMComplexNumber >> addPolynomial: aPolynomial [ ^ aPolynomial addNumber: self ] @@ -510,7 +510,7 @@ PMComplexNumber >> divideSecureBy: anObject [ ^ anObject adaptToComplex: self andSend: #/. ] -{ #category : #'*Math-Complex' } +{ #category : #'double dispatch' } PMComplexNumber >> dividingPolynomial: aPolynomial [ ^ aPolynomial timesNumber: 1 / self ] @@ -613,7 +613,7 @@ PMComplexNumber >> printOn: aStream [ ] -{ #category : #'*Math-Complex' } +{ #category : #'double dispatch' } PMComplexNumber >> productWithVector: aVector [ "Answers a new vector product of the receiver with aVector." @@ -662,7 +662,7 @@ PMComplexNumber >> raisedToInteger: operand [ ^ result ] -{ #category : #'*Math-Complex' } +{ #category : #information } PMComplexNumber >> random [ "analog to Number>>random. However, the only bound is that the abs of the produced complex is less than the length of the receive. The receiver effectively defines a disc within which the random element can be produced." ^ self class random * self @@ -751,7 +751,7 @@ PMComplexNumber >> squaredNorm [ ^real * real + (imaginary * imaginary) ] -{ #category : #'*Math-Complex' } +{ #category : #'double dispatch' } PMComplexNumber >> subtractToPolynomial: aPolynomial [ ^ aPolynomial addNumber: self negated ] @@ -779,7 +779,7 @@ PMComplexNumber >> tanh [ ^self i tan i negated ] -{ #category : #'*Math-Complex' } +{ #category : #'double dispatch' } PMComplexNumber >> timesPolynomial: aPolynomial [ ^ aPolynomial timesNumber: self ] diff --git a/src/Math-Complex/PMComplexNumber.extension.st b/src/Math-Complex/PMComplexNumber.extension.st deleted file mode 100644 index 2d991bd3..00000000 --- a/src/Math-Complex/PMComplexNumber.extension.st +++ /dev/null @@ -1,46 +0,0 @@ -Extension { #name : #PMComplexNumber } - -{ #category : #'*Math-Complex' } -PMComplexNumber >> addPolynomial: aPolynomial [ - ^ aPolynomial addNumber: self -] - -{ #category : #'*Math-Complex' } -PMComplexNumber >> dividingPolynomial: aPolynomial [ - ^ aPolynomial timesNumber: 1 / self -] - -{ #category : #'*Math-Complex' } -PMComplexNumber >> productWithVector: aVector [ - "Answers a new vector product of the receiver with aVector." - - ^ aVector collect: [ :each | each * self ] -] - -{ #category : #'*Math-Complex' } -PMComplexNumber >> random [ - "analog to Number>>random. However, the only bound is that the abs of the produced complex is less than the length of the receive. The receiver effectively defines a disc within which the random element can be produced." - ^ self class random * self - -] - -{ #category : #'*Math-Complex' } -PMComplexNumber class >> random [ - "Answers a random number with abs between 0 and 1." - | random | - random := Random new. - - ^ self - abs: random next - arg: 2 * (random nextBetween: 0 and: Float pi) -] - -{ #category : #'*Math-Complex' } -PMComplexNumber >> subtractToPolynomial: aPolynomial [ - ^ aPolynomial addNumber: self negated -] - -{ #category : #'*Math-Complex' } -PMComplexNumber >> timesPolynomial: aPolynomial [ - ^ aPolynomial timesNumber: self -] diff --git a/src/Math-Quaternion/PMQuaternion.class.st b/src/Math-Quaternion/PMQuaternion.class.st index ea39e8af..00f8d1b5 100644 --- a/src/Math-Quaternion/PMQuaternion.class.st +++ b/src/Math-Quaternion/PMQuaternion.class.st @@ -55,7 +55,7 @@ PMQuaternion class >> qr: qr qi: qi qj: qj qk: qk [ qk: qk ] -{ #category : #'*Math-Quaternion' } +{ #category : #information } PMQuaternion class >> random [ "Answers a random quaternion with abs at most one." @@ -169,7 +169,7 @@ PMQuaternion >> adaptToInteger: rcvr andSend: selector [ ^ rcvr asQuaternion perform: selector with: self ] -{ #category : #'*Math-Quaternion' } +{ #category : #'double dispatch' } PMQuaternion >> addPolynomial: aPolynomial [ ^aPolynomial addNumber: self ] @@ -233,7 +233,7 @@ PMQuaternion >> cosh [ ^(self exp + self negated exp) / 2 ] -{ #category : #'*Math-Quaternion' } +{ #category : #'double dispatch' } PMQuaternion >> dividingPolynomial: aPolynomial [ ^aPolynomial timesNumber: (1 / self) ] @@ -387,7 +387,7 @@ PMQuaternion >> printOn: aStream [ self storeOn: aStream ] -{ #category : #'*Math-Quaternion' } +{ #category : #'double dispatch' } PMQuaternion >> productWithVector: aVector [ "Answers a new vector product of the receiver with aVector." ^aVector collect: [ :each | each * self] @@ -463,7 +463,7 @@ PMQuaternion >> raisedToInteger: operand [ ^ result ] -{ #category : #'*Math-Quaternion' } +{ #category : #information } PMQuaternion >> random [ "analog to Number>>random. The resulting quaternion will have abs at most that of the receiver" ^ self class random * self. @@ -568,7 +568,7 @@ PMQuaternion >> storeOn: aStream [ aStream nextPut: $) ] -{ #category : #'*Math-Quaternion' } +{ #category : #'double dispatch' } PMQuaternion >> subtractToPolynomial: aPolynomial [ ^aPolynomial addNumber: self negated ] @@ -609,7 +609,7 @@ PMQuaternion >> timesNumber: multiplier [ ^ self class qr: (qr * multiplier) qi: (qi * multiplier) qj: (qj * multiplier) qk: (qk * multiplier). ] -{ #category : #'*Math-Quaternion' } +{ #category : #'double dispatch' } PMQuaternion >> timesPolynomial: aPolynomial [ ^aPolynomial timesNumber: self ] diff --git a/src/Math-Quaternion/PMQuaternion.extension.st b/src/Math-Quaternion/PMQuaternion.extension.st deleted file mode 100644 index ec266643..00000000 --- a/src/Math-Quaternion/PMQuaternion.extension.st +++ /dev/null @@ -1,46 +0,0 @@ -Extension { #name : #PMQuaternion } - -{ #category : #'*Math-Quaternion' } -PMQuaternion >> addPolynomial: aPolynomial [ - ^aPolynomial addNumber: self -] - -{ #category : #'*Math-Quaternion' } -PMQuaternion >> dividingPolynomial: aPolynomial [ - ^aPolynomial timesNumber: (1 / self) -] - -{ #category : #'*Math-Quaternion' } -PMQuaternion >> productWithVector: aVector [ - "Answers a new vector product of the receiver with aVector." - ^aVector collect: [ :each | each * self] -] - -{ #category : #'*Math-Quaternion' } -PMQuaternion >> random [ - "analog to Number>>random. The resulting quaternion will have abs at most that of the receiver" - ^ self class random * self. -] - -{ #category : #'*Math-Quaternion' } -PMQuaternion class >> random [ - "Answers a random quaternion with abs at most one." - - | random | - random := Random new. - - ^ (0.5 - random next) - i: (0.5 - random next) - j: (0.5 - random next) - k: (0.5 - random next). -] - -{ #category : #'*Math-Quaternion' } -PMQuaternion >> subtractToPolynomial: aPolynomial [ - ^aPolynomial addNumber: self negated -] - -{ #category : #'*Math-Quaternion' } -PMQuaternion >> timesPolynomial: aPolynomial [ - ^aPolynomial timesNumber: self -]