Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mruby
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
mruby
Commits
2fadddcd
Commit
2fadddcd
authored
Aug 09, 2017
by
Christopher Aue
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replaced tabs with spaces
parent
24c345fe
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
127 additions
and
129 deletions
+127
-129
include/mrbconf.h
include/mrbconf.h
+2
-2
include/mruby/common.h
include/mruby/common.h
+1
-1
include/mruby/compile.h
include/mruby/compile.h
+1
-1
mrbgems/mruby-compiler/core/parse.y
mrbgems/mruby-compiler/core/parse.y
+1
-1
mrbgems/mruby-random/src/mt19937ar.c
mrbgems/mruby-random/src/mt19937ar.c
+2
-4
mrbgems/mruby-sprintf/src/sprintf.c
mrbgems/mruby-sprintf/src/sprintf.c
+1
-1
src/string.c
src/string.c
+115
-115
src/vm.c
src/vm.c
+4
-4
No files found.
include/mrbconf.h
View file @
2fadddcd
...
...
@@ -87,10 +87,10 @@
//#define MRB_FIXED_STATE_ATEXIT_STACK
/* -DMRB_DISABLE_XXXX to drop following features */
//#define MRB_DISABLE_STDIO
/* use of stdio */
//#define MRB_DISABLE_STDIO
/* use of stdio */
/* -DMRB_ENABLE_XXXX to enable following features */
//#define MRB_ENABLE_DEBUG_HOOK
/* hooks for debugger */
//#define MRB_ENABLE_DEBUG_HOOK
/* hooks for debugger */
/* end of configuration */
...
...
include/mruby/common.h
View file @
2fadddcd
...
...
@@ -14,7 +14,7 @@
#define MRB_END_DECL
#else
# define MRB_BEGIN_DECL extern "C" {
# define MRB_END_DECL
}
# define MRB_END_DECL
}
#endif
#else
/** Start declarations in C mode */
...
...
include/mruby/compile.h
View file @
2fadddcd
...
...
@@ -138,7 +138,7 @@ struct mrb_parser_state {
int
tidx
;
int
tsiz
;
mrb_ast_node
*
all_heredocs
;
/* list of mrb_parser_heredoc_info* */
mrb_ast_node
*
all_heredocs
;
/* list of mrb_parser_heredoc_info* */
mrb_ast_node
*
heredocs_from_nextline
;
mrb_ast_node
*
parsing_heredoc
;
mrb_ast_node
*
lex_strterm_before_heredoc
;
...
...
mrbgems/mruby-compiler/core/parse.y
View file @
2fadddcd
...
...
@@ -1384,7 +1384,7 @@ command_asgn : lhs '=' command_rhs
backref_error(p, $1);
$$ = new_begin(p, 0);
}
;
;
command_rhs : command_call %prec tOP_ASGN
| command_call modifier_rescue stmt
...
...
mrbgems/mruby-random/src/mt19937ar.c
View file @
2fadddcd
...
...
@@ -52,8 +52,7 @@ void mrb_random_init_genrand(mt_state *t, unsigned long s)
{
t
->
mt
[
0
]
=
s
&
0xffffffffUL
;
for
(
t
->
mti
=
1
;
t
->
mti
<
N
;
t
->
mti
++
)
{
t
->
mt
[
t
->
mti
]
=
(
1812433253UL
*
(
t
->
mt
[
t
->
mti
-
1
]
^
(
t
->
mt
[
t
->
mti
-
1
]
>>
30
))
+
t
->
mti
);
t
->
mt
[
t
->
mti
]
=
(
1812433253UL
*
(
t
->
mt
[
t
->
mti
-
1
]
^
(
t
->
mt
[
t
->
mti
-
1
]
>>
30
))
+
t
->
mti
);
t
->
mt
[
t
->
mti
]
&=
0xffffffffUL
;
}
}
...
...
@@ -111,8 +110,7 @@ void init_genrand(unsigned long s)
{
mt[0]= s & 0xffffffffUL;
for (mti=1; mti<N; mti++) {
mt[mti] =
(1812433253UL * (mt[mti-1] ^ (mt[mti-1] >> 30)) + mti);
mt[mti] = (1812433253UL * (mt[mti-1] ^ (mt[mti-1] >> 30)) + mti);
/* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */
/* In the previous versions, MSBs of the seed affect */
/* only MSBs of the array mt[]. */
...
...
mrbgems/mruby-sprintf/src/sprintf.c
View file @
2fadddcd
...
...
@@ -1020,7 +1020,7 @@ retry:
else
if
(
flags
&
(
FPLUS
|
FSPACE
))
sign
=
(
flags
&
FPLUS
)
?
'+'
:
' '
;
if
(
sign
)
++
need
;
++
need
;
if
((
flags
&
FWIDTH
)
&&
need
<
width
)
need
=
width
;
...
...
src/string.c
View file @
2fadddcd
...
...
@@ -2786,7 +2786,7 @@ mrb_init_string(mrb_state *mrb)
}
/*
*
Source code for the "strtod" library procedure.
*
Source code for the "strtod" library procedure.
*
* Copyright (c) 1988-1993 The Regents of the University of California.
* Copyright (c) 1994 Sun Microsystems, Inc.
...
...
@@ -2812,7 +2812,7 @@ static const int maxExponent = 511; /* Largest possible base 10 exponent. Any
*/
static
const
double
powersOf10
[]
=
{
/* Table giving binary powers of 10. Entry */
10
.,
/* is 10^2^i. Used to convert decimal */
100
.,
/* exponents into floating-point numbers. */
100
.,
/* exponents into floating-point numbers. */
1.0e4
,
1.0e8
,
1.0e16
,
...
...
@@ -2824,41 +2824,41 @@ static const double powersOf10[] = {/* Table giving binary powers of 10. Entry
MRB_API
double
mrb_float_read
(
const
char
*
string
,
char
**
endPtr
)
/* const char *string;
A decimal ASCII floating-point number,
* optionally preceded by white space.
* Must have form "-I.FE-X", where I is the
* integer part of the mantissa, F is the
* fractional part of the mantissa, and X
* is the exponent. Either of the signs
* may be "+", "-", or omitted. Either I
* or F may be omitted, or both. The decimal
* point isn't necessary unless F is present.
* The "E" may actually be an "e". E and X
* may both be omitted (but not just one).
*/
/* char **endPtr;
If non-NULL, store terminating character's
* address here. */
/* const char *string;
A decimal ASCII floating-point number,
* optionally preceded by white space.
* Must have form "-I.FE-X", where I is the
* integer part of the mantissa, F is the
* fractional part of the mantissa, and X
* is the exponent. Either of the signs
* may be "+", "-", or omitted. Either I
* or F may be omitted, or both. The decimal
* point isn't necessary unless F is present.
* The "E" may actually be an "e". E and X
* may both be omitted (but not just one).
*/
/* char **endPtr;
If non-NULL, store terminating character's
* address here. */
{
int
sign
,
expSign
=
FALSE
;
double
fraction
,
dblExp
;
const
double
*
d
;
register
const
char
*
p
;
register
int
c
;
int
exp
=
0
;
/* Exponent read from "EX" field. */
int
fracExp
=
0
;
/* Exponent that derives from the fractional
* part. Under normal circumstatnces, it is
* the negative of the number of digits in F.
* However, if I is very long, the last digits
* of I get dropped (otherwise a long I with a
* large negative exponent could cause an
* unnecessary overflow on I alone). In this
* case, fracExp is incremented one for each
* dropped digit. */
int
mantSize
;
/* Number of digits in mantissa. */
int
decPt
;
/* Number of mantissa digits BEFORE decimal
* point. */
const
char
*
pExp
;
/* Temporarily holds location of exponent
* in string. */
int
exp
=
0
;
/* Exponent read from "EX" field. */
int
fracExp
=
0
;
/* Exponent that derives from the fractional
* part. Under normal circumstatnces, it is
* the negative of the number of digits in F.
* However, if I is very long, the last digits
* of I get dropped (otherwise a long I with a
* large negative exponent could cause an
* unnecessary overflow on I alone). In this
* case, fracExp is incremented one for each
* dropped digit. */
int
mantSize
;
/* Number of digits in mantissa. */
int
decPt
;
/* Number of mantissa digits BEFORE decimal
* point. */
const
char
*
pExp
;
/* Temporarily holds location of exponent
* in string. */
/*
* Strip off leading blanks and check for a sign.
...
...
@@ -2866,17 +2866,17 @@ mrb_float_read(const char *string, char **endPtr)
p
=
string
;
while
(
isspace
(
*
p
))
{
p
+=
1
;
p
+=
1
;
}
if
(
*
p
==
'-'
)
{
sign
=
TRUE
;
p
+=
1
;
sign
=
TRUE
;
p
+=
1
;
}
else
{
if
(
*
p
==
'+'
)
{
p
+=
1
;
}
sign
=
FALSE
;
if
(
*
p
==
'+'
)
{
p
+=
1
;
}
sign
=
FALSE
;
}
/*
...
...
@@ -2887,14 +2887,14 @@ mrb_float_read(const char *string, char **endPtr)
decPt
=
-
1
;
for
(
mantSize
=
0
;
;
mantSize
+=
1
)
{
c
=
*
p
;
if
(
!
isdigit
(
c
))
{
if
((
c
!=
'.'
)
||
(
decPt
>=
0
))
{
break
;
}
decPt
=
mantSize
;
}
p
+=
1
;
c
=
*
p
;
if
(
!
isdigit
(
c
))
{
if
((
c
!=
'.'
)
||
(
decPt
>=
0
))
{
break
;
}
decPt
=
mantSize
;
}
p
+=
1
;
}
/*
...
...
@@ -2907,53 +2907,53 @@ mrb_float_read(const char *string, char **endPtr)
pExp
=
p
;
p
-=
mantSize
;
if
(
decPt
<
0
)
{
decPt
=
mantSize
;
decPt
=
mantSize
;
}
else
{
mantSize
-=
1
;
/* One of the digits was the point. */
mantSize
-=
1
;
/* One of the digits was the point. */
}
if
(
mantSize
>
18
)
{
if
(
decPt
-
18
>
29999
)
{
fracExp
=
29999
;
}
else
{
fracExp
=
decPt
-
18
;
}
mantSize
=
18
;
if
(
decPt
-
18
>
29999
)
{
fracExp
=
29999
;
}
else
{
fracExp
=
decPt
-
18
;
}
mantSize
=
18
;
}
else
{
fracExp
=
decPt
-
mantSize
;
fracExp
=
decPt
-
mantSize
;
}
if
(
mantSize
==
0
)
{
fraction
=
0
.
0
;
p
=
string
;
goto
done
;
fraction
=
0
.
0
;
p
=
string
;
goto
done
;
}
else
{
int
frac1
,
frac2
;
frac1
=
0
;
for
(
;
mantSize
>
9
;
mantSize
-=
1
)
{
c
=
*
p
;
p
+=
1
;
if
(
c
==
'.'
)
{
c
=
*
p
;
p
+=
1
;
}
frac1
=
10
*
frac1
+
(
c
-
'0'
);
}
frac2
=
0
;
for
(;
mantSize
>
0
;
mantSize
-=
1
)
{
c
=
*
p
;
p
+=
1
;
if
(
c
==
'.'
)
{
c
=
*
p
;
p
+=
1
;
}
frac2
=
10
*
frac2
+
(
c
-
'0'
);
}
fraction
=
(
1.0e9
*
frac1
)
+
frac2
;
int
frac1
,
frac2
;
frac1
=
0
;
for
(
;
mantSize
>
9
;
mantSize
-=
1
)
{
c
=
*
p
;
p
+=
1
;
if
(
c
==
'.'
)
{
c
=
*
p
;
p
+=
1
;
}
frac1
=
10
*
frac1
+
(
c
-
'0'
);
}
frac2
=
0
;
for
(;
mantSize
>
0
;
mantSize
-=
1
)
{
c
=
*
p
;
p
+=
1
;
if
(
c
==
'.'
)
{
c
=
*
p
;
p
+=
1
;
}
frac2
=
10
*
frac2
+
(
c
-
'0'
);
}
fraction
=
(
1.0e9
*
frac1
)
+
frac2
;
}
/*
...
...
@@ -2962,30 +2962,30 @@ mrb_float_read(const char *string, char **endPtr)
p
=
pExp
;
if
((
*
p
==
'E'
)
||
(
*
p
==
'e'
))
{
p
+=
1
;
if
(
*
p
==
'-'
)
{
expSign
=
TRUE
;
p
+=
1
;
}
else
{
if
(
*
p
==
'+'
)
{
p
+=
1
;
}
expSign
=
FALSE
;
}
while
(
isdigit
(
*
p
))
{
exp
=
exp
*
10
+
(
*
p
-
'0'
);
if
(
exp
>
19999
)
{
exp
=
19999
;
}
p
+=
1
;
}
p
+=
1
;
if
(
*
p
==
'-'
)
{
expSign
=
TRUE
;
p
+=
1
;
}
else
{
if
(
*
p
==
'+'
)
{
p
+=
1
;
}
expSign
=
FALSE
;
}
while
(
isdigit
(
*
p
))
{
exp
=
exp
*
10
+
(
*
p
-
'0'
);
if
(
exp
>
19999
)
{
exp
=
19999
;
}
p
+=
1
;
}
}
if
(
expSign
)
{
exp
=
fracExp
-
exp
;
exp
=
fracExp
-
exp
;
}
else
{
exp
=
fracExp
+
exp
;
exp
=
fracExp
+
exp
;
}
/*
...
...
@@ -2996,36 +2996,36 @@ mrb_float_read(const char *string, char **endPtr)
*/
if
(
exp
<
0
)
{
expSign
=
TRUE
;
exp
=
-
exp
;
expSign
=
TRUE
;
exp
=
-
exp
;
}
else
{
expSign
=
FALSE
;
expSign
=
FALSE
;
}
if
(
exp
>
maxExponent
)
{
exp
=
maxExponent
;
errno
=
ERANGE
;
exp
=
maxExponent
;
errno
=
ERANGE
;
}
dblExp
=
1
.
0
;
for
(
d
=
powersOf10
;
exp
!=
0
;
exp
>>=
1
,
d
+=
1
)
{
if
(
exp
&
01
)
{
dblExp
*=
*
d
;
}
if
(
exp
&
01
)
{
dblExp
*=
*
d
;
}
}
if
(
expSign
)
{
fraction
/=
dblExp
;
fraction
/=
dblExp
;
}
else
{
fraction
*=
dblExp
;
fraction
*=
dblExp
;
}
done:
if
(
endPtr
!=
NULL
)
{
*
endPtr
=
(
char
*
)
p
;
*
endPtr
=
(
char
*
)
p
;
}
if
(
sign
)
{
return
-
fraction
;
return
-
fraction
;
}
return
fraction
;
}
src/vm.c
View file @
2fadddcd
...
...
@@ -1934,13 +1934,13 @@ RETRY_TRY_BLOCK:
}
/* call ensure only when we skip this callinfo */
if
(
ci
[
0
].
ridx
==
ci
[
-
1
].
ridx
)
{
mrb_value
*
org_stbase
=
mrb
->
c
->
stbase
;
mrb_value
*
org_stbase
=
mrb
->
c
->
stbase
;
while
(
mrb
->
c
->
eidx
>
ci
->
epos
)
{
ecall
(
mrb
,
--
mrb
->
c
->
eidx
);
ci
=
mrb
->
c
->
ci
;
if
(
org_stbase
!=
mrb
->
c
->
stbase
)
{
stk
=
mrb
->
c
->
stack
;
}
if
(
org_stbase
!=
mrb
->
c
->
stbase
)
{
stk
=
mrb
->
c
->
stack
;
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment