\ Copyright 2021 Bradley D. Nelson \ \ Licensed under the Apache License, Version 2.0 (the "License"); \ you may not use this file except in compliance with the License. \ You may obtain a copy of the License at \ \ http://www.apache.org/licenses/LICENSE-2.0 \ \ Unless required by applicable law or agreed to in writing, software \ distributed under the License is distributed on an "AS IS" BASIS, \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \ See the License for the specific language governing permissions and \ limitations under the License. : sf, ( r -- ) here sf! sfloat allot ; : afliteral ( r -- ) ['] DOFLIT , sf, align ; : fliteral afliteral ; immediate : fconstant ( r "name" ) create sf, align does> sf@ ; : fvariable ( "name" ) create sfloat allot align ; 6 value precision : set-precision ( n -- ) to precision ; internals definitions : #f+s ( r -- ) fdup precision for aft 10e f* then next precision for aft fdup f>s 10 mod [char] 0 + hold 0.1e f* then next [char] . hold fdrop f>s #s ; forth definitions internals : #fs ( r -- ) fdup f0< if fnegate #f+s [char] - hold else #f+s then ; : f. ( r -- ) <# #fs #> type space ; : f.s ." <" fdepth n. ." > " fdepth 0 max for aft fp@ r@ sfloats - sf@ f. then next ; forth definitions
Legal: site web personnel sans commerce / personal site without seling