
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_lang_VMFloat__
#define __java_lang_VMFloat__

#pragma interface

#include <java/lang/Object.h>

class java::lang::VMFloat : public ::java::lang::Object
{

public: // actually package-private
  VMFloat();
  static jint floatToIntBits(jfloat);
  static jint floatToRawIntBits(jfloat);
  static jfloat intBitsToFloat(jint);
  static ::java::lang::String * toString(jfloat);
  static jfloat parseFloat(::java::lang::String *);
public:
  static ::java::lang::Class class$;
};

#endif // __java_lang_VMFloat__
