blob: 830951e76a0c92529979725b8ac8bb0b3f1bf9e4 [file] [log] [blame]
Guido van Rossuma3309961993-07-28 09:05:47 +00001#ifndef Py_FLOATOBJECT_H
2#define Py_FLOATOBJECT_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
Guido van Rossumf70e43a1991-02-19 12:39:46 +00007/***********************************************************
Guido van Rossum5799b521995-01-04 19:06:22 +00008Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
9The Netherlands.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000010
11 All Rights Reserved
12
Guido van Rossumfd71b9e2000-06-30 23:50:40 +000013Copyright (c) 2000, BeOpen.com.
14Copyright (c) 1995-2000, Corporation for National Research Initiatives.
15Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
16All rights reserved.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000017
Guido van Rossumfd71b9e2000-06-30 23:50:40 +000018See the file "Misc/COPYRIGHT" for information on usage and
19redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000020
21******************************************************************/
22
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000023/* Float object interface */
24
25/*
Guido van Rossumcaa63801995-01-12 11:45:45 +000026PyFloatObject represents a (double precision) floating point number.
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000027*/
28
29typedef struct {
Guido van Rossumcaa63801995-01-12 11:45:45 +000030 PyObject_HEAD
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000031 double ob_fval;
Guido van Rossumcaa63801995-01-12 11:45:45 +000032} PyFloatObject;
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000033
Guido van Rossum051ab121995-02-27 10:17:52 +000034extern DL_IMPORT(PyTypeObject) PyFloat_Type;
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000035
Guido van Rossumcaa63801995-01-12 11:45:45 +000036#define PyFloat_Check(op) ((op)->ob_type == &PyFloat_Type)
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000037
Barry Warsaw226ae6c1999-10-12 19:54:53 +000038extern DL_IMPORT(PyObject *) PyFloat_FromString Py_PROTO((PyObject*, char**));
Guido van Rossum43466ec1998-12-04 18:48:25 +000039extern DL_IMPORT(PyObject *) PyFloat_FromDouble Py_PROTO((double));
40extern DL_IMPORT(double) PyFloat_AsDouble Py_PROTO((PyObject *));
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000041
42/* Macro, trading safety for speed */
Guido van Rossum2981bc71997-08-02 02:40:58 +000043#define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval)
Guido van Rossuma3309961993-07-28 09:05:47 +000044
45#ifdef __cplusplus
46}
47#endif
48#endif /* !Py_FLOATOBJECT_H */