--- a/Number.st Mon May 09 16:10:09 2016 +0200
+++ b/Number.st Mon May 09 16:44:54 2016 +0200
@@ -2475,8 +2475,18 @@
^ (self class pi / 2) - self arcSin
!
+arcCosech
+ "return the inverse hyperbolic cosecant of the receiver."
+
+ (self isLimitedPrecisionReal not
+ or:[self generality < 1.0 generality]) ifTrue:[
+ ^ self asFloat arcCosech.
+ ].
+ ^ ((1 + ((self*self)+1) sqrt) / self) ln
+!
+
arcCosh
- "return the hyperbolic arccosine of the receiver."
+ "return the inverse hyperbolic cosine of the receiver."
(self isLimitedPrecisionReal not
or:[self generality < 1.0 generality]) ifTrue:[
@@ -2485,6 +2495,26 @@
^ (self + (self*self-1) sqrt) ln.
!
+arcCoth
+ "return the inverse hyperbolic cotangent of the receiver."
+
+ (self isLimitedPrecisionReal not
+ or:[self generality < 1.0 generality]) ifTrue:[
+ ^ self asFloat arcCoth.
+ ].
+ ^ ((self+1) / (self-1)) ln / 2
+!
+
+arcSech
+ "return the inverse hyperbolic secant of the receiver."
+
+ (self isLimitedPrecisionReal not
+ or:[self generality < 1.0 generality]) ifTrue:[
+ ^ self asFloat arcSech.
+ ].
+ ^ ((1 + (1-(self*self)) sqrt) / self) ln
+!
+
arcSin
"return the arcsine of the receiver (in radians)"
@@ -2496,7 +2526,7 @@
!
arcSinh
- "return the hyperbolic arcsine of the receiver."
+ "return the inverse hyperbolic sine of the receiver."
(self isLimitedPrecisionReal not
or:[self generality < 1.0 generality]) ifTrue:[
@@ -2527,13 +2557,14 @@
!
arcTanh
- "return the hyperbolic arctangent of the receiver."
+ "return the inverse hyperbolic tangent of the receiver."
(self isLimitedPrecisionReal not
or:[self generality < 1.0 generality]) ifTrue:[
^ self asFloat arcTanh.
].
- ^ ((self + 1) ln / 2) - ((1 - self) ln / 2)
+ ^ ((1 + self) / (1 - self)) ln / 2
+ "/ s^ ((1 + self) ln / 2) - ((1 - self) ln / 2)
!
cos