POKE_F
Syntax |
POKE_F address,float |
Location |
BTool |
Floating point numbers are internally stored as six bytes. POKE_F will store any float at address in memory where ODD(address)=0.
Example
Floating point numbers can be stored in internal format in a file with PUT. The disadvantage of that method is low disk access speed if you need to store a large number of values.
Compare the following two programs which store the same amount of data at different speeds.
Slow but minimal memory usage:
100 n=1000: file$="flp1_test_dat"
120 fp=FOP_NEW(file$)
130 FOR i=1 TO n: PUT#fp,RND
140 CLOSE#fp
Fast but 6K buffer required:
100 n=1000: file$="flp1_test_dat"
120 a=ALCHP(6*(n+1))
130 FOR i=0 TO n: POKE_F a+i*6,RND
140 SBYTES file$,a,6*(n+1)
150 RECHP a
CROSS-REFERENCE
POKE, POKE_W and POKE_L store different ranges of integer numbers. MKF$ returns the internal representation of a floating point number as a string. GET and PUT write all kinds of data types in their internal format to a channel, FPUTF and FGETF are specialised variants for floats only. See also PEEK_F!