X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=lib%2Fint63_on_64.ml;h=bcddd3200b2b5b2cc039111f8c14c84fd8197efd;hb=HEAD;hp=a1c9487c4e6fecdaaf85460bad25b1bf3f589467;hpb=70ecd5f92e887185fd3e09f603e4c5e1a06ef4f4;p=virt-df.git diff --git a/lib/int63_on_64.ml b/lib/int63_on_64.ml index a1c9487..bcddd32 100644 --- a/lib/int63_on_64.ml +++ b/lib/int63_on_64.ml @@ -1,19 +1,20 @@ (* 63 bit signed integer type. (C) Copyright 2008 Richard W.M. Jones, Red Hat Inc. - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version, + with the OCaml linking exception described in ../COPYING.LIB. - This program is distributed in the hope that it will be useful, + This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *) (* This is the 64 bit implementation so for efficiency we used the @@ -31,16 +32,16 @@ module Operators = struct external ( %^ ) : int -> int -> int = "%modint" external ( <^< ) : int -> int -> int = "%lslint" external ( >^> ) : int -> int -> int = "%lsrint" - external ( &&^ ) : int -> int -> int = "%andint" - external ( ||^ ) : int -> int -> int = "%orint" - external ( ^^^ ) : int -> int -> int = "%xorint" + external ( &^ ) : int -> int -> int = "%andint" + external ( |^ ) : int -> int -> int = "%orint" + external ( ^^ ) : int -> int -> int = "%xorint" external ( ~^ ) : int -> int = "%identity" external ( ~^~ ) : int -> int = "%negint" end let zero = 0 let one = 1 -let minus_one = ~1 +let minus_one = (-1) external neg : int -> int = "%negint"