Skip to content

Commit 1f1454f

Browse files
authored
FIX: msvcrt not support log-2 (#85)
1 parent f090ae7 commit 1f1454f

2 files changed

Lines changed: 5 additions & 3 deletions

File tree

Library/Stream-IO/Stream-IO-core.reds

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ Red/System [
5959
__mb-buffer: allocate 2 * MB_BUFFER_CHARS
6060
]
6161

62+
#define loge-2 0.6931471805599453
63+
6264
sio-decimal-pair!: alias struct! [
6365
x [float!]
6466
y [float!]
@@ -169,7 +171,7 @@ getSBitsLength: func[
169171
][
170172
if value = 0 [return 0]
171173
if value < 0 [value: 0 - value]
172-
2 + as integer! (log-2 as float! value) / 0.6931471805599453
174+
2 + as integer! ((log-e as float! value) / loge-2) / loge-2
173175
]
174176
getUBitsLength: func[
175177
"Returns number of bits needed to store unsigned integer value"
@@ -178,7 +180,7 @@ getUBitsLength: func[
178180
][
179181
if value = 0 [return 0]
180182
if value < 0 [value: 0 - value]
181-
1 + as integer! (log-2 as float! value) / 0.6931471805599453
183+
1 + as integer! ((log-e as float! value) / loge-2) / loge-2
182184
]
183185

184186

Scripts/mandelbrot-fast.red

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ fast-mandelbrot: routine [
5454
i: mandelbrot-iter x y iterations
5555

5656
pix/value: either i > iterations [FF000000h][
57-
c: 3.0 * (log-2 as-float i) / log-2 as-float (iterations - 1)
57+
c: 3.0 * (log-e as-float i) / log-e as-float (iterations - 1)
5858
case [
5959
c < 1.0 [FF000000h or (FFh and (as-integer 255.0 * c) << 16)]
6060
c < 2.0 [FFFF0000h or (FFh and (as-integer 255.0 * (c - 1.0)) << 8)]

0 commit comments

Comments
 (0)