mirror of
				https://github.com/janet-lang/janet
				synced 2025-10-31 15:43:01 +00:00 
			
		
		
		
	Merge pull request #880 from pepe/gamma-fix
Fix math/gamma and add math/log-gamma
This commit is contained in:
		| @@ -286,7 +286,8 @@ JANET_DEFINE_MATHOP(fabs, fabs, "Return the absolute value of x.") | |||||||
| JANET_DEFINE_MATHOP(floor, floor, "Returns the largest integer value number that is not greater than x.") | JANET_DEFINE_MATHOP(floor, floor, "Returns the largest integer value number that is not greater than x.") | ||||||
| JANET_DEFINE_MATHOP(trunc, trunc, "Returns the integer between x and 0 nearest to x.") | JANET_DEFINE_MATHOP(trunc, trunc, "Returns the integer between x and 0 nearest to x.") | ||||||
| JANET_DEFINE_MATHOP(round, round, "Returns the integer nearest to x.") | JANET_DEFINE_MATHOP(round, round, "Returns the integer nearest to x.") | ||||||
| JANET_DEFINE_MATHOP(gamma, lgamma, "Returns gamma(x).") | JANET_DEFINE_MATHOP(gamma, tgamma, "Returns gamma(x).") | ||||||
|  | JANET_DEFINE_MATHOP(lgamma, lgamma, "Returns log-gamma(x).") | ||||||
| JANET_DEFINE_MATHOP(log1p, log1p, "Returns (log base e of x) + 1 more accurately than (+ (math/log x) 1)") | JANET_DEFINE_MATHOP(log1p, log1p, "Returns (log base e of x) + 1 more accurately than (+ (math/log x) 1)") | ||||||
| JANET_DEFINE_MATHOP(erf, erf, "Returns the error function of x.") | JANET_DEFINE_MATHOP(erf, erf, "Returns the error function of x.") | ||||||
| JANET_DEFINE_MATHOP(erfc, erfc, "Returns the complementary error function of x.") | JANET_DEFINE_MATHOP(erfc, erfc, "Returns the complementary error function of x.") | ||||||
| @@ -383,6 +384,7 @@ void janet_lib_math(JanetTable *env) { | |||||||
|         JANET_CORE_REG("math/exp2", janet_exp2), |         JANET_CORE_REG("math/exp2", janet_exp2), | ||||||
|         JANET_CORE_REG("math/log1p", janet_log1p), |         JANET_CORE_REG("math/log1p", janet_log1p), | ||||||
|         JANET_CORE_REG("math/gamma", janet_gamma), |         JANET_CORE_REG("math/gamma", janet_gamma), | ||||||
|  |         JANET_CORE_REG("math/log-gamma", janet_lgamma), | ||||||
|         JANET_CORE_REG("math/erfc", janet_erfc), |         JANET_CORE_REG("math/erfc", janet_erfc), | ||||||
|         JANET_CORE_REG("math/erf", janet_erf), |         JANET_CORE_REG("math/erf", janet_erf), | ||||||
|         JANET_CORE_REG("math/expm1", janet_expm1), |         JANET_CORE_REG("math/expm1", janet_expm1), | ||||||
|   | |||||||
							
								
								
									
										31
									
								
								test/suite0011.janet
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								test/suite0011.janet
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | |||||||
|  | # Copyright (c) 2021 Calvin Rose & contributors | ||||||
|  | # | ||||||
|  | # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||||
|  | # of this software and associated documentation files (the "Software"), to | ||||||
|  | # deal in the Software without restriction, including without limitation the | ||||||
|  | # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||||||
|  | # sell copies of the Software, and to permit persons to whom the Software is | ||||||
|  | # furnished to do so, subject to the following conditions: | ||||||
|  | # | ||||||
|  | # The above copyright notice and this permission notice shall be included in | ||||||
|  | # all copies or substantial portions of the Software. | ||||||
|  | # | ||||||
|  | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||||
|  | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||||
|  | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||||
|  | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||||
|  | # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||||||
|  | # IN THE SOFTWARE. | ||||||
|  |  | ||||||
|  | (import ./helper :prefix "" :exit true) | ||||||
|  | (start-suite 11) | ||||||
|  |  | ||||||
|  | (assert (< 11899423.08 (math/gamma 11.5) 11899423.085) | ||||||
|  |         "math/gamma") | ||||||
|  |  | ||||||
|  | (assert (< 2605.1158 (math/log-gamma 500) 2605.1159) | ||||||
|  |         "math/log-gamma") | ||||||
|  |  | ||||||
|  | (end-suite) | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user
	 Calvin Rose
					Calvin Rose