40 lines
819 B
Plaintext
40 lines
819 B
Plaintext
DECLARE FUNCTION powL& (x AS INTEGER, y AS INTEGER)
|
|
DECLARE FUNCTION powS# (x AS SINGLE, y AS INTEGER)
|
|
|
|
DIM x AS INTEGER, y AS INTEGER
|
|
DIM a AS SINGLE
|
|
|
|
RANDOMIZE TIMER
|
|
a = RND * 10
|
|
x = INT(RND * 10)
|
|
y = INT(RND * 10)
|
|
PRINT x, y, powL&(x, y)
|
|
PRINT a, y, powS#(a, y)
|
|
|
|
FUNCTION powL& (x AS INTEGER, y AS INTEGER)
|
|
DIM n AS INTEGER, m AS LONG
|
|
IF x <> 0 THEN
|
|
m = 1
|
|
IF SGN(y) > 0 THEN
|
|
FOR n = 1 TO y
|
|
m = m * x
|
|
NEXT
|
|
END IF
|
|
END IF
|
|
powL& = m
|
|
END FUNCTION
|
|
|
|
FUNCTION powS# (x AS SINGLE, y AS INTEGER)
|
|
DIM n AS INTEGER, m AS DOUBLE
|
|
IF x <> 0 THEN
|
|
m = 1
|
|
IF y <> 0 THEN
|
|
FOR n = 1 TO y
|
|
m = m * x
|
|
NEXT
|
|
IF y < 0 THEN m = 1# / m
|
|
END IF
|
|
END IF
|
|
powS# = m
|
|
END FUNCTION
|