@@ -35,13 +35,35 @@ function caml_call_gen(f, args) {
35
35
return caml_call_gen ( f . apply ( null , args . slice ( 0 , n ) ) , args . slice ( n ) ) ;
36
36
}
37
37
else {
38
- var g = function ( ) {
39
- var extra_args = ( arguments . length == 0 ) ?1 :arguments . length ;
40
- var nargs = new Array ( args . length + extra_args ) ;
41
- for ( var i = 0 ; i < args . length ; i ++ ) nargs [ i ] = args [ i ] ;
42
- for ( var i = 0 ; i < arguments . length ; i ++ ) nargs [ args . length + i ] = arguments [ i ] ;
43
- return caml_call_gen ( f , nargs )
44
- } ;
38
+ switch ( d ) {
39
+ case 1 : {
40
+ var g = function ( x ) {
41
+ var nargs = new Array ( argsLen + 1 ) ;
42
+ for ( var i = 0 ; i < argsLen ; i ++ ) nargs [ i ] = args [ i ] ;
43
+ nargs [ argsLen ] = x ;
44
+ return f . apply ( null , nargs )
45
+ } ;
46
+ break ;
47
+ }
48
+ case 2 : {
49
+ var g = function ( x , y ) {
50
+ var nargs = new Array ( argsLen + 2 ) ;
51
+ for ( var i = 0 ; i < argsLen ; i ++ ) nargs [ i ] = args [ i ] ;
52
+ nargs [ argsLen ] = x ;
53
+ nargs [ argsLen + 1 ] = y ;
54
+ return f . apply ( null , nargs )
55
+ } ;
56
+ break ;
57
+ }
58
+ default : {
59
+ var g = function ( ) {
60
+ var extra_args = ( arguments . length == 0 ) ?1 :arguments . length ;
61
+ var nargs = new Array ( args . length + extra_args ) ;
62
+ for ( var i = 0 ; i < args . length ; i ++ ) nargs [ i ] = args [ i ] ;
63
+ for ( var i = 0 ; i < arguments . length ; i ++ ) nargs [ args . length + i ] = arguments [ i ] ;
64
+ return caml_call_gen ( f , nargs )
65
+ } ;
66
+ } }
45
67
g . l = d ;
46
68
return g ;
47
69
}
@@ -72,15 +94,39 @@ function caml_call_gen(f, args) {
72
94
} else {
73
95
argsLen -- ;
74
96
var k = args [ argsLen ] ;
75
- var g = function ( ) {
76
- var extra_args = ( arguments . length == 0 ) ?1 :arguments . length ;
77
- var nargs = new Array ( argsLen + extra_args ) ;
78
- for ( var i = 0 ; i < argsLen ; i ++ ) nargs [ i ] = args [ i ] ;
79
- for ( var i = 0 ; i < arguments . length ; i ++ )
80
- nargs [ argsLen + i ] = arguments [ i ] ;
81
- return caml_call_gen ( f , nargs )
82
- } ;
83
- g . l = d ;
97
+ switch ( d ) {
98
+ case 1 : {
99
+ var g = function ( x , y ) {
100
+ var nargs = new Array ( argsLen + 2 ) ;
101
+ for ( var i = 0 ; i < argsLen ; i ++ ) nargs [ i ] = args [ i ] ;
102
+ nargs [ argsLen ] = x ;
103
+ nargs [ argsLen + 1 ] = y ;
104
+ return f . apply ( null , nargs )
105
+ } ;
106
+ break ;
107
+ }
108
+ case 2 : {
109
+ var g = function ( x , y , z ) {
110
+ var nargs = new Array ( argsLen + 3 ) ;
111
+ for ( var i = 0 ; i < argsLen ; i ++ ) nargs [ i ] = args [ i ] ;
112
+ nargs [ argsLen ] = x ;
113
+ nargs [ argsLen + 1 ] = y ;
114
+ nargs [ argsLen + 2 ] = z ;
115
+ return f . apply ( null , nargs )
116
+ } ;
117
+ break ;
118
+ }
119
+ default : {
120
+ var g = function ( ) {
121
+ var extra_args = ( arguments . length == 0 ) ?1 :arguments . length ;
122
+ var nargs = new Array ( argsLen + extra_args ) ;
123
+ for ( var i = 0 ; i < argsLen ; i ++ ) nargs [ i ] = args [ i ] ;
124
+ for ( var i = 0 ; i < arguments . length ; i ++ )
125
+ nargs [ argsLen + i ] = arguments [ i ] ;
126
+ return caml_call_gen ( f , nargs )
127
+ } ;
128
+ } }
129
+ g . l = d + 1 ;
84
130
return k ( g ) ;
85
131
}
86
132
}
0 commit comments