dwww Home | Manual pages | Find package

Targetint(3o)                    OCaml library                   Targetint(3o)

NAME
       Targetint - Target processor-native integers.

Module
       Module   Targetint

Documentation
       Module Targetint
        : sig end

       Target processor-native integers.

       This  module  provides operations on the type of signed 32-bit integers
       (on 32-bit target platforms) or signed 64-bit integers (on 64-bit  tar-
       get  platforms).   This integer type has exactly the same width as that
       of a pointer type in the C compiler.  All  arithmetic  operations  over
       are  taken modulo 2^32 or 2^64 depending on the word size of the target
       architecture.

       Warning: this module is unstable and part of Compiler_libs .

       type t

       The type of target integers.

       val zero : t

       The target integer 0.

       val one : t

       The target integer 1.

       val minus_one : t

       The target integer -1.

       val neg : t -> t

       Unary negation.

       val add : t -> t -> t

       Addition.

       val sub : t -> t -> t

       Subtraction.

       val mul : t -> t -> t

       Multiplication.

       val div : t -> t -> t

       Integer division.  Raise Division_by_zero if  the  second  argument  is
       zero.   This division rounds the real quotient of its arguments towards
       zero, as specified for (/) .

       val unsigned_div : t -> t -> t

       Same as Targetint.div , except that arguments  and  result  are  inter-
       preted as     unsigned integers.

       val rem : t -> t -> t

       Integer  remainder.   If y is not zero, the result of Targetint.rem x y
       satisfies the following properties: Targetint.zero <= Nativeint.rem x y
       < Targetint.abs y and x = Targetint.add (Targetint.mul (Targetint.div x
       y) y)
                             (Targetint.rem x y) .  If y = 0 , Targetint.rem x
       y raises Division_by_zero .

       val unsigned_rem : t -> t -> t

       Same  as  Targetint.rem  ,  except that arguments and result are inter-
       preted as     unsigned integers.

       val succ : t -> t

       Successor.  Targetint.succ x is Targetint.add x Targetint.one .

       val pred : t -> t

       Predecessor.  Targetint.pred x is Targetint.sub x Targetint.one .

       val abs : t -> t

       Return the absolute value of its argument.

       val size : int

       The size in bits of a target native integer.

       val max_int : t

       The greatest representable target integer, either 2^31 - 1 on a  32-bit
       platform, or 2^63 - 1 on a 64-bit platform.

       val min_int : t

       The  smallest  representable  target  integer, either -2^31 on a 32-bit
       platform, or -2^63 on a 64-bit platform.

       val logand : t -> t -> t

       Bitwise logical and.

       val logor : t -> t -> t

       Bitwise logical or.

       val logxor : t -> t -> t

       Bitwise logical exclusive or.

       val lognot : t -> t

       Bitwise logical negation.

       val shift_left : t -> int -> t

       Targetint.shift_left x y shifts x to the left by y bits.  The result is
       unspecified  if y < 0 or y >= bitsize , where bitsize is 32 on a 32-bit
       platform and 64 on a 64-bit platform.

       val shift_right : t -> int -> t

       Targetint.shift_right x y shifts x to the right by y bits.  This is  an
       arithmetic  shift:  the sign bit of x is replicated and inserted in the
       vacated bits.  The result is unspecified if y < 0 or y >= bitsize .

       val shift_right_logical : t -> int -> t

       Targetint.shift_right_logical x y shifts x to  the  right  by  y  bits.
       This  is  a  logical shift: zeroes are inserted in the vacated bits re-
       gardless of the sign of x .  The result is unspecified if y < 0 or y >=
       bitsize .

       val of_int : int -> t

       Convert  the  given  integer (type int ) to a target integer (type t ),
       module the target word size.

       val of_int_exn : int -> t

       Convert the given integer (type int ) to a target integer  (type  t  ).
       Raises a fatal error if the conversion is not exact.

       val to_int : t -> int

       Convert  the  given target integer (type t ) to an integer (type int ).
       The high-order bit is lost during the conversion.

       val of_float : float -> t

       Convert the given floating-point number to a target integer, discarding
       the fractional part (truncate towards 0).  The result of the conversion
       is undefined if, after truncation, the number is outside  the  range  [
       Targetint.min_int , Targetint.max_int ].

       val to_float : t -> float

       Convert the given target integer to a floating-point number.

       val of_int32 : int32 -> t

       Convert the given 32-bit integer (type int32 ) to a target integer.

       val to_int32 : t -> int32

       Convert the given target integer to a 32-bit integer (type int32 ).  On
       64-bit platforms, the 64-bit native integer is taken modulo 2^32,  i.e.
       the  top  32 bits are lost.  On 32-bit platforms, the conversion is ex-
       act.

       val of_int64 : int64 -> t

       Convert the given 64-bit integer (type int64 ) to a target integer.

       val to_int64 : t -> int64

       Convert the given target integer to a 64-bit integer (type int64 ).

       val of_string : string -> t

       Convert the given string to a target integer.  The string  is  read  in
       decimal  (by  default) or in hexadecimal, octal or binary if the string
       begins with 0x , 0o or 0b respectively.  Raise Failure  "int_of_string"
       if  the given string is not a valid representation of an integer, or if
       the integer represented exceeds the range of integers representable  in
       type nativeint .

       val to_string : t -> string

       Return the string representation of its argument, in decimal.

       val compare : t -> t -> int

       The  comparison  function for target integers, with the same specifica-
       tion as compare .  Along with the type t , this function compare allows
       the  module Targetint to be passed as argument to the functors Set.Make
       and Map.Make .

       val unsigned_compare : t -> t -> int

       Same as Targetint.compare , except that arguments  are  interpreted  as
       unsigned integers.

       val equal : t -> t -> bool

       The equal function for target ints.

       type repr =
        | Int32 of int32
        | Int64 of int64

       val repr : t -> repr

       The concrete representation of a native integer.

       val print : Format.formatter -> t -> unit

       Print a target integer to a formatter.

OCamldoc                          2023-02-12                     Targetint(3o)

Generated by dwww version 1.15 on Sun Jun 23 03:59:56 CEST 2024.