math, syntax: document hexadecimal float literal syntax
							parent
							
								
									a2b864e4f5
								
							
						
					
					
						commit
						aad68418d2
					
				| 
						 | 
				
			
			@ -5,7 +5,7 @@ IN: math.parser
 | 
			
		|||
ARTICLE: "number-strings" "Converting between numbers and strings"
 | 
			
		||||
"These words only convert between real numbers and strings. Complex numbers are constructed by the parser (" { $link "parser" } ") and printed by the prettyprinter (" { $link "prettyprint" } ")."
 | 
			
		||||
$nl
 | 
			
		||||
"Note that only integers can be converted to and from strings using a representation other than base 10. Calling a word such as " { $link >oct } " on a float will give a result in base 10."
 | 
			
		||||
"Integers can be converted to and from arbitrary bases. Floating point numbers can only be converted to and from base 10 and 16."
 | 
			
		||||
$nl
 | 
			
		||||
"Converting numbers to strings:"
 | 
			
		||||
{ $subsection number>string }
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +93,19 @@ HELP: >oct
 | 
			
		|||
 | 
			
		||||
HELP: >hex
 | 
			
		||||
{ $values { "n" real } { "str" string } }
 | 
			
		||||
{ $description "Outputs a string representation of a number using base 16." } ;
 | 
			
		||||
{ $description "Outputs a string representation of a number using base 16." }
 | 
			
		||||
{ $examples
 | 
			
		||||
    { $example
 | 
			
		||||
        "USING: math.parser prettyprint ;"
 | 
			
		||||
        "3735928559 >hex ."
 | 
			
		||||
        "\"deadbeef\""
 | 
			
		||||
    }
 | 
			
		||||
    { $example
 | 
			
		||||
        "USING: math.parser prettyprint ;"
 | 
			
		||||
        "-15.5 >hex ."
 | 
			
		||||
        "\"-f.8p0\""
 | 
			
		||||
    }
 | 
			
		||||
} ;
 | 
			
		||||
 | 
			
		||||
HELP: string>float ( str -- n/f )
 | 
			
		||||
{ $values { "str" string } { "n/f" "a real number or " { $link f } } }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,20 +59,25 @@ ARTICLE: "syntax-ratios" "Ratio syntax"
 | 
			
		|||
"More information on ratios can be found in " { $link "rationals" } ;
 | 
			
		||||
 | 
			
		||||
ARTICLE: "syntax-floats" "Float syntax"
 | 
			
		||||
"Floating point literals must contain a decimal point, and may contain an exponent:"
 | 
			
		||||
"Floating point literals can be input in base 10 or 16. Base 10 literals must contain a decimal point, and may contain an exponent after " { $snippet "e" } ":"
 | 
			
		||||
{ $code
 | 
			
		||||
    "10.5"
 | 
			
		||||
    "-3.1456"
 | 
			
		||||
    "7.e13"
 | 
			
		||||
    "1.0e-5"
 | 
			
		||||
}
 | 
			
		||||
"There are three special float values:"
 | 
			
		||||
"Base 16 literals use " { $snippet "p" } " instead of " { $snippet "e" } " for the exponent, which is still decimal:"
 | 
			
		||||
{ $example
 | 
			
		||||
    "10.125 HEX: 1.44p3 = ."
 | 
			
		||||
    "t"
 | 
			
		||||
}
 | 
			
		||||
"Syntax for special float values:"
 | 
			
		||||
{ $table
 | 
			
		||||
{ "Positive infinity" { $snippet "1/0." } }
 | 
			
		||||
{ "Negative infinity" { $snippet "-1/0." } }
 | 
			
		||||
{ "Not-a-number" { $snippet "0/0." } }
 | 
			
		||||
}
 | 
			
		||||
"A Not-a-number with an arbitrary payload can be parsed in:"
 | 
			
		||||
"A Not-a-number with an arbitrary payload can also be parsed in:"
 | 
			
		||||
{ $subsection POSTPONE: NAN: }
 | 
			
		||||
"More information on floats can be found in " { $link "floats" } "." ;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue