| 
									
										
										
										
											2010-08-13 00:41:57 -04:00
										 |  |  | ! Copyright (C) 2006, 2010 Slava Pestov. | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ! See http://factorcode.org/license.txt for BSD license. | 
					
						
							| 
									
										
										
										
											2010-08-14 02:59:19 -04:00
										 |  |  | USING: alien alien.c-types alien.syntax words ;
 | 
					
						
							|  |  |  | FROM: math => float mod ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | IN: math.libm | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | LIBRARY: libm | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: facos | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double acos ( double x )
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fasin | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double asin ( double x )
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fatan | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double atan ( double x )
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fatan2 | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double atan2 ( double x, double y )
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fcos | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double cos ( double x )
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fsin | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double sin ( double x )
 | 
					
						
							| 
									
										
										
										
											2008-05-26 18:15:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: ftan | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double tan ( double x )
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fcosh | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double cosh ( double x )
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fsinh | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double sinh ( double x )
 | 
					
						
							| 
									
										
										
										
											2008-05-26 18:15:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: ftanh | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double tanh ( double x )
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fexp | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double exp ( double x )
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: flog | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double log ( double x )
 | 
					
						
							| 
									
										
										
										
											2009-09-14 17:19:58 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: flog10 | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double log10 ( double x )
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fpow | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double pow ( double x, double y )
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | FUNCTION-ALIAS: fsqrt | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double sqrt ( double x )
 | 
					
						
							| 
									
										
										
										
											2010-08-13 00:41:57 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  | FUNCTION: double fmod ( double x, double y ) | 
					
						
							| 
									
										
										
										
											2010-08-14 02:59:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | M: float mod fmod ; inline
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-13 00:41:57 -04:00
										 |  |  | ! fsqrt has an intrinsic so we don't actually want to inline it | 
					
						
							|  |  |  | ! unconditionally | 
					
						
							|  |  |  | << | 
					
						
							|  |  |  | \ fsqrt f "inline" set-word-prop | 
					
						
							|  |  |  | >> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-07 08:22:09 -04:00
										 |  |  | ! Windows doesn't have these... | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: flog1+ | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double log1p ( double x )
 | 
					
						
							| 
									
										
										
										
											2009-09-11 21:28:15 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: facosh | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double acosh ( double x )
 | 
					
						
							| 
									
										
										
										
											2008-06-07 08:22:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fasinh | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double asinh ( double x )
 | 
					
						
							| 
									
										
										
										
											2008-06-07 08:22:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-14 15:25:22 -04:00
										 |  |  | FUNCTION-ALIAS: fatanh | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  |     double atanh ( double x )
 |