/*
* The contents of this file are subject to the JJOS Public License
* Version 0.0 (the "License"); you may not use this file except in
* compliance with the License.  You may obtain a copy of the License
* at http://www.jos.org/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is JJOS code, released August, 1999.
*
* The Initial Developer of the Original Code is Hilary Cheng.
* Portions created by Hilary Cheng are Copyright (C) 1999.
* All rights reserved.
*
* Contributor(s):
*
*/

// value = value << 1
void _lshl(jlong *value, int shift);

// value = value >> shift
void _lshr(jlong *value, int shift);

// c = a + b
void _ladd(jlong *c, jlong *a, jlong *b);

// value = -value;
void _lneg(jlong *value);

// c = a - b
void _lsub(jlong *c, jlong *a, jlong *b);

// c = a & b
void _land(jlong *c, jlong *a, jlong *b);

// c = a ^ b
void _lxor(jlong *c, jlong *a, jlong *b);

// c = a | b
void _lor(jlong *c, jlong *a, jlong *b);

// result = jl2 / jl1;
void _ldiv(jlong *jl1, jlong *jl2, jlong *result);

// lresult = jl2 % jl1;
void _lrem(jlong *jl1, jlong *jl2, jlong *lresult);

// result = jl1 * jl2
void _lmul(jlong *jl1, jlong *jl2, jlong *result);

