Module Stdlib.Int
Contents
Instructions: Use this module in your project
In the IDE (CLion, Visual Studio Code, Xcode, etc.) you use for your DkSDK project:
Add the following to your project's
dependencies/CMakeLists.txt:DkSDKProject_DeclareAvailable(ocaml CONSTRAINT "= 4.14.0" FINDLIBS str unix runtime_events threads dynlink) DkSDKProject_MakeAvailable(ocaml)Add the
Findlib::ocamllibrary to any desired targets insrc/*/CMakeLists.txt:target_link_libraries(YourPackage_YourLibraryName # ... existing libraries, if any ... Findlib::ocaml)Click your IDE's
Buildbutton
Not using DkSDK?
FIRST, do one or all of the following:
Run:
opam install ocaml.4.14.0Edit your
dune-projectand add:(package (name YourExistingPackage) (depends ; ... existing dependenices ... (ocaml (>= 4.14.0))))Then run:
dune build *.opam # if this fails, run: dune buildEdit your
<package>.opamfile and add:depends: [ # ... existing dependencies ... "ocaml" {>= "4.14.0"} ]Then run:
opam install . --deps-only
FINALLY, add the library to any desired (library)and/or (executable) targets in your **/dune files:
(library
(name YourLibrary)
; ... existing library options ...
(libraries
; ... existing libraries ...
))
(executable
(name YourExecutable)
; ... existing executable options ...
(libraries
; ... existing libraries ...
))Integers
typet`` = int
The type for integer values.
valzero : int
zero is the integer 0.
valone : int
one is the integer 1.
valminus_one : int
minus_one is the integer -1.
valneg : ``int->int
neg x is ~-x.
valadd : ``int->``int->int
add x y is the addition x + y.
valsub : ``int->``int->int
sub x y is the subtraction x - y.
valmul : ``int->``int->int
mul x y is the multiplication x * y.
valdiv : ``int->``int->int
div x y is the division x / y. See
[Stdlib.(/)](../<stdlib/#val-( )="">) for details.
</stdlib.html#val-(>
valrem : ``int->``int->int
rem x y is the remainder x mod y. See
Stdlib.(mod) for details.
</stdlib.html#val-(mod)>
valsucc : ``int->int
succ x is add x 1.
valpred : ``int->int
pred x is sub x 1.
valabs : ``int->int
abs x is the absolute value of x. That is x if x is positive and
neg x if x is negative. Warning. This may be negative if the
argument is min_int.
valmax_int : int
max_int is the greatest representable integer,
2{^[Sys.int_size - 1]} - 1.
valmin_int : int
min_int is the smallest representable integer,
-2{^[Sys.int_size - 1]}.
vallogand : ``int->``int->int
logand x y is the bitwise logical and of x and y.
vallogor : ``int->``int->int
logor x y is the bitwise logical or of x and y.
vallogxor : ``int->``int->int
logxor x y is the bitwise logical exclusive or of x and y.
vallognot : ``int->int
lognot x is the bitwise logical negation of x.
valshift_left : ``int->``int->int
shift_left x n shifts x to the left by n bits. The result is
unspecified if n < 0 or
n > Sys.int_size.
valshift_right : ``int->``int->int
shift_right x n shifts x to the right by n bits. This is an
arithmetic shift: the sign bit of x is replicated and inserted in the
vacated bits. The result is unspecified if n < 0 or
n > Sys.int_size.
valshift_right_logical : ``int->``int->int
shift_right x n shifts x to the right by n bits. This is a logical
shift: zeroes are inserted in the vacated bits regardless of the sign of
x. The result is unspecified if n < 0 or
n > Sys.int_size.
Predicates and comparisons
valequal : ``int->``int->bool
equal x y is true if and only if x = y.
valcompare : ``int->``int->int
compare x y is Stdlib.compare x y but
more efficient.
valmin : ``int->``int->int
Return the smaller of the two arguments.
- since 4.13.0
valmax : ``int->``int->int
Return the greater of the two arguments.
- since 4.13.0
Converting
valto_float : ``int->float
to_float x is x as a floating point number.
valof_float : ``float->int
of_float x truncates x to an integer. The result is unspecified if
the argument is nan or falls outside the range of representable
integers.
valto_string : ``int->string
to_string x is the written representation of x in decimal.
