$59 GRAYBYTE WORDPRESS FILE MANAGER $29

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/alt/ruby30/include/ruby/internal/arithmetic/

HOME
Current File : /opt/alt/ruby30/include/ruby/internal/arithmetic//fixnum.h
#ifndef RBIMPL_ARITHMETIC_FIXNUM_H                   /*-*-C++-*-vi:se ft=cpp:*/
#define RBIMPL_ARITHMETIC_FIXNUM_H
/**
 * @file
 * @author     Ruby developers <[email protected]>
 * @copyright  This  file  is   a  part  of  the   programming  language  Ruby.
 *             Permission  is hereby  granted,  to  either redistribute  and/or
 *             modify this file, provided that  the conditions mentioned in the
 *             file COPYING are met.  Consult the file for details.
 * @warning    Symbols   prefixed  with   either  `RBIMPL`   or  `rbimpl`   are
 *             implementation details.   Don't take  them as canon.  They could
 *             rapidly appear then vanish.  The name (path) of this header file
 *             is also an  implementation detail.  Do not expect  it to persist
 *             at the place it is now.  Developers are free to move it anywhere
 *             anytime at will.
 * @note       To  ruby-core:  remember  that   this  header  can  be  possibly
 *             recursively included  from extension  libraries written  in C++.
 *             Do not  expect for  instance `__VA_ARGS__` is  always available.
 *             We assume C99  for ruby itself but we don't  assume languages of
 *             extension libraries. They could be written in C++98.
 * @brief      Handling of integers formerly known as Fixnums.
 */
#include "ruby/backward/2/limits.h"

#define FIXABLE    RB_FIXABLE
#define FIXNUM_MAX RUBY_FIXNUM_MAX
#define FIXNUM_MIN RUBY_FIXNUM_MIN
#define NEGFIXABLE RB_NEGFIXABLE
#define POSFIXABLE RB_POSFIXABLE

/*
 * FIXABLE can be applied to anything, from double to intmax_t.  The problem is
 * double.   On a  64bit system  RUBY_FIXNUM_MAX is  4,611,686,018,427,387,903,
 * which is not representable by a double.  The nearest value that a double can
 * represent  is   4,611,686,018,427,387,904,  which   is  not   fixable.   The
 * seemingly-stragne "< FIXNUM_MAX + 1" expression below is due to this.
 */
#define RB_POSFIXABLE(_) ((_) <  RUBY_FIXNUM_MAX + 1)
#define RB_NEGFIXABLE(_) ((_) >= RUBY_FIXNUM_MIN)
#define RB_FIXABLE(_)    (RB_POSFIXABLE(_) && RB_NEGFIXABLE(_))
#define RUBY_FIXNUM_MAX  (LONG_MAX / 2)
#define RUBY_FIXNUM_MIN  (LONG_MIN / 2)

#endif /* RBIMPL_ARITHMETIC_FIXNUM_H */


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
17 Jul 2024 8.46 AM
root / linksafe
0755
char.h
2.292 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
double.h
1.791 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
fixnum.h
2.22 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
gid_t.h
1.574 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
int.h
4.458 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
intptr_t.h
1.795 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
long.h
7.257 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
long_long.h
2.122 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
mode_t.h
1.578 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
off_t.h
2.001 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
pid_t.h
1.574 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
short.h
2.186 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
size_t.h
2.274 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
st_data_t.h
2.281 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
uid_t.h
1.574 KB
26 Jun 2024 1.55 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF