# Path: pyjvm/bytecode.py
# def bytecode(code):
#     def cl(func):
#         BYTECODE[hex(code)] = func
#         return func
# 
#     return cl
# 
# Path: pyjvm/jassert.py
# def jassert_float(value):
#     assert type(value) is tuple and value[0] == "float"
# 
# Path: pyjvm/jassert.py
# def jassert_double(value):
#     assert type(value) is tuple and value[0] == "double"
# 
# Path: pyjvm/jassert.py
# def jassert_int(value):
#     assert type(value) is int or type(value) is long
#     assert -2147483648 <= value <= 2147483647
# 
# Path: pyjvm/jassert.py
# def jassert_long(value):
#     assert type(value) is tuple and value[0] == "long"
#     assert -9223372036854775808 <= value[1] <= 9223372036854775807
# 
# Path: pyjvm/jassert.py
# def jassert_ref(ref):
#     assert ref is None or (type(ref) is tuple and ref[0] in ("ref", "vm_ref"))


import logging
import struct
from pyjvm.bytecode import bytecode
from pyjvm.jassert import jassert_float
from pyjvm.jassert import jassert_double
from pyjvm.jassert import jassert_int
from pyjvm.jassert import jassert_long
from pyjvm.jassert import jassert_ref
def fstore_2(frame):
    value = frame.stack.pop()
    jassert_float(value)
    frame.args[2] = value


@bytecode(code=0x46)
def fstore_3(frame):
    value = frame.stack.pop()
    jassert_float(value)
    frame.args[3] = value


@bytecode(code=0x47)
def dstore_0(frame):
    value = frame.stack.pop()
    jassert_double(value)
    frame.args[0] = value


@bytecode(code=0x48)
def dstore_1(frame):
    value = frame.stack.pop()
    jassert_double(value)
    frame.args[1] = value


@bytecode(code=0x49)
def dstore_2(frame):
    value = frame.stack.pop()

# Path: pyjvm/bytecode.py
# def bytecode(code):
#     def cl(func):
#         BYTECODE[hex(code)] = func
#         return func
# 
#     return cl
# 
# Path: pyjvm/jassert.py
# def jassert_float(value):
#     assert type(value) is tuple and value[0] == "float"
# 
# Path: pyjvm/jassert.py
# def jassert_double(value):
#     assert type(value) is tuple and value[0] == "double"
# 
# Path: pyjvm/jassert.py
# def jassert_int(value):
#     assert type(value) is int or type(value) is long
#     assert -2147483648 <= value <= 2147483647
# 
# Path: pyjvm/jassert.py
# def jassert_long(value):
#     assert type(value) is tuple and value[0] == "long"
#     assert -9223372036854775808 <= value[1] <= 9223372036854775807
# 
# Path: pyjvm/jassert.py
# def jassert_ref(ref):
#     assert ref is None or (type(ref) is tuple and ref[0] in ("ref", "vm_ref"))


# Path: pyjvm/ops/ops_setget.py
import logging
import struct
from pyjvm.bytecode import bytecode
from pyjvm.jassert import jassert_float
from pyjvm.jassert import jassert_double
from pyjvm.jassert import jassert_int
from pyjvm.jassert import jassert_long
from pyjvm.jassert import jassert_ref

def fstore_2(frame):
    value = frame.stack.pop()
    jassert_float(value)
    frame.args[2] = value


@bytecode(code=0x46)
def fstore_3(frame):
    value = frame.stack.pop()
    jassert_float(value)
    frame.args[3] = value


@bytecode(code=0x47)
def dstore_0(frame):
    value = frame.stack.pop()
    jassert_double(value)
    frame.args[0] = value


@bytecode(code=0x48)
def dstore_1(frame):
    value = frame.stack.pop()
    jassert_double(value)
    frame.args[1] = value


@bytecode(code=0x49)
def dstore_2(frame):
    value = frame.stack.pop()

    jassert_double(value)