diff -r 2647abae8b3c -r 55e36a939e1e Number.st --- 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