Skip to content

Commit 7314191

Browse files
[48] As part of merging the QuaternionsExtensions Package into Quaternions,
moved messages to the Quaternions package.
1 parent 76e10fb commit 7314191

5 files changed

Lines changed: 98 additions & 50 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Extension { #name : #PMPolynomial }
22

3-
{ #category : #'*Math-QuaternionExtensions' }
3+
{ #category : #'*Math-Quaternion' }
44
PMPolynomial >> adaptToQuaternion: rcvr andSend: selector [
55
^(self class coefficients: (Array with: rcvr) ) perform: selector with: self
66
]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Extension { #name : #PMVector }
22

3-
{ #category : #'*Math-QuaternionExtensions' }
3+
{ #category : #'*Math-Quaternion' }
44
PMVector >> adaptToQuaternion: aQuaternion andSend: aByteSymbol [
55
^ self collect: [ :ea | aQuaternion perform: aByteSymbol with: ea ]
66
]

src/Math-Quaternion/Quaternion.class.st

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,16 @@ Quaternion >> adaptToInteger: rcvr andSend: selector [
173173
^ rcvr asQuaternion perform: selector with: self
174174
]
175175

176+
{ #category : #'*Math-Quaternion' }
177+
Quaternion >> addPolynomial: aPolynomial [
178+
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
179+
Initial code: 19/4/99
180+
181+
added to Quaternion 11 May 2012 Daniel Uber
182+
"
183+
^aPolynomial addNumber: self
184+
]
185+
176186
{ #category : #accessing }
177187
Quaternion >> angle [
178188
"answer the rotation angle associated with the receiver"
@@ -232,6 +242,13 @@ Quaternion >> cosh [
232242
^(self exp + self negated exp) / 2
233243
]
234244

245+
{ #category : #'*Math-Quaternion' }
246+
Quaternion >> dividingPolynomial: aPolynomial [
247+
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
248+
Initial code: 17/4/99 "
249+
^aPolynomial timesNumber: (1 / self)
250+
]
251+
235252
{ #category : #'mathematical functions' }
236253
Quaternion >> exp [
237254
"Answer the receiver exponential"
@@ -369,6 +386,14 @@ Quaternion >> printOn: aStream [
369386
self storeOn: aStream
370387
]
371388

389+
{ #category : #'*Math-Quaternion' }
390+
Quaternion >> productWithVector: aVector [
391+
"Answers a new vector product of the receiver with aVector.
392+
(c) Copyrights Didier BESSET, 1999, all rights reserved.
393+
Initial code: 11/2/99 "
394+
^aVector collect: [ :each | each * self]
395+
]
396+
372397
{ #category : #accessing }
373398
Quaternion >> qi [
374399
^qi
@@ -439,6 +464,12 @@ Quaternion >> raisedToInteger: operand [
439464
^ result
440465
]
441466

467+
{ #category : #'*Math-Quaternion' }
468+
Quaternion >> random [
469+
"analog to Number>>random. The resulting quaternion will have abs at most that of the receiver"
470+
^ self class random * self.
471+
]
472+
442473
{ #category : #accessing }
443474
Quaternion >> real [
444475
"answer the real part of the receiver"
@@ -538,6 +569,13 @@ Quaternion >> storeOn: aStream [
538569
aStream nextPut: $)
539570
]
540571

572+
{ #category : #'*Math-Quaternion' }
573+
Quaternion >> subtractToPolynomial: aPolynomial [
574+
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
575+
Initial code: 19/4/99 "
576+
^aPolynomial addNumber: self negated
577+
]
578+
541579
{ #category : #'mathematical functions' }
542580
Quaternion >> tan [
543581
"Answer the receiver tangent"
@@ -555,6 +593,15 @@ Quaternion >> tanh [
555593
^(ep - em) / (ep + em)
556594
]
557595

596+
{ #category : #'*Math-Quaternion' }
597+
Quaternion >> timesPolynomial: aPolynomial [
598+
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
599+
Initial code: 17/4/99
600+
added to Complex class 12 May 2012, Daniel Uber
601+
"
602+
^aPolynomial timesNumber: self
603+
]
604+
558605
{ #category : #accessing }
559606
Quaternion >> unreal [
560607
"answer the unreal part of the receiver"
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
Extension { #name : #Quaternion }
2+
3+
{ #category : #'*Math-Quaternion' }
4+
Quaternion >> addPolynomial: aPolynomial [
5+
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
6+
Initial code: 19/4/99
7+
8+
added to Quaternion 11 May 2012 Daniel Uber
9+
"
10+
^aPolynomial addNumber: self
11+
]
12+
13+
{ #category : #'*Math-Quaternion' }
14+
Quaternion >> dividingPolynomial: aPolynomial [
15+
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
16+
Initial code: 17/4/99 "
17+
^aPolynomial timesNumber: (1 / self)
18+
]
19+
20+
{ #category : #'*Math-Quaternion' }
21+
Quaternion >> productWithVector: aVector [
22+
"Answers a new vector product of the receiver with aVector.
23+
(c) Copyrights Didier BESSET, 1999, all rights reserved.
24+
Initial code: 11/2/99 "
25+
^aVector collect: [ :each | each * self]
26+
]
27+
28+
{ #category : #'*Math-Quaternion' }
29+
Quaternion >> random [
30+
"analog to Number>>random. The resulting quaternion will have abs at most that of the receiver"
31+
^ self class random * self.
32+
]
33+
34+
{ #category : #'*Math-Quaternion' }
35+
Quaternion >> subtractToPolynomial: aPolynomial [
36+
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
37+
Initial code: 19/4/99 "
38+
^aPolynomial addNumber: self negated
39+
]
40+
41+
{ #category : #'*Math-Quaternion' }
42+
Quaternion >> timesPolynomial: aPolynomial [
43+
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
44+
Initial code: 17/4/99
45+
added to Complex class 12 May 2012, Daniel Uber
46+
"
47+
^aPolynomial timesNumber: self
48+
]
Lines changed: 1 addition & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,11 @@
11
Extension { #name : #Quaternion }
22

33
{ #category : #'*Math-QuaternionExtensions' }
4-
Quaternion >> addPolynomial: aPolynomial [
5-
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
6-
Initial code: 19/4/99
7-
8-
added to Quaternion 11 May 2012 Daniel Uber
9-
"
10-
^aPolynomial addNumber: self
11-
]
12-
13-
{ #category : #'*Math-QuaternionExtensions' }
14-
Quaternion >> dividingPolynomial: aPolynomial [
15-
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
16-
Initial code: 17/4/99 "
17-
^aPolynomial timesNumber: (1 / self)
18-
]
19-
20-
{ #category : #'*Math-QuaternionExtensions' }
21-
Quaternion >> productWithVector: aVector [
22-
"Answers a new vector product of the receiver with aVector.
23-
(c) Copyrights Didier BESSET, 1999, all rights reserved.
24-
Initial code: 11/2/99 "
25-
^aVector collect: [ :each | each * self]
26-
]
27-
28-
{ #category : #'*Math-QuaternionExtensions' }
29-
Quaternion classSide >> random [
4+
Quaternion class >> random [
305
"Answers a random quaternion with abs at most one."
316

327
^ (0.5 - Float random)
338
i: (0.5 - Float random)
349
j: (0.5 - Float random)
3510
k: (0.5 - Float random).
3611
]
37-
38-
{ #category : #'*Math-QuaternionExtensions' }
39-
Quaternion >> random [
40-
"analog to Number>>random. The resulting quaternion will have abs at most that of the receiver"
41-
^ self class random * self.
42-
]
43-
44-
{ #category : #'*Math-QuaternionExtensions' }
45-
Quaternion >> subtractToPolynomial: aPolynomial [
46-
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
47-
Initial code: 19/4/99 "
48-
^aPolynomial addNumber: self negated
49-
]
50-
51-
{ #category : #'*Math-QuaternionExtensions' }
52-
Quaternion >> timesPolynomial: aPolynomial [
53-
"(c) Copyrights Didier BESSET, 1999, all rights reserved.
54-
Initial code: 17/4/99
55-
added to Complex class 12 May 2012, Daniel Uber
56-
"
57-
^aPolynomial timesNumber: self
58-
]

0 commit comments

Comments
 (0)