Coverage Report

Created: 2025-07-04 06:49

/src/cpython/Include/cpython/floatobject.h
Line
Count
Source
1
#ifndef Py_CPYTHON_FLOATOBJECT_H
2
#  error "this header file must not be included directly"
3
#endif
4
5
typedef struct {
6
    PyObject_HEAD
7
    double ob_fval;
8
} PyFloatObject;
9
10
#define _PyFloat_CAST(op) \
11
28.9M
    (assert(PyFloat_Check(op)), _Py_CAST(PyFloatObject*, op))
12
13
// Static inline version of PyFloat_AsDouble() trading safety for speed.
14
// It doesn't check if op is a double object.
15
28.8M
static inline double PyFloat_AS_DOUBLE(PyObject *op) {
16
28.8M
    return _PyFloat_CAST(op)->ob_fval;
17
28.8M
}
Unexecuted instantiation: bytesobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: call.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: exceptions.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: genericaliasobject.c:PyFloat_AS_DOUBLE
floatobject.c:PyFloat_AS_DOUBLE
Line
Count
Source
15
12.5M
static inline double PyFloat_AS_DOUBLE(PyObject *op) {
16
12.5M
    return _PyFloat_CAST(op)->ob_fval;
17
12.5M
}
Unexecuted instantiation: listobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: longobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: dictobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: memoryobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: moduleobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: object.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: obmalloc.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: picklebufobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: rangeobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: setobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: sliceobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: structseq.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: templateobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: tupleobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: typeobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: typevarobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: unicodeobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: unicodectype.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: unionobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: weakrefobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _warnings.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: bltinmodule.c:PyFloat_AS_DOUBLE
ceval.c:PyFloat_AS_DOUBLE
Line
Count
Source
15
16.3M
static inline double PyFloat_AS_DOUBLE(PyObject *op) {
16
16.3M
    return _PyFloat_CAST(op)->ob_fval;
17
16.3M
}
Unexecuted instantiation: codecs.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: codegen.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: compile.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: context.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: errors.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: flowgraph.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: frame.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: future.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: gc.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: gc_gil.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: getargs.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: ceval_gil.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: hamt.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: hashtable.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: import.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: importdl.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: initconfig.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: instrumentation.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: instruction_sequence.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: intrinsics.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: legacy_tracing.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: lock.c:PyFloat_AS_DOUBLE
marshal.c:PyFloat_AS_DOUBLE
Line
Count
Source
15
41
static inline double PyFloat_AS_DOUBLE(PyObject *op) {
16
41
    return _PyFloat_CAST(op)->ob_fval;
17
41
}
Unexecuted instantiation: modsupport.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: mysnprintf.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: parking_lot.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: preconfig.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pyarena.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pyctype.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pyhash.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pylifecycle.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pymath.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pystate.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pythonrun.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pytime.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: qsbr.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: bootstrap_hash.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: specialize.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: symtable.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: sysmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: thread.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: traceback.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: tracemalloc.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: getopt.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pystrcmp.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pystrtod.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pystrhex.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: dtoa.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: formatter_unicode.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: fileutils.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: suggestions.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: perf_trampoline.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: perf_jit_trampoline.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: remote_debugging.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: dynload_shlib.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: config.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: gcmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: atexitmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: faulthandler.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: posixmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: signalmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _tracemalloc.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _suggestions.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _codecsmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _collectionsmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _iomodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: iobase.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: fileio.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: bytesio.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: bufferedio.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: textio.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: stringio.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: itertoolsmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: sre.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _sysconfig.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _threadmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: timemodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _typesmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _typingmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _weakref.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _abc.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _functoolsmodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _localemodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _opcode.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _operator.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: symtablemodule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: getpath.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: frozen.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: getbuildinfo.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: peg_api.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: file_tokenizer.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: helpers.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: myreadline.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: abstract.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: boolobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: bytes_methods.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: bytearrayobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: capsule.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: cellobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: classobject.c:PyFloat_AS_DOUBLE
codeobject.c:PyFloat_AS_DOUBLE
Line
Count
Source
15
267
static inline double PyFloat_AS_DOUBLE(PyObject *op) {
16
267
    return _PyFloat_CAST(op)->ob_fval;
17
267
}
Unexecuted instantiation: complexobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: descrobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: enumobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: genobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: fileobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: frameobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: funcobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: interpolationobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: iterobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: odictobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: methodobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: namespaceobject.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: _contextvars.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: Python-ast.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: Python-tokenize.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: asdl.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: assemble.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: ast.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: ast_preprocess.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: ast_unparse.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: critical_section.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: crossinterp.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: getcopyright.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: getplatform.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: getversion.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: optimizer.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pathconfig.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: structmember.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pegen.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: pegen_errors.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: parser.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: buffer.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: lexer.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: state.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: readline_tokenizer.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: string_tokenizer.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: utf8_tokenizer.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: getcompiler.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: mystrtoul.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: token.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: action_helpers.c:PyFloat_AS_DOUBLE
Unexecuted instantiation: string_parser.c:PyFloat_AS_DOUBLE
18
28.8M
#define PyFloat_AS_DOUBLE(op) PyFloat_AS_DOUBLE(_PyObject_CAST(op))
19
20
21
PyAPI_FUNC(int) PyFloat_Pack2(double x, char *p, int le);
22
PyAPI_FUNC(int) PyFloat_Pack4(double x, char *p, int le);
23
PyAPI_FUNC(int) PyFloat_Pack8(double x, char *p, int le);
24
25
PyAPI_FUNC(double) PyFloat_Unpack2(const char *p, int le);
26
PyAPI_FUNC(double) PyFloat_Unpack4(const char *p, int le);
27
PyAPI_FUNC(double) PyFloat_Unpack8(const char *p, int le);