37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Factor
		
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Factor
		
	
	
|  | ! Copyright (C) 2017 Jon Harper. | ||
|  | ! See http://factorcode.org/license.txt for BSD license. | ||
|  | USING: help.markup help.syntax kernel math quotations ;
 | ||
|  | IN: math.functions.integer-logs | ||
|  | 
 | ||
|  | HELP: integer-log10 | ||
|  | { $values | ||
|  |     { "x" "a positive rational number" } | ||
|  |     { "n" integer } | ||
|  | } | ||
|  | { $description "Outputs the largest integer " { $snippet "n" } " such that " { $snippet "10^n" } " is less than or equal to " { $snippet "x" } "." } | ||
|  | { $errors "Throws an error if " { $snippet "x" } " is zero or negative." } ;
 | ||
|  | 
 | ||
|  | HELP: integer-log2 | ||
|  | { $values | ||
|  |     { "x" "a positive rational number" } | ||
|  |     { "n" integer } | ||
|  | } | ||
|  | { $description "Outputs the largest integer " { $snippet "n" } " such that " { $snippet "2^n" } " is less than or equal to " { $snippet "x" } "." } | ||
|  | { $errors "Throws an error if " { $snippet "x" } " is zero or negative." } ;
 | ||
|  | 
 | ||
|  | ARTICLE: "integer-logs" "Integer logarithms" | ||
|  | "The " { $vocab-link "math.functions.integer-logs" } " vocabulary provides exact integer logarithms for all rational numbers:" | ||
|  | { $subsections integer-log2 integer-log10 } | ||
|  | { $examples | ||
|  |     { $example | ||
|  |         "USING: prettyprint math.functions.integer-logs sequences ;" | ||
|  |         "{" | ||
|  |         "     5 99 100 101 100000000000000000000" | ||
|  |         "     100+1/2 1/100" | ||
|  |         "} [ integer-log10 ] map ." | ||
|  |         "{ 0 1 2 2 20 2 -2 }" | ||
|  |     } | ||
|  | } ;
 | ||
|  | 
 | ||
|  | ABOUT: "integer-logs" |