#ifndef __NUMBERS_REAL_H #define __NUMBERS_REAL_H /* 6D programming language Copyright (C) 2011 Danny Milosavljevic This program 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 3 of the License, or (at your option) any later version. This program 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include "Numbers/Small" #include "Values/Values" #include "6D/Values" #include "6D/Operations" #include "6D/FFIs" BEGIN_NAMESPACE_6D(Values) DECLARE_SMALL_VALUE(Float, NATIVEFLOAT) DECLARE_FN(FloatP) NODET nanA(void) G_5D_PURE; NODET infinityA(void) G_5D_PURE; bool floatP(NODET node) G_5D_PURE; double nanxx(void); double infxx(void); NODET floatAdd(NODET aP, NODET bP); NODET floatSub(NODET aP, NODET bP); NODET floatMul(NODET aP, NODET bP); NODET floatDivrem(NODET aP, NODET bP); NODET floatDiv(NODET aP, NODET bP); void initFloats(void); END_NAMESPACE_6D(Values) BEGIN_NAMESPACE_6D(FFIs) bool toNativeFloat(NODET node, NATIVEFLOAT* result) G_5D_PURE; END_NAMESPACE_6D(FFIs) #endif /* ndef __NUMBERS_REAL_H */