Add files via upload

This commit is contained in:
Андрей 2021-03-29 20:43:07 +04:00 committed by GitHub
parent 64c6352265
commit 35131ba393
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
90 changed files with 1738 additions and 0 deletions

26
math/example.bas Normal file
View file

@ -0,0 +1,26 @@
#include "maplib.bas"
SUB MAIN
DIM C AS BOOLEAN
DIM D AS DOUBLE
DIM I AS INTEGER
REM IF YOU WANT TO TRY FUNCTION
REM CONSTRAINT(),
REM ENABLE THIS OPTION
C = FALSE
D = MAPINT(249,0,360,0,100,C)
I = MAPINT(249,0,360,0,100,C)
PRINT "WITHOUT ANY DECLARING: " + STR$(MAPINT(249, 0,360, 0,100, FALSE))
PRINT ""
PRINT "DECLARED AS DOUBLE: " + STR$(D)
PRINT ""
PRINT "DECLARED AS INTEGER: " + STR$(I)
PRINT ""
END SUB

25
math/maplib.bas Normal file
View file

@ -0,0 +1,25 @@
FUNCTION CONSTRAINT(N AS DOUBLE, MINVAL AS DOUBLE, MAXVAL AS DOUBLE) AS DOUBLE
IF N < MINVAL THEN
CONSTRAINT=MINVAL
ELSEIF N > MAXVAL THEN
CONSTRAINT=MAXVAL
ELSE
CONSTRAINT=N
END IF
END FUNCTION
FUNCTION CONSTRAINTINT(N AS INTEGER, MINVAL AS INTEGER, MAXVAL AS INTEGER) AS VARIANT
CONSTRAINTINT=CONSTRAINT(DOUBLE(N),DOUBLE(MINVAL),DOUBLE(MAXVAL))
END FUNCTION
FUNCTION MAP(N AS DOUBLE, MINVALIN AS DOUBLE, MAXVALIN AS DOUBLE, MINVALOUT AS DOUBLE, MAXVALOUT AS DOUBLE, CONSTR AS BOOLEAN) AS DOUBLE
DIM CONV AS DOUBLE
REM CONV=N/(MAXVALIN/MAXVALOUT)
CONV=(N-MINVALIN)*(MAXVALOUT-MINVALOUT)/(MAXVALIN-MINVALIN)+MINVALOUT
IF CONSTR THEN
MAP=CONSTRAINT(CONV,MINVALOUT,MAXVALOUT)
ELSE
MAP=CONV
END IF
END FUNCTION
FUNCTION MAPINT(N AS INTEGER, MINVALIN AS INTEGER, MAXVALIN AS INTEGER, MINVALOUT AS INTEGER, MAXVALOUT AS INTEGER, CONSTR AS BOOLEAN) AS VARIANT
MAPINT=MAP(DOUBLE(N),DOUBLE(MINVALIN),DOUBLE(MAXVALIN),DOUBLE(MINVALOUT),DOUBLE(MAXVALOUT),CONSTR)
END FUNCTION