Add .gitignore file for git.
[virt-df.git] / lib / int63_on_64.ml
index 5679294..bcddd32 100644 (file)
@@ -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
@@ -28,15 +29,19 @@ module Operators = struct
   external ( -^ ) : int -> int -> int = "%subint"
   external ( *^ ) : int -> int -> int = "%mulint"
   external ( /^ ) : int -> int -> int = "%divint"
-  external ( <<^ ) : int -> int -> int = "%lslint"
-  external ( >>^ ) : int -> int -> int = "%lsrint"
+  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 = "%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"