w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

numeric.c
Go to the documentation of this file.
1 /*
2 ** numeric.c - Numeric, Integer, Float class
3 **
4 ** See Copyright Notice in mruby.h
5 */
6 
7 #ifndef MRB_NO_FLOAT
8 #include <float.h>
9 #include <math.h>
10 #endif
11 #include <limits.h>
12 #include <stdlib.h>
13 #include <string.h>
14 
15 #include <mruby.h>
16 #include <mruby/array.h>
17 #include <mruby/numeric.h>
18 #include <mruby/string.h>
19 #include <mruby/class.h>
20 #include <mruby/presym.h>
21 
22 #ifndef MRB_NO_FLOAT
23 #ifdef MRB_USE_FLOAT32
24 #define trunc(f) truncf(f)
25 #define floor(f) floorf(f)
26 #define ceil(f) ceilf(f)
27 #define fmod(x,y) fmodf(x,y)
28 #define FLO_TO_STR_PREC 8
29 #else
30 #define FLO_TO_STR_PREC 16
31 #endif
32 #endif
33 
34 #ifndef MRB_NO_FLOAT
37 {
38  switch (mrb_type(val)) {
39  case MRB_TT_INTEGER:
40  return (mrb_float)mrb_integer(val);
41  case MRB_TT_FLOAT:
42  break;
43  case MRB_TT_STRING:
44  case MRB_TT_FALSE:
45  case MRB_TT_TRUE:
46  mrb_raise(mrb, E_TYPE_ERROR, "non float value");
47  default:
49  break;
50  }
51  return mrb_float(val);
52 }
53 #endif
54 
55 static void
56 int_overflow(mrb_state *mrb, const char *reason)
57 {
58  mrb_raisef(mrb, E_RANGE_ERROR, "integer overflow in %s", reason);
59 }
60 
61 static void
63 {
64  mrb_raise(mrb, E_ZERODIV_ERROR, "divided by 0");
65 }
66 
67 /*
68  * call-seq:
69  *
70  * num ** other -> num
71  *
72  * Raises <code>num</code> the <code>other</code> power.
73  *
74  * 2.0**3 #=> 8.0
75  */
76 static mrb_value
78 {
79  mrb_int base = mrb_int(mrb, x);
80  mrb_int exp;
81 #ifndef MRB_NO_FLOAT
82  mrb_value y = mrb_get_arg1(mrb);
83  mrb_float z;
84 
85  if (!mrb_integer_p(y)) {
86  mrb_get_args(mrb, "f", &z);
87  z = pow((mrb_float)base, z);
88  return mrb_float_value(mrb, z);
89  }
90  else {
91  mrb_get_args(mrb, "i", &exp);
92  z = pow((double)base, (double)exp);
93  if (exp < 0 || z < (mrb_float)MRB_INT_MIN || (mrb_float)MRB_INT_MAX < z) {
94  return mrb_float_value(mrb, z);
95  }
96  }
97  return mrb_int_value(mrb, (mrb_int)z);
98 #else
99  mrb_int result = 1;
100 
101  mrb_get_args(mrb, "i", &exp);
102  if (exp < 0) {
103  return mrb_fixnum_value(0);
104  }
105  for (;;) {
106  if (exp & 1) {
108  int_overflow(mrb, "multiplication");
109  }
110  }
111  exp >>= 1;
112  if (exp == 0) break;
114  int_overflow(mrb, "multiplication");
115  }
116  }
117  return mrb_int_value(mrb, result);
118 #endif
119 }
120 
121 
122 mrb_int
124 {
125  if (y == 0) {
126  int_zerodiv(mrb);
127  }
128  else if(x == MRB_INT_MIN && y == -1) {
129  int_overflow(mrb, "division");
130  }
131  else {
132  mrb_int div = x / y;
133 
134  if ((x ^ y) < 0 && x != div * y) {
135  div -= 1;
136  }
137  return div;
138  }
139  /* not reached */
140  return 0;
141 }
142 
143 /* 15.2.8.3.4 */
144 /* 15.2.9.3.4 */
145 /*
146  * call-seq:
147  * int / other -> int
148  *
149  * Performs division: the class of the resulting object depends on
150  * the class of <code>num</code> and on the magnitude of the
151  * result.
152  */
153 static mrb_value
155 {
156  mrb_int y, div;
157 
158  mrb_get_args(mrb, "i", &y);
159  div = mrb_num_div_int(mrb, mrb_integer(xv), y);
160  return mrb_int_value(mrb, div);
161 }
162 
163 /* 15.2.9.3.19(x) */
164 /*
165  * call-seq:
166  * num.quo(numeric) -> real
167  *
168  * Returns most exact division.
169  */
170 
171 static mrb_value
173 {
174 #ifdef MRB_NO_FLOAT
175  mrb_int y;
176 
177  mrb_get_args(mrb, "i", &y);
178  if (y == 0) {
179  int_zerodiv(mrb);
180  }
181  return mrb_fixnum_value(mrb_integer(xv) / y);
182 #else
183  mrb_float y;
184 
185  mrb_get_args(mrb, "f", &y);
186  if (y == 0) {
187  int_zerodiv(mrb);
188  }
189  return mrb_float_value(mrb, mrb_integer(xv) / y);
190 #endif
191 }
192 
193 static mrb_value
195 {
196  mrb_value num, step;
197 
198  mrb_get_args(mrb, "oo", &num, &step);
199 
200 #ifndef MRB_NO_FLOAT
201  if (mrb_float_p(self) || mrb_float_p(num) || mrb_float_p(step)) {
202  return mrb_Float(mrb, self);
203  }
204 #endif
205 
206  return self;
207 }
208 
209 #ifndef MRB_NO_FLOAT
210 /********************************************************************
211  *
212  * Document-class: Float
213  *
214  * <code>Float</code> objects represent inexact real numbers using
215  * the native architecture's double-precision floating point
216  * representation.
217  */
218 
219 static mrb_value
221 {
222  mrb_value y = mrb_get_arg1(mrb);
223  mrb_float d = pow(mrb_to_flo(mrb, x), mrb_to_flo(mrb, y));
224  return mrb_float_value(mrb, d);
225 }
226 
227 static mrb_value
229 {
230  mrb_int y, div;
231 
232  mrb_get_args(mrb, "i", &y);
233  div = mrb_num_div_int(mrb, (mrb_int)mrb_float(xv), y);
234  return mrb_int_value(mrb, (mrb_int)div);
235 }
236 
237 mrb_float
239 {
240  mrb_float f;
241 
242  if (y == 0) {
243  if (x > 0) f = INFINITY;
244  else if (x < 0) f = -INFINITY;
245  else /* if (x == 0) */ f = NAN;
246  }
247  else {
248  f = x / y;
249  }
250  return f;
251 }
252 
253 static mrb_value
255 {
256  mrb_float x, y;
257 
258  x = mrb_float(xv);
259  mrb_get_args(mrb, "f", &y);
260  x = mrb_num_div_flo(mrb, x, y);
261  return mrb_float_value(mrb, x);
262 }
263 
264 /* 15.2.9.3.16(x) */
265 /*
266  * call-seq:
267  * flt.to_s -> string
268  * flt.inspect -> string
269  *
270  * Returns a string containing a representation of self. As well as a
271  * fixed or exponential form of the number, the call may return
272  * "<code>NaN</code>", "<code>Infinity</code>", and
273  * "<code>-Infinity</code>".
274  *
275  * 3.0.to_s #=> 3.0
276  * 3.25.to_s #=> 3.25
277  */
278 
279 static mrb_value
281 {
282  mrb_float f = mrb_float(flt);
283  mrb_value str;
284 
285  if (isinf(f)) {
286  str = f < 0 ? mrb_str_new_lit(mrb, "-Infinity")
287  : mrb_str_new_lit(mrb, "Infinity");
288  goto exit;
289  }
290  else if (isnan(f)) {
291  str = mrb_str_new_lit(mrb, "NaN");
292  goto exit;
293  }
294  else {
295  char fmt[] = "%." MRB_STRINGIZE(FLO_TO_STR_PREC) "g";
296  mrb_int len;
297  char *begp, *p, *endp;
298 
299  str = mrb_float_to_str(mrb, flt, fmt);
300 
301  insert_dot_zero:
302  begp = RSTRING_PTR(str);
303  len = RSTRING_LEN(str);
304  for (p = begp, endp = p + len; p < endp; ++p) {
305  if (*p == '.') {
306  goto exit;
307  }
308  else if (*p == 'e') {
309  ptrdiff_t e_pos = p - begp;
310  mrb_str_cat(mrb, str, ".0", 2);
311  p = RSTRING_PTR(str) + e_pos;
312  memmove(p + 2, p, len - e_pos);
313  memcpy(p, ".0", 2);
314  goto exit;
315  }
316  }
317 
318  if (FLO_TO_STR_PREC + (begp[0] == '-') <= len) {
319  --fmt[sizeof(fmt) - 3]; /* %.16g(%.8g) -> %.15g(%.7g) */
320  str = mrb_float_to_str(mrb, flt, fmt);
321  goto insert_dot_zero;
322  }
323  else {
324  mrb_str_cat(mrb, str, ".0", 2);
325  }
326 
327  goto exit;
328  }
329 
330  exit:
332  return str;
333 }
334 
335 /* 15.2.9.3.2 */
336 /*
337  * call-seq:
338  * float - other -> float
339  *
340  * Returns a new float which is the difference of <code>float</code>
341  * and <code>other</code>.
342  */
343 
344 static mrb_value
346 {
347  mrb_value y = mrb_get_arg1(mrb);
348 
349  return mrb_float_value(mrb, mrb_float(x) - mrb_to_flo(mrb, y));
350 }
351 
352 /* 15.2.9.3.3 */
353 /*
354  * call-seq:
355  * float * other -> float
356  *
357  * Returns a new float which is the product of <code>float</code>
358  * and <code>other</code>.
359  */
360 
361 static mrb_value
363 {
364  mrb_value y = mrb_get_arg1(mrb);
365 
366  return mrb_float_value(mrb, mrb_float(x) * mrb_to_flo(mrb, y));
367 }
368 
369 static void
370 flodivmod(mrb_state *mrb, double x, double y, mrb_float *divp, mrb_float *modp)
371 {
372  double div, mod;
373 
374  if (isnan(y)) {
375  /* y is NaN so all results are NaN */
376  div = mod = y;
377  goto exit;
378  }
379  if (y == 0.0) {
380  if (x == 0) div = NAN;
381  else if (x > 0.0) div = INFINITY;
382  else div = -INFINITY; /* x < 0.0 */
383  mod = NAN;
384  goto exit;
385  }
386  if ((x == 0.0) || (isinf(y) && !isinf(x))) {
387  mod = x;
388  }
389  else {
390  mod = fmod(x, y);
391  }
392  if (isinf(x) && !isinf(y)) {
393  div = x;
394  }
395  else {
396  div = (x - mod) / y;
397  if (modp && divp) div = round(div);
398  }
399  if (div == 0) div = 0.0;
400  if (mod == 0) mod = 0.0;
401  if (y*mod < 0) {
402  mod += y;
403  div -= 1.0;
404  }
405  exit:
406  if (modp) *modp = mod;
407  if (divp) *divp = div;
408 }
409 
410 /* 15.2.9.3.5 */
411 /*
412  * call-seq:
413  * flt % other -> float
414  * flt.modulo(other) -> float
415  *
416  * Return the modulo after division of <code>flt</code> by <code>other</code>.
417  *
418  * 6543.21.modulo(137) #=> 104.21
419  * 6543.21.modulo(137.24) #=> 92.9299999999996
420  */
421 
422 static mrb_value
424 {
425  mrb_value y = mrb_get_arg1(mrb);
426  mrb_float mod;
427 
428  flodivmod(mrb, mrb_float(x), mrb_to_flo(mrb, y), 0, &mod);
429  return mrb_float_value(mrb, mod);
430 }
431 #endif
432 
433 /* 15.2.8.3.16 */
434 /*
435  * call-seq:
436  * num.eql?(numeric) -> true or false
437  *
438  * Returns <code>true</code> if <i>num</i> and <i>numeric</i> are the
439  * same type and have equal values.
440  *
441  * 1 == 1.0 #=> true
442  * 1.eql?(1.0) #=> false
443  * (1.0).eql?(1.0) #=> true
444  */
445 static mrb_value
447 {
448  mrb_value y = mrb_get_arg1(mrb);
449 
450  if (!mrb_integer_p(y)) return mrb_false_value();
452 }
453 
454 #ifndef MRB_NO_FLOAT
455 static mrb_value
457 {
458  mrb_value y = mrb_get_arg1(mrb);
459 
460  if (!mrb_float_p(y)) return mrb_false_value();
461  return mrb_bool_value(mrb_float(x) == mrb_float(y));
462 }
463 
464 /* 15.2.9.3.7 */
465 /*
466  * call-seq:
467  * flt == obj -> true or false
468  *
469  * Returns <code>true</code> only if <i>obj</i> has the same value
470  * as <i>flt</i>. Contrast this with <code>Float#eql?</code>, which
471  * requires <i>obj</i> to be a <code>Float</code>.
472  *
473  * 1.0 == 1 #=> true
474  *
475  */
476 
477 static mrb_value
479 {
480  mrb_value y = mrb_get_arg1(mrb);
481 
482  switch (mrb_type(y)) {
483  case MRB_TT_INTEGER:
485  case MRB_TT_FLOAT:
486  return mrb_bool_value(mrb_float(x) == mrb_float(y));
487  default:
488  return mrb_false_value();
489  }
490 }
491 
492 static int64_t
494 {
495  switch (mrb_type(x)) {
496  case MRB_TT_INTEGER:
497  return (int64_t)mrb_integer(x);
498  case MRB_TT_FLOAT:
499  {
500  double f = mrb_float(x);
501 
502  if ((mrb_float)INT64_MAX >= f && f >= (mrb_float)INT64_MIN)
503  return (int64_t)f;
504  }
505  default:
506  mrb_raise(mrb, E_TYPE_ERROR, "cannot convert to Integer");
507  break;
508  }
509  /* not reached */
510  return 0;
511 }
512 
513 static mrb_value
515 {
516  if (!TYPED_FIXABLE(v,int64_t)) {
517  int_overflow(mrb, "bit operation");
518  }
519  return mrb_fixnum_value((mrb_int)v);
520 }
521 
522 static mrb_value
524 {
525  int64_t v1 = value_int64(mrb, x);
526  return int64_value(mrb, ~v1);
527 }
528 
529 static mrb_value
531 {
532  mrb_value y = mrb_get_arg1(mrb);
533  int64_t v1, v2;
534 
535  v1 = value_int64(mrb, x);
536  v2 = value_int64(mrb, y);
537  return int64_value(mrb, v1 & v2);
538 }
539 
540 static mrb_value
542 {
543  mrb_value y = mrb_get_arg1(mrb);
544  int64_t v1, v2;
545 
546  v1 = value_int64(mrb, x);
547  v2 = value_int64(mrb, y);
548  return int64_value(mrb, v1 | v2);
549 }
550 
551 static mrb_value
553 {
554  mrb_value y = mrb_get_arg1(mrb);
555  int64_t v1, v2;
556 
557  v1 = value_int64(mrb, x);
558  v2 = value_int64(mrb, y);
559  return int64_value(mrb, v1 ^ v2);
560 }
561 
562 static mrb_value
564 {
565  mrb_float val;
566 
567  if (width == 0) {
568  return x;
569  }
570  val = mrb_float(x);
571  if (width < -MRB_INT_BIT/2) {
572  if (val < 0) return mrb_fixnum_value(-1);
573  return mrb_fixnum_value(0);
574  }
575  if (width < 0) {
576  while (width++) {
577  val /= 2;
578  if (val < 1.0) {
579  val = 0;
580  break;
581  }
582  }
583 #if defined(_ISOC99_SOURCE)
584  val = trunc(val);
585 #else
586  if (val > 0){
587  val = floor(val);
588  } else {
589  val = ceil(val);
590  }
591 #endif
592  if (val == 0 && mrb_float(x) < 0) {
593  return mrb_fixnum_value(-1);
594  }
595  }
596  else {
597  while (width--) {
598  val *= 2;
599  }
600  }
601  if (FIXABLE_FLOAT(val))
602  return mrb_int_value(mrb, (mrb_int)val);
603  return mrb_float_value(mrb, val);
604 }
605 
606 static mrb_value
608 {
609  mrb_int width;
610 
611  mrb_get_args(mrb, "i", &width);
612  if (width == MRB_INT_MIN) return flo_shift(mrb, x, -MRB_INT_BIT);
613  return flo_shift(mrb, x, -width);
614 }
615 
616 static mrb_value
618 {
619  mrb_int width;
620 
621  mrb_get_args(mrb, "i", &width);
622  return flo_shift(mrb, x, width);
623 }
624 
625 /* 15.2.9.3.13 */
626 /*
627  * call-seq:
628  * flt.to_f -> self
629  *
630  * As <code>flt</code> is already a float, returns +self+.
631  */
632 
633 static mrb_value
635 {
636  return num;
637 }
638 
639 /* 15.2.9.3.11 */
640 /*
641  * call-seq:
642  * flt.infinite? -> nil, -1, +1
643  *
644  * Returns <code>nil</code>, -1, or +1 depending on whether <i>flt</i>
645  * is finite, -infinity, or +infinity.
646  *
647  * (0.0).infinite? #=> nil
648  * (-1.0/0.0).infinite? #=> -1
649  * (+1.0/0.0).infinite? #=> 1
650  */
651 
652 static mrb_value
654 {
656 
657  if (isinf(value)) {
658  return mrb_fixnum_value(value < 0 ? -1 : 1);
659  }
660  return mrb_nil_value();
661 }
662 
663 /* 15.2.9.3.9 */
664 /*
665  * call-seq:
666  * flt.finite? -> true or false
667  *
668  * Returns <code>true</code> if <i>flt</i> is a valid IEEE floating
669  * point number (it is not infinite, and <code>nan?</code> is
670  * <code>false</code>).
671  *
672  */
673 
674 static mrb_value
676 {
677  return mrb_bool_value(isfinite(mrb_float(num)));
678 }
679 
680 void
682 {
683  if (isinf(num)) {
684  mrb_raise(mrb, E_FLOATDOMAIN_ERROR, num < 0 ? "-Infinity" : "Infinity");
685  }
686  if (isnan(num)) {
687  mrb_raise(mrb, E_FLOATDOMAIN_ERROR, "NaN");
688  }
689 }
690 
691 /* 15.2.9.3.10 */
692 /*
693  * call-seq:
694  * flt.floor -> integer
695  *
696  * Returns the largest integer less than or equal to <i>flt</i>.
697  *
698  * 1.2.floor #=> 1
699  * 2.0.floor #=> 2
700  * (-1.2).floor #=> -2
701  * (-2.0).floor #=> -2
702  */
703 
704 static mrb_value
706 {
708 
709  mrb_check_num_exact(mrb, f);
710  return mrb_int_value(mrb, (mrb_int)f);
711 }
712 
713 /* 15.2.9.3.8 */
714 /*
715  * call-seq:
716  * flt.ceil -> integer
717  *
718  * Returns the smallest <code>Integer</code> greater than or equal to
719  * <i>flt</i>.
720  *
721  * 1.2.ceil #=> 2
722  * 2.0.ceil #=> 2
723  * (-1.2).ceil #=> -1
724  * (-2.0).ceil #=> -2
725  */
726 
727 static mrb_value
729 {
731 
732  mrb_check_num_exact(mrb, f);
733  return mrb_int_value(mrb, (mrb_int)f);
734 }
735 
736 /* 15.2.9.3.12 */
737 /*
738  * call-seq:
739  * flt.round([ndigits]) -> integer or float
740  *
741  * Rounds <i>flt</i> to a given precision in decimal digits (default 0 digits).
742  * Precision may be negative. Returns a floating point number when ndigits
743  * is more than zero.
744  *
745  * 1.4.round #=> 1
746  * 1.5.round #=> 2
747  * 1.6.round #=> 2
748  * (-1.5).round #=> -2
749  *
750  * 1.234567.round(2) #=> 1.23
751  * 1.234567.round(3) #=> 1.235
752  * 1.234567.round(4) #=> 1.2346
753  * 1.234567.round(5) #=> 1.23457
754  *
755  * 34567.89.round(-5) #=> 0
756  * 34567.89.round(-4) #=> 30000
757  * 34567.89.round(-3) #=> 35000
758  * 34567.89.round(-2) #=> 34600
759  * 34567.89.round(-1) #=> 34570
760  * 34567.89.round(0) #=> 34568
761  * 34567.89.round(1) #=> 34567.9
762  * 34567.89.round(2) #=> 34567.89
763  * 34567.89.round(3) #=> 34567.89
764  *
765  */
766 
767 static mrb_value
769 {
770  double number, f;
771  mrb_int ndigits = 0;
772  mrb_int i;
773 
774  mrb_get_args(mrb, "|i", &ndigits);
775  number = mrb_float(num);
776 
777  if (0 < ndigits && (isinf(number) || isnan(number))) {
778  return num;
779  }
781 
782  f = 1.0;
783  i = ndigits >= 0 ? ndigits : -ndigits;
784  if (ndigits > DBL_DIG+2) return num;
785  while (--i >= 0)
786  f = f*10.0;
787 
788  if (isinf(f)) {
789  if (ndigits < 0) number = 0;
790  }
791  else {
792  double d;
793 
794  if (ndigits < 0) number /= f;
795  else number *= f;
796 
797  /* home-made inline implementation of round(3) */
798  if (number > 0.0) {
799  d = floor(number);
800  number = d + (number - d >= 0.5);
801  }
802  else if (number < 0.0) {
803  d = ceil(number);
804  number = d - (d - number >= 0.5);
805  }
806 
807  if (ndigits < 0) number *= f;
808  else number /= f;
809  }
810 
811  if (ndigits > 0) {
812  if (!isfinite(number)) return num;
813  return mrb_float_value(mrb, number);
814  }
815  if (!FIXABLE_FLOAT(number))
816  return mrb_float_value(mrb, number);
817  return mrb_int_value(mrb, (mrb_int)number);
818 }
819 
820 /* 15.2.9.3.14 */
821 /* 15.2.9.3.15 */
822 /*
823  * call-seq:
824  * flt.to_i -> integer
825  * flt.truncate -> integer
826  *
827  * Returns <i>flt</i> truncated to an <code>Integer</code>.
828  */
829 
830 static mrb_value
832 {
834 
835  if (f > 0.0) f = floor(f);
836  if (f < 0.0) f = ceil(f);
837 
838  mrb_check_num_exact(mrb, f);
839  return mrb_int_value(mrb, (mrb_int)f);
840 }
841 
842 static mrb_value
844 {
845  return mrb_bool_value(isnan(mrb_float(num)));
846 }
847 #endif
848 
849 /*
850  * Document-class: Integer
851  *
852  * <code>Integer</code> is hold whole numbers.
853  *
854  */
855 
856 
857 /*
858  * call-seq:
859  * int.to_i -> integer
860  *
861  * As <i>int</i> is already an <code>Integer</code>, all these
862  * methods simply return the receiver.
863  */
864 
865 static mrb_value
867 {
868  return num;
869 }
870 
871 static mrb_value
873 {
874  mrb_int a;
875 
876  a = mrb_integer(x);
877  if (mrb_integer_p(y)) {
878  mrb_int b, c;
879 
880  if (a == 0) return x;
881  b = mrb_integer(y);
882  if (mrb_int_mul_overflow(a, b, &c)) {
883  int_overflow(mrb, "multiplication");
884  }
885  return mrb_fixnum_value(c);
886  }
887 #ifdef MRB_NO_FLOAT
888  mrb_raise(mrb, E_TYPE_ERROR, "non fixnum value");
889 #else
890  return mrb_float_value(mrb, (mrb_float)a * mrb_to_flo(mrb, y));
891 #endif
892 }
893 
896 {
897  if (mrb_integer_p(x)) {
898  return fixnum_mul(mrb, x, y);
899  }
900 #ifndef MRB_NO_FLOAT
901  if (mrb_float_p(x)) {
902  return mrb_float_value(mrb, mrb_float(x) * mrb_to_flo(mrb, y));
903  }
904 #endif
905  mrb_raise(mrb, E_TYPE_ERROR, "no number multiply");
906  return mrb_nil_value(); /* not reached */
907 }
908 
909 /* 15.2.8.3.3 */
910 /*
911  * call-seq:
912  * fix * numeric -> numeric_result
913  *
914  * Performs multiplication: the class of the resulting object depends on
915  * the class of <code>numeric</code> and on the magnitude of the
916  * result.
917  */
918 
919 static mrb_value
921 {
922  mrb_value y = mrb_get_arg1(mrb);
923 
924  return fixnum_mul(mrb, x, y);
925 }
926 
927 static void
929 {
930  if (y == 0) {
931  int_zerodiv(mrb);
932  }
933  else if(x == MRB_INT_MIN && y == -1) {
934  int_overflow(mrb, "division");
935  }
936  else {
937  mrb_int div = x / y;
938  mrb_int mod = x - div * y;
939 
940  if ((x ^ y) < 0 && x != div * y) {
941  mod += y;
942  div -= 1;
943  }
944  if (divp) *divp = div;
945  if (modp) *modp = mod;
946  }
947 }
948 
949 /* 15.2.8.3.5 */
950 /*
951  * call-seq:
952  * fix % other -> real
953  * fix.modulo(other) -> real
954  *
955  * Returns <code>fix</code> modulo <code>other</code>.
956  * See <code>numeric.divmod</code> for more information.
957  */
958 
959 static mrb_value
961 {
962  mrb_value y = mrb_get_arg1(mrb);
963  mrb_int a, b;
964 
965  a = mrb_integer(x);
966  if (mrb_integer_p(y) && a != MRB_INT_MIN && (b=mrb_integer(y)) != MRB_INT_MIN) {
967  mrb_int mod;
968 
969  fixdivmod(mrb, a, b, NULL, &mod);
970  return mrb_fixnum_value(mod);
971  }
972 #ifdef MRB_NO_FLOAT
973  mrb_raise(mrb, E_TYPE_ERROR, "non fixnum value");
974 #else
975  else {
976  mrb_float mod;
977 
978  flodivmod(mrb, (mrb_float)a, mrb_to_flo(mrb, y), NULL, &mod);
979  return mrb_float_value(mrb, mod);
980  }
981 #endif
982 }
983 
984 /*
985  * call-seq:
986  * fix.divmod(numeric) -> array
987  *
988  * See <code>Numeric#divmod</code>.
989  */
990 static mrb_value
992 {
993  mrb_value y = mrb_get_arg1(mrb);
994 
995  if (mrb_integer_p(y)) {
996  mrb_int div, mod;
997 
998  fixdivmod(mrb, mrb_integer(x), mrb_integer(y), &div, &mod);
999  return mrb_assoc_new(mrb, mrb_int_value(mrb, div), mrb_int_value(mrb, mod));
1000  }
1001 #ifdef MRB_NO_FLOAT
1002  mrb_raise(mrb, E_TYPE_ERROR, "non fixnum value");
1003 #else
1004  else {
1005  mrb_float div, mod;
1006  mrb_value a, b;
1007 
1008  flodivmod(mrb, (mrb_float)mrb_integer(x), mrb_to_flo(mrb, y), &div, &mod);
1009  a = mrb_int_value(mrb, (mrb_int)div);
1010  b = mrb_float_value(mrb, mod);
1011  return mrb_assoc_new(mrb, a, b);
1012  }
1013 #endif
1014 }
1015 
1016 #ifndef MRB_NO_FLOAT
1017 static mrb_value
1019 {
1020  mrb_value y = mrb_get_arg1(mrb);
1021  mrb_float div, mod;
1022  mrb_value a, b;
1023 
1024  flodivmod(mrb, mrb_float(x), mrb_to_flo(mrb, y), &div, &mod);
1025  a = mrb_int_value(mrb, (mrb_int)div);
1026  b = mrb_float_value(mrb, mod);
1027  return mrb_assoc_new(mrb, a, b);
1028 }
1029 #endif
1030 
1031 /* 15.2.8.3.7 */
1032 /*
1033  * call-seq:
1034  * fix == other -> true or false
1035  *
1036  * Return <code>true</code> if <code>fix</code> equals <code>other</code>
1037  * numerically.
1038  *
1039  * 1 == 2 #=> false
1040  * 1 == 1.0 #=> true
1041  */
1042 
1043 static mrb_value
1045 {
1046  mrb_value y = mrb_get_arg1(mrb);
1047 
1048  switch (mrb_type(y)) {
1049  case MRB_TT_INTEGER:
1050  return mrb_bool_value(mrb_integer(x) == mrb_integer(y));
1051 #ifndef MRB_NO_FLOAT
1052  case MRB_TT_FLOAT:
1054 #endif
1055  default:
1056  return mrb_false_value();
1057  }
1058 }
1059 
1060 /* 15.2.8.3.8 */
1061 /*
1062  * call-seq:
1063  * ~fix -> integer
1064  *
1065  * One's complement: returns a number where each bit is flipped.
1066  * ex.0---00001 (1)-> 1---11110 (-2)
1067  * ex.0---00010 (2)-> 1---11101 (-3)
1068  * ex.0---00100 (4)-> 1---11011 (-5)
1069  */
1070 
1071 static mrb_value
1073 {
1075 
1076  return mrb_int_value(mrb, ~val);
1077 }
1078 
1079 #ifdef MRB_NO_FLOAT
1080 #define bit_op(x,y,op1,op2) do {\
1081  return mrb_int_value(mrb, (mrb_integer(x) op2 mrb_integer(y)));\
1082 } while(0)
1083 #else
1084 static mrb_value flo_and(mrb_state *mrb, mrb_value x);
1085 static mrb_value flo_or(mrb_state *mrb, mrb_value x);
1086 static mrb_value flo_xor(mrb_state *mrb, mrb_value x);
1087 #define bit_op(x,y,op1,op2) do {\
1088  if (mrb_integer_p(y)) return mrb_int_value(mrb, (mrb_integer(x) op2 mrb_integer(y))); \
1089  return flo_ ## op1(mrb, mrb_float_value(mrb, (mrb_float)mrb_integer(x)));\
1090 } while(0)
1091 #endif
1092 
1093 /* 15.2.8.3.9 */
1094 /*
1095  * call-seq:
1096  * fix & integer -> integer_result
1097  *
1098  * Bitwise AND.
1099  */
1100 
1101 static mrb_value
1103 {
1104  mrb_value y = mrb_get_arg1(mrb);
1105 
1106  bit_op(x, y, and, &);
1107 }
1108 
1109 /* 15.2.8.3.10 */
1110 /*
1111  * call-seq:
1112  * fix | integer -> integer_result
1113  *
1114  * Bitwise OR.
1115  */
1116 
1117 static mrb_value
1119 {
1120  mrb_value y = mrb_get_arg1(mrb);
1121 
1122  bit_op(x, y, or, |);
1123 }
1124 
1125 /* 15.2.8.3.11 */
1126 /*
1127  * call-seq:
1128  * fix ^ integer -> integer_result
1129  *
1130  * Bitwise EXCLUSIVE OR.
1131  */
1132 
1133 static mrb_value
1135 {
1136  mrb_value y = mrb_get_arg1(mrb);
1137 
1138  bit_op(x, y, or, ^);
1139 }
1140 
1141 #define NUMERIC_SHIFT_WIDTH_MAX (MRB_INT_BIT-1)
1142 
1143 static mrb_value
1145 {
1146  mrb_assert(width >= 0);
1147  if (val > 0) {
1148  if ((width > NUMERIC_SHIFT_WIDTH_MAX) ||
1149  (val > (MRB_INT_MAX >> width))) {
1150  int_overflow(mrb, "bit shift");
1151  }
1152  return mrb_int_value(mrb, val << width);
1153  }
1154  else {
1155  if ((width > NUMERIC_SHIFT_WIDTH_MAX) ||
1156  (val <= (MRB_INT_MIN >> width))) {
1157  int_overflow(mrb, "bit shift");
1158  }
1159  return mrb_int_value(mrb, (val * ((mrb_int)1 << width)));
1160  }
1161 }
1162 
1163 static mrb_value
1165 {
1166  mrb_assert(width >= 0);
1167  if (width >= NUMERIC_SHIFT_WIDTH_MAX) {
1168  if (val < 0) {
1169  return mrb_fixnum_value(-1);
1170  }
1171  return mrb_fixnum_value(0);
1172  }
1173  return mrb_int_value(mrb, val >> width);
1174 }
1175 
1176 /* 15.2.8.3.12 */
1177 /*
1178  * call-seq:
1179  * fix << count -> integer or float
1180  *
1181  * Shifts _fix_ left _count_ positions (right if _count_ is negative).
1182  */
1183 
1184 static mrb_value
1186 {
1187  mrb_int width, val;
1188 
1189  mrb_get_args(mrb, "i", &width);
1190  if (width == 0) {
1191  return x;
1192  }
1193  val = mrb_integer(x);
1194  if (val == 0) return x;
1195  if (width < 0) {
1196  if (width == MRB_INT_MIN) return rshift(mrb, val, MRB_INT_BIT);
1197  return rshift(mrb, val, -width);
1198  }
1199  return lshift(mrb, val, width);
1200 }
1201 
1202 /* 15.2.8.3.13 */
1203 /*
1204  * call-seq:
1205  * fix >> count -> integer or float
1206  *
1207  * Shifts _fix_ right _count_ positions (left if _count_ is negative).
1208  */
1209 
1210 static mrb_value
1212 {
1213  mrb_int width, val;
1214 
1215  mrb_get_args(mrb, "i", &width);
1216  if (width == 0) {
1217  return x;
1218  }
1219  val = mrb_integer(x);
1220  if (val == 0) return x;
1221  if (width < 0) {
1222  if (width == MRB_INT_MIN) int_overflow(mrb, "bit shift");
1223  return lshift(mrb, val, -width);
1224  }
1225  return rshift(mrb, val, width);
1226 }
1227 
1228 /* 15.2.8.3.23 */
1229 /*
1230  * call-seq:
1231  * fix.to_f -> float
1232  *
1233  * Converts <i>fix</i> to a <code>Float</code>.
1234  *
1235  */
1236 
1237 #ifndef MRB_NO_FLOAT
1238 static mrb_value
1240 {
1241  return mrb_float_value(mrb, (mrb_float)mrb_integer(num));
1242 }
1243 
1244 /*
1245  * Document-class: FloatDomainError
1246  *
1247  * Raised when attempting to convert special float values
1248  * (in particular infinite or NaN)
1249  * to numerical classes which don't support them.
1250  *
1251  * Float::INFINITY.to_i
1252  *
1253  * <em>raises the exception:</em>
1254  *
1255  * FloatDomainError: Infinity
1256  */
1257 /* ------------------------------------------------------------------------*/
1260 {
1261  mrb_int z = 0;
1262 
1263  if (!mrb_float_p(x)) {
1264  mrb_raise(mrb, E_TYPE_ERROR, "non float value");
1265  z = 0; /* not reached. just suppress warnings. */
1266  }
1267  else {
1268  mrb_float d = mrb_float(x);
1269 
1270  mrb_check_num_exact(mrb, d);
1271  if (FIXABLE_FLOAT(d)) {
1272  z = (mrb_int)d;
1273  }
1274  else {
1275  mrb_raisef(mrb, E_RANGE_ERROR, "number (%v) too big for integer", x);
1276  }
1277  }
1278  return mrb_int_value(mrb, z);
1279 }
1280 #endif
1281 
1282 static mrb_value
1284 {
1285  mrb_int a;
1286 
1287  a = mrb_integer(x);
1288  if (mrb_integer_p(y)) {
1289  mrb_int b, c;
1290 
1291  if (a == 0) return y;
1292  b = mrb_integer(y);
1293  if (mrb_int_add_overflow(a, b, &c)) {
1294  int_overflow(mrb, "addition");
1295  }
1296  return mrb_int_value(mrb, c);
1297  }
1298 #ifdef MRB_NO_FLOAT
1299  mrb_raise(mrb, E_TYPE_ERROR, "non fixnum value");
1300 #else
1301  return mrb_float_value(mrb, (mrb_float)a + mrb_to_flo(mrb, y));
1302 #endif
1303 }
1304 
1307 {
1308  if (mrb_integer_p(x)) {
1309  return fixnum_plus(mrb, x, y);
1310  }
1311 #ifndef MRB_NO_FLOAT
1312  if (mrb_float_p(x)) {
1313  return mrb_float_value(mrb, mrb_float(x) + mrb_to_flo(mrb, y));
1314  }
1315 #endif
1316  mrb_raise(mrb, E_TYPE_ERROR, "no number addition");
1317  return mrb_nil_value(); /* not reached */
1318 }
1319 
1320 /* 15.2.8.3.1 */
1321 /*
1322  * call-seq:
1323  * fix + numeric -> numeric_result
1324  *
1325  * Performs addition: the class of the resulting object depends on
1326  * the class of <code>numeric</code> and on the magnitude of the
1327  * result.
1328  */
1329 static mrb_value
1331 {
1332  mrb_value other = mrb_get_arg1(mrb);
1333 
1334  return fixnum_plus(mrb, self, other);
1335 }
1336 
1337 static mrb_value
1339 {
1340  mrb_int a;
1341 
1342  a = mrb_integer(x);
1343  if (mrb_integer_p(y)) {
1344  mrb_int b, c;
1345 
1346  b = mrb_integer(y);
1347  if (mrb_int_sub_overflow(a, b, &c)) {
1348  int_overflow(mrb, "subtraction");
1349  }
1350  return mrb_int_value(mrb, c);
1351  }
1352 #ifdef MRB_NO_FLOAT
1353  mrb_raise(mrb, E_TYPE_ERROR, "non fixnum value");
1354 #else
1355  return mrb_float_value(mrb, (mrb_float)a - mrb_to_flo(mrb, y));
1356 #endif
1357 }
1358 
1361 {
1362  if (mrb_integer_p(x)) {
1363  return fixnum_minus(mrb, x, y);
1364  }
1365 #ifndef MRB_NO_FLOAT
1366  if (mrb_float_p(x)) {
1367  return mrb_float_value(mrb, mrb_float(x) - mrb_to_flo(mrb, y));
1368  }
1369 #endif
1370  mrb_raise(mrb, E_TYPE_ERROR, "no number subtraction");
1371  return mrb_nil_value(); /* not reached */
1372 }
1373 
1374 /* 15.2.8.3.2 */
1375 /* 15.2.8.3.16 */
1376 /*
1377  * call-seq:
1378  * fix - numeric -> numeric_result
1379  *
1380  * Performs subtraction: the class of the resulting object depends on
1381  * the class of <code>numeric</code> and on the magnitude of the
1382  * result.
1383  */
1384 static mrb_value
1386 {
1387  mrb_value other = mrb_get_arg1(mrb);
1388 
1389  return fixnum_minus(mrb, self, other);
1390 }
1391 
1392 
1395 {
1396  char buf[MRB_INT_BIT+1];
1397  char *b = buf + sizeof buf;
1398  mrb_int val = mrb_integer(x);
1399  mrb_value str;
1400 
1401  if (base < 2 || 36 < base) {
1402  mrb_raisef(mrb, E_ARGUMENT_ERROR, "invalid radix %i", base);
1403  }
1404 
1405  if (val == 0) {
1406  *--b = '0';
1407  }
1408  else if (val < 0) {
1409  do {
1410  *--b = mrb_digitmap[-(val % base)];
1411  } while (val /= base);
1412  *--b = '-';
1413  }
1414  else {
1415  do {
1416  *--b = mrb_digitmap[(int)(val % base)];
1417  } while (val /= base);
1418  }
1419 
1420  str = mrb_str_new(mrb, b, buf + sizeof(buf) - b);
1422  return str;
1423 }
1424 
1425 /* 15.2.8.3.25 */
1426 /*
1427  * call-seq:
1428  * fix.to_s(base=10) -> string
1429  *
1430  * Returns a string containing the representation of <i>fix</i> radix
1431  * <i>base</i> (between 2 and 36).
1432  *
1433  * 12345.to_s #=> "12345"
1434  * 12345.to_s(2) #=> "11000000111001"
1435  * 12345.to_s(8) #=> "30071"
1436  * 12345.to_s(10) #=> "12345"
1437  * 12345.to_s(16) #=> "3039"
1438  * 12345.to_s(36) #=> "9ix"
1439  *
1440  */
1441 static mrb_value
1443 {
1444  mrb_int base = 10;
1445 
1446  mrb_get_args(mrb, "|i", &base);
1447  return mrb_fixnum_to_str(mrb, self, base);
1448 }
1449 
1450 /* compare two numbers: (1:0:-1; -2 for error) */
1451 static mrb_int
1453 {
1454 #ifdef MRB_NO_FLOAT
1455  mrb_int x, y;
1456 #else
1457  mrb_float x, y;
1458 #endif
1459 
1460 #ifdef MRB_NO_FLOAT
1461  x = mrb_integer(v1);
1462 #else
1463  x = mrb_to_flo(mrb, v1);
1464 #endif
1465  switch (mrb_type(v2)) {
1466  case MRB_TT_INTEGER:
1467 #ifdef MRB_NO_FLOAT
1468  y = mrb_integer(v2);
1469 #else
1470  y = (mrb_float)mrb_integer(v2);
1471 #endif
1472  break;
1473 #ifndef MRB_NO_FLOAT
1474  case MRB_TT_FLOAT:
1475  y = mrb_float(v2);
1476  break;
1477 #endif
1478  default:
1479  return -2;
1480  }
1481  if (x > y)
1482  return 1;
1483  else {
1484  if (x < y)
1485  return -1;
1486  return 0;
1487  }
1488 }
1489 
1490 /* 15.2.9.3.6 */
1491 /*
1492  * call-seq:
1493  * self.f <=> other.f => -1, 0, +1, or nil
1494  * < => -1
1495  * = => 0
1496  * > => +1
1497  * Comparison---Returns -1, 0, or +1 depending on whether <i>fix</i> is
1498  * less than, equal to, or greater than <i>numeric</i>. This is the
1499  * basis for the tests in <code>Comparable</code>. When the operands are
1500  * not comparable, it returns nil instead of raising an exception.
1501  */
1502 static mrb_value
1504 {
1505  mrb_value other = mrb_get_arg1(mrb);
1506  mrb_int n;
1507 
1508  n = cmpnum(mrb, self, other);
1509  if (n == -2) return mrb_nil_value();
1510  return mrb_fixnum_value(n);
1511 }
1512 
1513 static mrb_noreturn void
1515 {
1516  mrb_raisef(mrb, E_ARGUMENT_ERROR, "comparison of %t with %t failed", v1, v2);
1517 }
1518 
1519 static mrb_value
1521 {
1522  mrb_value other = mrb_get_arg1(mrb);
1523  mrb_int n;
1524 
1525  n = cmpnum(mrb, self, other);
1526  if (n == -2) cmperr(mrb, self, other);
1527  if (n < 0) return mrb_true_value();
1528  return mrb_false_value();
1529 }
1530 
1531 static mrb_value
1533 {
1534  mrb_value other = mrb_get_arg1(mrb);
1535  mrb_int n;
1536 
1537  n = cmpnum(mrb, self, other);
1538  if (n == -2) cmperr(mrb, self, other);
1539  if (n <= 0) return mrb_true_value();
1540  return mrb_false_value();
1541 }
1542 
1543 static mrb_value
1545 {
1546  mrb_value other = mrb_get_arg1(mrb);
1547  mrb_int n;
1548 
1549  n = cmpnum(mrb, self, other);
1550  if (n == -2) cmperr(mrb, self, other);
1551  if (n > 0) return mrb_true_value();
1552  return mrb_false_value();
1553 }
1554 
1555 static mrb_value
1557 {
1558  mrb_value other = mrb_get_arg1(mrb);
1559  mrb_int n;
1560 
1561  n = cmpnum(mrb, self, other);
1562  if (n == -2) cmperr(mrb, self, other);
1563  if (n >= 0) return mrb_true_value();
1564  return mrb_false_value();
1565 }
1566 
1569 {
1570  mrb_value v;
1571 
1572  switch (mrb_type(obj1)) {
1573  case MRB_TT_INTEGER:
1574  case MRB_TT_FLOAT:
1575  return cmpnum(mrb, obj1, obj2);
1576  case MRB_TT_STRING:
1577  if (!mrb_string_p(obj2))
1578  return -2;
1579  return mrb_str_cmp(mrb, obj1, obj2);
1580  default:
1581  v = mrb_funcall_id(mrb, obj1, MRB_SYM(cmp), 1, obj2);
1582  if (mrb_nil_p(v) || !mrb_integer_p(v))
1583  return -2;
1584  return mrb_integer(v);
1585  }
1586 }
1587 
1588 static mrb_value
1590 {
1591  return mrb_true_value();
1592 }
1593 
1594 static mrb_value
1596 {
1597  return mrb_false_value();
1598 }
1599 
1600 /* 15.2.9.3.1 */
1601 /*
1602  * call-seq:
1603  * float + other -> float
1604  *
1605  * Returns a new float which is the sum of <code>float</code>
1606  * and <code>other</code>.
1607  */
1608 #ifndef MRB_NO_FLOAT
1609 static mrb_value
1611 {
1612  mrb_value y = mrb_get_arg1(mrb);
1613 
1614  return mrb_float_value(mrb, mrb_float(x) + mrb_to_flo(mrb, y));
1615 }
1616 #endif
1617 
1618 /* ------------------------------------------------------------------------*/
1619 void
1621 {
1622  struct RClass *numeric, *integer;
1623 #ifndef MRB_NO_FLOAT
1624  struct RClass *fl;
1625 #endif
1626 
1627  /* Numeric Class */
1628  numeric = mrb_define_class(mrb, "Numeric", mrb->object_class); /* 15.2.7 */
1629  mrb_define_method(mrb, numeric, "finite?", num_finite_p, MRB_ARGS_NONE());
1630  mrb_define_method(mrb, numeric, "infinite?",num_infinite_p, MRB_ARGS_NONE());
1631 
1632  /* Integer Class */
1633  mrb->integer_class = integer = mrb_define_class(mrb, "Integer", numeric); /* 15.2.8 */
1635  mrb_undef_class_method(mrb, integer, "new");
1636  mrb_define_method(mrb, integer, "**", int_pow, MRB_ARGS_REQ(1));
1637  mrb_define_method(mrb, integer, "/", int_div, MRB_ARGS_REQ(1)); /* 15.2.8.3.6 */
1638  mrb_define_method(mrb, integer, "quo", int_quo, MRB_ARGS_REQ(1)); /* 15.2.7.4.5 (x) */
1639  mrb_define_method(mrb, integer, "div", int_div, MRB_ARGS_REQ(1));
1640  mrb_define_method(mrb, integer, "<=>", num_cmp, MRB_ARGS_REQ(1)); /* 15.2.8.3.1 */
1641  mrb_define_method(mrb, integer, "<", num_lt, MRB_ARGS_REQ(1));
1642  mrb_define_method(mrb, integer, "<=", num_le, MRB_ARGS_REQ(1));
1643  mrb_define_method(mrb, integer, ">", num_gt, MRB_ARGS_REQ(1));
1644  mrb_define_method(mrb, integer, ">=", num_ge, MRB_ARGS_REQ(1));
1645 
1646  mrb_define_method(mrb, integer, "to_i", int_to_i, MRB_ARGS_NONE()); /* 15.2.8.3.24 */
1647  mrb_define_method(mrb, integer, "to_int", int_to_i, MRB_ARGS_NONE());
1648 #ifndef MRB_NO_FLOAT
1649  mrb_define_method(mrb, integer, "ceil", int_to_i, MRB_ARGS_NONE()); /* 15.2.8.3.14 */
1650  mrb_define_method(mrb, integer, "floor", int_to_i, MRB_ARGS_NONE()); /* 15.2.8.3.17 */
1651  mrb_define_method(mrb, integer, "round", int_to_i, MRB_ARGS_NONE()); /* 15.2.8.3.20 */
1652  mrb_define_method(mrb, integer, "truncate", int_to_i, MRB_ARGS_NONE()); /* 15.2.8.3.26 */
1653 #endif
1654 
1655  mrb_define_method(mrb, integer, "+", int_plus, MRB_ARGS_REQ(1)); /* 15.2.8.3.1 */
1656  mrb_define_method(mrb, integer, "-", int_minus, MRB_ARGS_REQ(1)); /* 15.2.8.3.2 */
1657  mrb_define_method(mrb, integer, "*", int_mul, MRB_ARGS_REQ(1)); /* 15.2.8.3.3 */
1658  mrb_define_method(mrb, integer, "%", int_mod, MRB_ARGS_REQ(1)); /* 15.2.8.3.5 */
1659  mrb_define_method(mrb, integer, "==", int_equal, MRB_ARGS_REQ(1)); /* 15.2.8.3.7 */
1660  mrb_define_method(mrb, integer, "~", int_rev, MRB_ARGS_NONE()); /* 15.2.8.3.8 */
1661  mrb_define_method(mrb, integer, "&", int_and, MRB_ARGS_REQ(1)); /* 15.2.8.3.9 */
1662  mrb_define_method(mrb, integer, "|", int_or, MRB_ARGS_REQ(1)); /* 15.2.8.3.10 */
1663  mrb_define_method(mrb, integer, "^", int_xor, MRB_ARGS_REQ(1)); /* 15.2.8.3.11 */
1664  mrb_define_method(mrb, integer, "<<", int_lshift, MRB_ARGS_REQ(1)); /* 15.2.8.3.12 */
1665  mrb_define_method(mrb, integer, ">>", int_rshift, MRB_ARGS_REQ(1)); /* 15.2.8.3.13 */
1666  mrb_define_method(mrb, integer, "eql?", int_eql, MRB_ARGS_REQ(1)); /* 15.2.8.3.16 */
1667 #ifndef MRB_NO_FLOAT
1668  mrb_define_method(mrb, integer, "to_f", int_to_f, MRB_ARGS_NONE()); /* 15.2.8.3.23 */
1669 #endif
1670  mrb_define_method(mrb, integer, "to_s", int_to_s, MRB_ARGS_OPT(1)); /* 15.2.8.3.25 */
1671  mrb_define_method(mrb, integer, "inspect", int_to_s, MRB_ARGS_OPT(1));
1672  mrb_define_method(mrb, integer, "divmod", int_divmod, MRB_ARGS_REQ(1)); /* 15.2.8.3.30 (x) */
1673  mrb_define_method(mrb, integer, "__coerce_step_counter", coerce_step_counter, MRB_ARGS_REQ(2));
1674 
1675  /* Fixnum Class for compatibility */
1676  mrb_define_const(mrb, mrb->object_class, "Fixnum", mrb_obj_value(integer));
1677 
1678 #ifndef MRB_NO_FLOAT
1679  /* Float Class */
1680  mrb->float_class = fl = mrb_define_class(mrb, "Float", numeric); /* 15.2.9 */
1682  mrb_undef_class_method(mrb, fl, "new");
1683  mrb_define_method(mrb, fl, "**", flo_pow, MRB_ARGS_REQ(1));
1684  mrb_define_method(mrb, fl, "/", flo_div, MRB_ARGS_REQ(1)); /* 15.2.9.3.6 */
1685  mrb_define_method(mrb, fl, "quo", flo_div, MRB_ARGS_REQ(1)); /* 15.2.7.4.5 (x) */
1686  mrb_define_method(mrb, fl, "div", flo_idiv, MRB_ARGS_REQ(1));
1687  mrb_define_method(mrb, fl, "+", flo_plus, MRB_ARGS_REQ(1)); /* 15.2.9.3.3 */
1688  mrb_define_method(mrb, fl, "-", flo_minus, MRB_ARGS_REQ(1)); /* 15.2.9.3.4 */
1689  mrb_define_method(mrb, fl, "*", flo_mul, MRB_ARGS_REQ(1)); /* 15.2.9.3.5 */
1690  mrb_define_method(mrb, fl, "%", flo_mod, MRB_ARGS_REQ(1)); /* 15.2.9.3.7 */
1691  mrb_define_method(mrb, fl, "<=>", num_cmp, MRB_ARGS_REQ(1)); /* 15.2.9.3.1 */
1692  mrb_define_method(mrb, fl, "<", num_lt, MRB_ARGS_REQ(1));
1693  mrb_define_method(mrb, fl, "<=", num_le, MRB_ARGS_REQ(1));
1694  mrb_define_method(mrb, fl, ">", num_gt, MRB_ARGS_REQ(1));
1695  mrb_define_method(mrb, fl, ">=", num_ge, MRB_ARGS_REQ(1));
1696  mrb_define_method(mrb, fl, "==", flo_eq, MRB_ARGS_REQ(1)); /* 15.2.9.3.2 */
1697  mrb_define_method(mrb, fl, "~", flo_rev, MRB_ARGS_NONE());
1698  mrb_define_method(mrb, fl, "&", flo_and, MRB_ARGS_REQ(1));
1699  mrb_define_method(mrb, fl, "|", flo_or, MRB_ARGS_REQ(1));
1700  mrb_define_method(mrb, fl, "^", flo_xor, MRB_ARGS_REQ(1));
1701  mrb_define_method(mrb, fl, ">>", flo_rshift, MRB_ARGS_REQ(1));
1702  mrb_define_method(mrb, fl, "<<", flo_lshift, MRB_ARGS_REQ(1));
1703  mrb_define_method(mrb, fl, "ceil", flo_ceil, MRB_ARGS_NONE()); /* 15.2.9.3.8 */
1704  mrb_define_method(mrb, fl, "finite?", flo_finite_p, MRB_ARGS_NONE()); /* 15.2.9.3.9 */
1705  mrb_define_method(mrb, fl, "floor", flo_floor, MRB_ARGS_NONE()); /* 15.2.9.3.10 */
1706  mrb_define_method(mrb, fl, "infinite?", flo_infinite_p, MRB_ARGS_NONE()); /* 15.2.9.3.11 */
1707  mrb_define_method(mrb, fl, "round", flo_round, MRB_ARGS_OPT(1)); /* 15.2.9.3.12 */
1708  mrb_define_method(mrb, fl, "to_f", flo_to_f, MRB_ARGS_NONE()); /* 15.2.9.3.13 */
1709  mrb_define_method(mrb, fl, "to_i", flo_truncate, MRB_ARGS_NONE()); /* 15.2.9.3.14 */
1710  mrb_define_method(mrb, fl, "to_int", flo_truncate, MRB_ARGS_NONE());
1711  mrb_define_method(mrb, fl, "truncate", flo_truncate, MRB_ARGS_NONE()); /* 15.2.9.3.15 */
1712  mrb_define_method(mrb, fl, "divmod", flo_divmod, MRB_ARGS_REQ(1));
1713  mrb_define_method(mrb, fl, "eql?", flo_eql, MRB_ARGS_REQ(1)); /* 15.2.8.3.16 */
1714 
1715  mrb_define_method(mrb, fl, "to_s", flo_to_s, MRB_ARGS_NONE()); /* 15.2.9.3.16(x) */
1716  mrb_define_method(mrb, fl, "inspect", flo_to_s, MRB_ARGS_NONE());
1717  mrb_define_method(mrb, fl, "nan?", flo_nan_p, MRB_ARGS_NONE());
1718 
1719 #ifdef INFINITY
1721 #endif
1722 #ifdef NAN
1723  mrb_define_const_id(mrb, fl, MRB_SYM(NAN), mrb_float_value(mrb, NAN));
1724 #endif
1725 #endif
1726 }
double __cdecl exp(double _X)
return _Result< 0 ? -1 :_Result;} #line 1069 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vsnwprintf_s_l(wchar_t *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsnwprintf_s((*__local_stdio_printf_options()), _Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1091 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vsnwprintf_s(wchar_t *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const *const _Format, va_list _ArgList) { return _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format,((void *) 0), _ArgList);} #line 1108 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwprintf(wchar_t *_Buffer, size_t _BufferCount, wchar_t const *_Format,...);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnwprintf(wchar_t *_Buffer, size_t _BufferCount, wchar_t const *_Format, va_list _Args);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnwprintf(wchar_t *_Buffer, size_t _BufferCount, wchar_t const *_Format, va_list _ArgList) { return _vsnwprintf_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1133 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_c_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vswprintf((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1163 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_c(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, va_list _ArgList) { return _vswprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1179 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);} #line 1196 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl __vswprintf_l(wchar_t *const _Buffer, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vswprintf_l(_Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 1212 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf(wchar_t *const _Buffer, wchar_t const *const _Format, va_list _ArgList) { return _vswprintf_l(_Buffer,(size_t) -1, _Format,((void *) 0), _ArgList);} #line 1227 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl vswprintf(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, va_list _ArgList) { return _vswprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1243 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_s_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vswprintf_s((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1264 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl vswprintf_s(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, va_list _ArgList) { return _vswprintf_s_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1281 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" #line 1283 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_p_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vswprintf_p((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1312 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswprintf_p(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, va_list _ArgList) { return _vswprintf_p_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1328 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vscwprintf_l(wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vswprintf((*__local_stdio_printf_options())|(1ULL<< 1),((void *) 0), 0, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1347 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vscwprintf(wchar_t const *const _Format, va_list _ArgList) { return _vscwprintf_l(_Format,((void *) 0), _ArgList);} #line 1361 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vscwprintf_p_l(wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vswprintf_p((*__local_stdio_printf_options())|(1ULL<< 1),((void *) 0), 0, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1380 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vscwprintf_p(wchar_t const *const _Format, va_list _ArgList) { return _vscwprintf_p_l(_Format,((void *) 0), _ArgList);} #line 1394 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl __swprintf_l(wchar_t *const _Buffer, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__vswprintf_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1414 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1435 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf(wchar_t *const _Buffer, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__vswprintf_l(_Buffer, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1454 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl swprintf(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1474 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "__swprintf_l_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl __swprintf_l(wchar_t *_Buffer, wchar_t const *_Format, _locale_t _Locale,...);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vswprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl __vswprintf_l(wchar_t *_Buffer, wchar_t const *_Format, _locale_t _Locale, va_list _Args);__declspec(deprecated("This function or variable may be unsafe. Consider using " "swprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _swprintf(wchar_t *_Buffer, wchar_t const *_Format,...);__declspec(deprecated("This function or variable may be unsafe. Consider using " "vswprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vswprintf(wchar_t *_Buffer, wchar_t const *_Format, va_list _Args);__inline int __cdecl _swprintf_s_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1511 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl swprintf_s(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_s_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1532 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" #line 1534 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf_p_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_p_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1562 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf_p(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_p_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1582 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf_c_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1603 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swprintf_c(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1623 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwprintf_l(wchar_t *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwprintf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1646 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _snwprintf(wchar_t *_Buffer, size_t _BufferCount, wchar_t const *_Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwprintf_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1668 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _snwprintf_s_l(wchar_t *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1690 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _snwprintf_s(wchar_t *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1711 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _scwprintf_l(wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscwprintf_l(_Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1737 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _scwprintf(wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscwprintf_l(_Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1755 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _scwprintf_p_l(wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscwprintf_p_l(_Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1774 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _scwprintf_p(wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscwprintf_p_l(_Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1792 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" #pragma warning(push) #pragma warning(disable:4141 6054) #pragma warning(pop) #line 1856 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" int __cdecl __stdio_common_vswscanf(unsigned __int64 _Options, wchar_t const *_Buffer, size_t _BufferCount, wchar_t const *_Format, _locale_t _Locale, va_list _ArgList);__inline int __cdecl _vswscanf_l(wchar_t const *const _Buffer, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vswscanf((*__local_stdio_scanf_options()), _Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 1897 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl vswscanf(wchar_t const *_Buffer, wchar_t const *_Format, va_list _ArgList) { return _vswscanf_l(_Buffer, _Format,((void *) 0), _ArgList);} #line 1912 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vswscanf_s_l(wchar_t const *const _Buffer, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vswscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 1930 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl vswscanf_s(wchar_t const *const _Buffer, wchar_t const *const _Format, va_list _ArgList) { return _vswscanf_s_l(_Buffer, _Format,((void *) 0), _ArgList);} #line 1947 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" #line 1949 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnwscanf_l(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vswscanf((*__local_stdio_scanf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);} #line 1976 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _vsnwscanf_s_l(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vswscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Buffer, _BufferCount, _Format, _Locale, _ArgList);} #line 1995 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_swscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _swscanf_l(wchar_t const *const _Buffer, wchar_t const *const _Format, _locale_t _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswscanf_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2015 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "swscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl swscanf(wchar_t const *const _Buffer, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswscanf_l(_Buffer, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2034 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _swscanf_s_l(wchar_t const *const _Buffer, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswscanf_s_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2054 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl swscanf_s(wchar_t const *const _Buffer, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vswscanf_s_l(_Buffer, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2075 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" #line 2077 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwscanf_l(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwscanf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2100 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwscanf(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwscanf_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2122 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _snwscanf_s_l(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwscanf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2143 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __inline int __cdecl _snwscanf_s(wchar_t const *const _Buffer, size_t const _BufferCount, wchar_t const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnwscanf_s_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2163 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstdio.h" __pragma(pack(pop))#pragma warning(pop) #pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) typedef __int64 fpos_t;errno_t __cdecl _get_stream_buffer_pointers(FILE *_Stream, char ***_Base, char ***_Pointer, int **_Count);errno_t __cdecl clearerr_s(FILE *_Stream);errno_t __cdecl fopen_s(FILE **_Stream, char const *_FileName, char const *_Mode);size_t __cdecl fread_s(void *_Buffer, size_t _BufferSize, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);errno_t __cdecl freopen_s(FILE **_Stream, char const *_FileName, char const *_Mode, FILE *_OldStream);char *__cdecl gets_s(char *_Buffer, rsize_t _Size);errno_t __cdecl tmpfile_s(FILE **_Stream);errno_t __cdecl tmpnam_s(char *_Buffer, rsize_t _Size);#line 145 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" void __cdecl clearerr(FILE *_Stream);int __cdecl fclose(FILE *_Stream);int __cdecl _fcloseall(void);FILE *__cdecl _fdopen(int _FileHandle, char const *_Mode);int __cdecl feof(FILE *_Stream);int __cdecl ferror(FILE *_Stream);int __cdecl fflush(FILE *_Stream);int __cdecl fgetc(FILE *_Stream);int __cdecl _fgetchar(void);int __cdecl fgetpos(FILE *_Stream, fpos_t *_Position);char *__cdecl fgets(char *_Buffer, int _MaxCount, FILE *_Stream);int __cdecl _fileno(FILE *_Stream);int __cdecl _flushall(void);__declspec(deprecated("This function or variable may be unsafe. Consider using " "fopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) FILE *__cdecl fopen(char const *_FileName, char const *_Mode);int __cdecl fputc(int _Character, FILE *_Stream);int __cdecl _fputchar(int _Character);int __cdecl fputs(char const *_Buffer, FILE *_Stream);size_t __cdecl fread(void *_Buffer, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);__declspec(deprecated("This function or variable may be unsafe. Consider using " "freopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) FILE *__cdecl freopen(char const *_FileName, char const *_Mode, FILE *_Stream);FILE *__cdecl _fsopen(char const *_FileName, char const *_Mode, int _ShFlag);int __cdecl fsetpos(FILE *_Stream, fpos_t const *_Position);int __cdecl fseek(FILE *_Stream, long _Offset, int _Origin);int __cdecl _fseeki64(FILE *_Stream, __int64 _Offset, int _Origin);long __cdecl ftell(FILE *_Stream);__int64 __cdecl _ftelli64(FILE *_Stream);size_t __cdecl fwrite(void const *_Buffer, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);int __cdecl getc(FILE *_Stream);int __cdecl getchar(void);int __cdecl _getmaxstdio(void);int __cdecl _getw(FILE *_Stream);void __cdecl perror(char const *_ErrorMessage);int __cdecl _pclose(FILE *_Stream);FILE *__cdecl _popen(char const *_Command, char const *_Mode);#line 344 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl putc(int _Character, FILE *_Stream);int __cdecl putchar(int _Character);int __cdecl puts(char const *_Buffer);int __cdecl _putw(int _Word, FILE *_Stream);int __cdecl remove(char const *_FileName);int __cdecl rename(char const *_OldFileName, char const *_NewFileName);int __cdecl _unlink(char const *_FileName);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_unlink" ". See online help for details.")) int __cdecl unlink(char const *_FileName);#line 391 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" void __cdecl rewind(FILE *_Stream);int __cdecl _rmtmp(void);__declspec(deprecated("This function or variable may be unsafe. Consider using " "setvbuf" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) void __cdecl setbuf(FILE *_Stream, char *_Buffer);int __cdecl _setmaxstdio(int _Maximum);int __cdecl setvbuf(FILE *_Stream, char *_Buffer, int _Mode, size_t _Size);__declspec(allocator) char *__cdecl _tempnam(char const *_DirectoryName, char const *_FilePrefix);__declspec(deprecated("This function or variable may be unsafe. Consider using " "tmpfile_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) FILE *__cdecl tmpfile(void);__declspec(deprecated("This function or variable may be unsafe. Consider using " "tmpnam_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl tmpnam(char *_Buffer);int __cdecl ungetc(int _Character, FILE *_Stream);void __cdecl _lock_file(FILE *_Stream);void __cdecl _unlock_file(FILE *_Stream);int __cdecl _fclose_nolock(FILE *_Stream);int __cdecl _fflush_nolock(FILE *_Stream);int __cdecl _fgetc_nolock(FILE *_Stream);int __cdecl _fputc_nolock(int _Character, FILE *_Stream);size_t __cdecl _fread_nolock(void *_Buffer, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);size_t __cdecl _fread_nolock_s(void *_Buffer, size_t _BufferSize, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);int __cdecl _fseek_nolock(FILE *_Stream, long _Offset, int _Origin);int __cdecl _fseeki64_nolock(FILE *_Stream, __int64 _Offset, int _Origin);long __cdecl _ftell_nolock(FILE *_Stream);__int64 __cdecl _ftelli64_nolock(FILE *_Stream);size_t __cdecl _fwrite_nolock(void const *_Buffer, size_t _ElementSize, size_t _ElementCount, FILE *_Stream);int __cdecl _getc_nolock(FILE *_Stream);int __cdecl _putc_nolock(int _Character, FILE *_Stream);int __cdecl _ungetc_nolock(int _Character, FILE *_Stream);int *__cdecl __p__commode(void);#line 596 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl __stdio_common_vfprintf(unsigned __int64 _Options, FILE *_Stream, char const *_Format, _locale_t _Locale, va_list _ArgList);int __cdecl __stdio_common_vfprintf_s(unsigned __int64 _Options, FILE *_Stream, char const *_Format, _locale_t _Locale, va_list _ArgList);int __cdecl __stdio_common_vfprintf_p(unsigned __int64 _Options, FILE *_Stream, char const *_Format, _locale_t _Locale, va_list _ArgList);__inline int __cdecl _vfprintf_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vfprintf((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList);} #line 648 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vfprintf(FILE *const _Stream, char const *const _Format, va_list _ArgList) { return _vfprintf_l(_Stream, _Format,((void *) 0), _ArgList);} #line 662 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vfprintf_s_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vfprintf_s((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList);} #line 677 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vfprintf_s(FILE *const _Stream, char const *const _Format, va_list _ArgList) { return _vfprintf_s_l(_Stream, _Format,((void *) 0), _ArgList);} #line 693 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 695 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vfprintf_p_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vfprintf_p((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList);} #line 710 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vfprintf_p(FILE *const _Stream, char const *const _Format, va_list _ArgList) { return _vfprintf_p_l(_Stream, _Format,((void *) 0), _ArgList);} #line 724 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vprintf_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vfprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);} #line 738 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vprintf(char const *const _Format, va_list _ArgList) { return _vfprintf_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);} #line 751 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vprintf_s_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vfprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);} #line 765 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vprintf_s(char const *const _Format, va_list _ArgList) { return _vfprintf_s_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);} #line 780 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 782 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vprintf_p_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vfprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);} #line 796 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vprintf_p(char const *const _Format, va_list _ArgList) { return _vfprintf_p_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);} #line 809 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _fprintf_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_l(_Stream, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 828 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl fprintf(FILE *const _Stream, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_l(_Stream, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 846 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl _set_printf_count_output(int _Value);int __cdecl _get_printf_count_output(void);__inline int __cdecl _fprintf_s_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_s_l(_Stream, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 871 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl fprintf_s(FILE *const _Stream, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_s_l(_Stream, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 891 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 893 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _fprintf_p_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_p_l(_Stream, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 912 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _fprintf_p(FILE *const _Stream, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_p_l(_Stream, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 930 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _printf_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 948 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl printf(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 965 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _printf_s_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 983 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl printf_s(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_s_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1002 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1004 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _printf_p_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1022 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _printf_p(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfprintf_p_l((__acrt_iob_func(1)), _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1039 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl __stdio_common_vfscanf(unsigned __int64 _Options, FILE *_Stream, char const *_Format, _locale_t _Locale, va_list _Arglist);__inline int __cdecl _vfscanf_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vfscanf((*__local_stdio_scanf_options()), _Stream, _Format, _Locale, _ArgList);} #line 1070 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vfscanf(FILE *const _Stream, char const *const _Format, va_list _ArgList) { return _vfscanf_l(_Stream, _Format,((void *) 0), _ArgList);} #line 1084 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vfscanf_s_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vfscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Stream, _Format, _Locale, _ArgList);} #line 1101 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vfscanf_s(FILE *const _Stream, char const *const _Format, va_list _ArgList) { return _vfscanf_s_l(_Stream, _Format,((void *) 0), _ArgList);} #line 1118 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1120 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscanf_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vfscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList);} #line 1134 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vscanf(char const *const _Format, va_list _ArgList) { return _vfscanf_l((__acrt_iob_func(0)), _Format,((void *) 0), _ArgList);} #line 1147 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscanf_s_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vfscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList);} #line 1161 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vscanf_s(char const *const _Format, va_list _ArgList) { return _vfscanf_s_l((__acrt_iob_func(0)), _Format,((void *) 0), _ArgList);} #line 1176 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1178 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _fscanf_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_l(_Stream, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1197 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "fscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl fscanf(FILE *const _Stream, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_l(_Stream, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1215 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _fscanf_s_l(FILE *const _Stream, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_s_l(_Stream, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1234 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl fscanf_s(FILE *const _Stream, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_s_l(_Stream, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1254 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1256 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_scanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _scanf_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1274 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "scanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl scanf(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_l((__acrt_iob_func(0)), _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1291 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _scanf_s_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1309 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl scanf_s(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vfscanf_s_l((__acrt_iob_func(0)), _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1328 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1330 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl __stdio_common_vsprintf(unsigned __int64 _Options, char *_Buffer, size_t _BufferCount, char const *_Format, _locale_t _Locale, va_list _ArgList);int __cdecl __stdio_common_vsprintf_s(unsigned __int64 _Options, char *_Buffer, size_t _BufferCount, char const *_Format, _locale_t _Locale, va_list _ArgList);int __cdecl __stdio_common_vsnprintf_s(unsigned __int64 _Options, char *_Buffer, size_t _BufferCount, size_t _MaxCount, char const *_Format, _locale_t _Locale, va_list _ArgList);int __cdecl __stdio_common_vsprintf_p(unsigned __int64 _Options, char *_Buffer, size_t _BufferCount, char const *_Format, _locale_t _Locale, va_list _ArgList);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnprintf_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf((*__local_stdio_printf_options())|(1ULL<< 0), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1399 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsnprintf(char *const _Buffer, size_t const _BufferCount, char const *const _Format, va_list _ArgList) { return _vsnprintf_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1415 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vsnprintf(char *const _Buffer, size_t const _BufferCount, char const *const _Format, va_list _ArgList) { int const _Result=__stdio_common_vsprintf((*__local_stdio_printf_options())|(1ULL<< 1), _Buffer, _BufferCount, _Format,((void *) 0), _ArgList);return _Result< 0 ? -1 :_Result;} #line 1446 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsprintf_l(char *const _Buffer, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return _vsnprintf_l(_Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 1462 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "vsprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl vsprintf(char *const _Buffer, char const *const _Format, va_list _ArgList) { return _vsnprintf_l(_Buffer,(size_t) -1, _Format,((void *) 0), _ArgList);} #line 1477 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsprintf_s_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf_s((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1498 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vsprintf_s(char *const _Buffer, size_t const _BufferCount, char const *const _Format, va_list _ArgList) { return _vsprintf_s_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1516 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1526 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsprintf_p_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf_p((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1547 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsprintf_p(char *const _Buffer, size_t const _BufferCount, char const *const _Format, va_list _ArgList) { return _vsprintf_p_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1563 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsnprintf_s_l(char *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsnprintf_s((*__local_stdio_printf_options()), _Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1585 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsnprintf_s(char *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const *const _Format, va_list _ArgList) { return _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format,((void *) 0), _ArgList);} #line 1602 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vsnprintf_s(char *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const *const _Format, va_list _ArgList) { return _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format,((void *) 0), _ArgList);} #line 1630 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1641 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscprintf_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf((*__local_stdio_printf_options())|(1ULL<< 1),((void *) 0), 0, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1659 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscprintf(char const *const _Format, va_list _ArgList) { return _vscprintf_l(_Format,((void *) 0), _ArgList);} #line 1672 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscprintf_p_l(char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf_p((*__local_stdio_printf_options())|(1ULL<< 1),((void *) 0), 0, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1690 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vscprintf_p(char const *const _Format, va_list _ArgList) { return _vscprintf_p_l(_Format,((void *) 0), _ArgList);} #line 1703 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsnprintf_c_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { int const _Result=__stdio_common_vsprintf((*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);return _Result< 0 ? -1 :_Result;} #line 1723 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsnprintf_c(char *const _Buffer, size_t const _BufferCount, char const *const _Format, va_list _ArgList) { return _vsnprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);} #line 1739 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_sprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _sprintf_l(char *const _Buffer, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1761 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl sprintf(char *const _Buffer, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_l(_Buffer, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1782 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "sprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl sprintf(char *_Buffer, char const *_Format,...);__declspec(deprecated("This function or variable may be unsafe. Consider using " "vsprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl vsprintf(char *_Buffer, char const *_Format, va_list _Args);__inline int __cdecl _sprintf_s_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1810 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl sprintf_s(char *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_s_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1832 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 1834 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _sprintf_p_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_p_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1862 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _sprintf_p(char *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsprintf_p_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1882 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snprintf_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1905 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl snprintf(char *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=vsnprintf(_Buffer, _BufferCount, _Format, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1936 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snprintf(char *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf(_Buffer, _BufferCount, _Format, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1956 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl _snprintf(char *_Buffer, size_t _BufferCount, char const *_Format,...);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl _vsnprintf(char *_Buffer, size_t _BufferCount, char const *_Format, va_list _Args);__inline int __cdecl _snprintf_c_l(char *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 1986 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snprintf_c(char *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf_c_l(_Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2006 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snprintf_s_l(char *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2028 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snprintf_s(char *const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2049 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _scprintf_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscprintf_l(_Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2075 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _scprintf(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscprintf_l(_Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2092 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _scprintf_p_l(char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscprintf_p_l(_Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2110 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _scprintf_p(char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vscprintf_p(_Format, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2127 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" int __cdecl __stdio_common_vsscanf(unsigned __int64 _Options, char const *_Buffer, size_t _BufferCount, char const *_Format, _locale_t _Locale, va_list _ArgList);__inline int __cdecl _vsscanf_l(char const *const _Buffer, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vsscanf((*__local_stdio_scanf_options()), _Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 2158 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl vsscanf(char const *const _Buffer, char const *const _Format, va_list _ArgList) { return _vsscanf_l(_Buffer, _Format,((void *) 0), _ArgList);} #line 2172 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _vsscanf_s_l(char const *const _Buffer, char const *const _Format, _locale_t const _Locale, va_list _ArgList) { return __stdio_common_vsscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Buffer,(size_t) -1, _Format, _Locale, _ArgList);} #line 2189 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #pragma warning(push) #pragma warning(disable:6530) __inline int __cdecl vsscanf_s(char const *const _Buffer, char const *const _Format, va_list _ArgList) { return _vsscanf_s_l(_Buffer, _Format,((void *) 0), _ArgList);} #line 2208 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #pragma warning(pop) #line 2219 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_sscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _sscanf_l(char const *const _Buffer, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsscanf_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2238 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "sscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl sscanf(char const *const _Buffer, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsscanf_l(_Buffer, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2256 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _sscanf_s_l(char const *const _Buffer, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=_vsscanf_s_l(_Buffer, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2275 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl sscanf_s(char const *const _Buffer, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=vsscanf_s(_Buffer, _Format, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2297 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #line 2299 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #pragma warning(push) #pragma warning(disable:6530) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snscanf_l(char const *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__stdio_common_vsscanf((*__local_stdio_scanf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2326 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snscanf(char const *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__stdio_common_vsscanf((*__local_stdio_scanf_options()), _Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2349 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snscanf_s_l(char const *const _Buffer, size_t const _BufferCount, char const *const _Format, _locale_t const _Locale,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Locale))+((sizeof(_Locale)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__stdio_common_vsscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Buffer, _BufferCount, _Format, _Locale, _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2374 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" __inline int __cdecl _snscanf_s(char const *const _Buffer, size_t const _BufferCount, char const *const _Format,...) { int _Result;va_list _ArgList;((void)(_ArgList=(va_list)(&(_Format))+((sizeof(_Format)+sizeof(int) - 1) &~(sizeof(int) - 1)))) ;_Result=__stdio_common_vsscanf((*__local_stdio_scanf_options())|(1ULL<< 0), _Buffer, _BufferCount, _Format,((void *) 0), _ArgList);((void)(_ArgList=(va_list) 0)) ;return _Result;} #line 2397 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h" #pragma warning(pop) __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_tempnam" ". See online help for details.")) char *__cdecl tempnam(char const *_Directory, char const *_FilePrefix);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fcloseall" ". See online help for details.")) int __cdecl fcloseall(void);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fdopen" ". See online help for details.")) FILE *__cdecl fdopen(int _FileHandle, char const *_Format);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fgetchar" ". See online help for details.")) int __cdecl fgetchar(void);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fileno" ". See online help for details.")) int __cdecl fileno(FILE *_Stream);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_flushall" ". See online help for details.")) int __cdecl flushall(void);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fputchar" ". See online help for details.")) int __cdecl fputchar(int _Ch);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_getw" ". See online help for details.")) int __cdecl getw(FILE *_Stream);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_putw" ". See online help for details.")) int __cdecl putw(int _Ch, FILE *_Stream);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_rmtmp" ". See online help for details.")) int __cdecl rmtmp(void);#line 2441 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\stdio.h"__pragma(pack(pop))#pragma warning(pop) #pragma once#pragma once#pragma once#pragma once#pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) int *__cdecl _errno(void);errno_t __cdecl _set_errno(int _Value);errno_t __cdecl _get_errno(int *_Value);unsigned long *__cdecl __doserrno(void);errno_t __cdecl _set_doserrno(unsigned long _Value);errno_t __cdecl _get_doserrno(unsigned long *_Value);__pragma(pack(pop))#pragma warning(pop) #pragma once#pragma warning(push)#pragma warning(disable:4514 4820) __pragma(pack(push, 8)) void *__cdecl memchr(void const *_Buf, int _Val, size_t _MaxCount);int __cdecl memcmp(void const *_Buf1, void const *_Buf2, size_t _Size);void *__cdecl memcpy(void *_Dst, void const *_Src, size_t _Size);void *__cdecl memmove(void *_Dst, void const *_Src, size_t _Size);void *__cdecl memset(void *_Dst, int _Val, size_t _Size);char *__cdecl strchr(char const *_Str, int _Val);char *__cdecl strrchr(char const *_Str, int _Ch);char *__cdecl strstr(char const *_Str, char const *_SubStr);wchar_t *__cdecl wcschr(wchar_t const *_Str, wchar_t _Ch);wchar_t *__cdecl wcsrchr(wchar_t const *_Str, wchar_t _Ch);wchar_t *__cdecl wcsstr(wchar_t const *_Str, wchar_t const *_SubStr);__pragma(pack(pop))#pragma warning(pop) #pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) static __inline errno_t __cdecl memcpy_s(void *const _Destination, rsize_t const _DestinationSize, void const *const _Source, rsize_t const _SourceSize) { if(_SourceSize==0) { return 0;} { int _Expr_val=!!(_Destination !=((void *) 0));if(!(_Expr_val)) {(*_errno())=22;_invalid_parameter_noinfo();return 22;} } ;if(_Source==((void *) 0)||_DestinationSize< _SourceSize) { memset(_Destination, 0, _DestinationSize);{ int _Expr_val=!!(_Source !=((void *) 0));if(!(_Expr_val)) {(*_errno())=22;_invalid_parameter_noinfo();return 22;} } ;{ int _Expr_val=!!(_DestinationSize >=_SourceSize);if(!(_Expr_val)) {(*_errno())=34;_invalid_parameter_noinfo();return 34;} } ;return 22 ;} memcpy(_Destination, _Source, _SourceSize);return 0;} static __inline errno_t __cdecl memmove_s(void *const _Destination, rsize_t const _DestinationSize, void const *const _Source, rsize_t const _SourceSize) { if(_SourceSize==0) { return 0;} { int _Expr_val=!!(_Destination !=((void *) 0));if(!(_Expr_val)) {(*_errno())=22;_invalid_parameter_noinfo();return 22;} } ;{ int _Expr_val=!!(_Source !=((void *) 0));if(!(_Expr_val)) {(*_errno())=22;_invalid_parameter_noinfo();return 22;} } ;{ int _Expr_val=!!(_DestinationSize >=_SourceSize);if(!(_Expr_val)) {(*_errno())=34;_invalid_parameter_noinfo();return 34;} } ;memmove(_Destination, _Source, _SourceSize);return 0;}#pragma warning(pop) __pragma(pack(pop))#pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) int __cdecl _memicmp(void const *_Buf1, void const *_Buf2, size_t _Size);int __cdecl _memicmp_l(void const *_Buf1, void const *_Buf2, size_t _Size, _locale_t _Locale);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_memccpy" ". See online help for details.")) void *__cdecl memccpy(void *_Dst, void const *_Src, int _Val, size_t _Size);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_memicmp" ". See online help for details.")) int __cdecl memicmp(void const *_Buf1, void const *_Buf2, size_t _Size);__pragma(pack(pop))#pragma warning(pop) #pragma once#pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) errno_t __cdecl wcscat_s(wchar_t *_Destination, rsize_t _SizeInWords, wchar_t const *_Source);errno_t __cdecl wcscpy_s(wchar_t *_Destination, rsize_t _SizeInWords, wchar_t const *_Source);errno_t __cdecl wcsncat_s(wchar_t *_Destination, rsize_t _SizeInWords, wchar_t const *_Source, rsize_t _MaxCount);errno_t __cdecl wcsncpy_s(wchar_t *_Destination, rsize_t _SizeInWords, wchar_t const *_Source, rsize_t _MaxCount);wchar_t *__cdecl wcstok_s(wchar_t *_String, wchar_t const *_Delimiter, wchar_t **_Context);__declspec(allocator) wchar_t *__cdecl _wcsdup(wchar_t const *_String);__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcscat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl wcscat(wchar_t *_Destination, wchar_t const *_Source);int __cdecl wcscmp(wchar_t const *_String1, wchar_t const *_String2);__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcscpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl wcscpy(wchar_t *_Destination, wchar_t const *_Source);size_t __cdecl wcscspn(wchar_t const *_String, wchar_t const *_Control);size_t __cdecl wcslen(wchar_t const *_String);size_t __cdecl wcsnlen(wchar_t const *_Source, size_t _MaxCount);static __inline size_t __cdecl wcsnlen_s(wchar_t const *_Source, size_t _MaxCount) { return(_Source==0) ? 0 :wcsnlen(_Source, _MaxCount);}__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl wcsncat(wchar_t *_Destination, wchar_t const *_Source, size_t _Count);int __cdecl wcsncmp(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount);__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl wcsncpy(wchar_t *_Destination, wchar_t const *_Source, size_t _Count);wchar_t *__cdecl wcspbrk(wchar_t const *_String, wchar_t const *_Control);size_t __cdecl wcsspn(wchar_t const *_String, wchar_t const *_Control);__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl wcstok(wchar_t *_String, wchar_t const *_Delimiter, wchar_t **_Context);#line 237 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\corecrt_wstring.h" __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) static __inline wchar_t *__cdecl _wcstok(wchar_t *const _String, wchar_t const *const _Delimiter) { return wcstok(_String, _Delimiter, 0);} __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcserror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcserror(int _ErrorNumber);errno_t __cdecl _wcserror_s(wchar_t *_Buffer, size_t _SizeInWords, int _ErrorNumber);__declspec(deprecated("This function or variable may be unsafe. Consider using " "__wcserror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl __wcserror(wchar_t const *_String);errno_t __cdecl __wcserror_s(wchar_t *_Buffer, size_t _SizeInWords, wchar_t const *_ErrorMessage);int __cdecl _wcsicmp(wchar_t const *_String1, wchar_t const *_String2);int __cdecl _wcsicmp_l(wchar_t const *_String1, wchar_t const *_String2, _locale_t _Locale);int __cdecl _wcsnicmp(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount);int __cdecl _wcsnicmp_l(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount, _locale_t _Locale);errno_t __cdecl _wcsnset_s(wchar_t *_Destination, size_t _SizeInWords, wchar_t _Value, size_t _MaxCount);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcsnset(wchar_t *_String, wchar_t _Value, size_t _MaxCount);wchar_t *__cdecl _wcsrev(wchar_t *_String);errno_t __cdecl _wcsset_s(wchar_t *_Destination, size_t _SizeInWords, wchar_t _Value);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcsset(wchar_t *_String, wchar_t _Value);errno_t __cdecl _wcslwr_s(wchar_t *_String, size_t _SizeInWords);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcslwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcslwr(wchar_t *_String);errno_t __cdecl _wcslwr_s_l(wchar_t *_String, size_t _SizeInWords, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcslwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcslwr_l(wchar_t *_String, _locale_t _Locale);errno_t __cdecl _wcsupr_s(wchar_t *_String, size_t _Size);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcsupr(wchar_t *_String);errno_t __cdecl _wcsupr_s_l(wchar_t *_String, size_t _Size, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) wchar_t *__cdecl _wcsupr_l(wchar_t *_String, _locale_t _Locale);size_t __cdecl wcsxfrm(wchar_t *_Destination, wchar_t const *_Source, size_t _MaxCount);size_t __cdecl _wcsxfrm_l(wchar_t *_Destination, wchar_t const *_Source, size_t _MaxCount, _locale_t _Locale);int __cdecl wcscoll(wchar_t const *_String1, wchar_t const *_String2);int __cdecl _wcscoll_l(wchar_t const *_String1, wchar_t const *_String2, _locale_t _Locale);int __cdecl _wcsicoll(wchar_t const *_String1, wchar_t const *_String2);int __cdecl _wcsicoll_l(wchar_t const *_String1, wchar_t const *_String2, _locale_t _Locale);int __cdecl _wcsncoll(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount);int __cdecl _wcsncoll_l(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount, _locale_t _Locale);int __cdecl _wcsnicoll(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount);int __cdecl _wcsnicoll_l(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount, _locale_t _Locale);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsdup" ". See online help for details.")) wchar_t *__cdecl wcsdup(wchar_t const *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsicmp" ". See online help for details.")) int __cdecl wcsicmp(wchar_t const *_String1, wchar_t const *_String2);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsnicmp" ". See online help for details.")) int __cdecl wcsnicmp(wchar_t const *_String1, wchar_t const *_String2, size_t _MaxCount);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsnset" ". See online help for details.")) wchar_t *__cdecl wcsnset(wchar_t *_String, wchar_t _Value, size_t _MaxCount);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsrev" ". See online help for details.")) wchar_t *__cdecl wcsrev(wchar_t *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsset" ". See online help for details.")) wchar_t *__cdecl wcsset(wchar_t *_String, wchar_t _Value);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcslwr" ". See online help for details.")) wchar_t *__cdecl wcslwr(wchar_t *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsupr" ". See online help for details.")) wchar_t *__cdecl wcsupr(wchar_t *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsicoll" ". See online help for details.")) int __cdecl wcsicoll(wchar_t const *_String1, wchar_t const *_String2);__pragma(pack(pop))#pragma warning(pop) #pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) errno_t __cdecl strcpy_s(char *_Destination, rsize_t _SizeInBytes, char const *_Source);errno_t __cdecl strcat_s(char *_Destination, rsize_t _SizeInBytes, char const *_Source);errno_t __cdecl strerror_s(char *_Buffer, size_t _SizeInBytes, int _ErrorNumber);errno_t __cdecl strncat_s(char *_Destination, rsize_t _SizeInBytes, char const *_Source, rsize_t _MaxCount);errno_t __cdecl strncpy_s(char *_Destination, rsize_t _SizeInBytes, char const *_Source, rsize_t _MaxCount);char *__cdecl strtok_s(char *_String, char const *_Delimiter, char **_Context);void *__cdecl _memccpy(void *_Dst, void const *_Src, int _Val, size_t _MaxCount);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strcat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strcat(char *_Destination, char const *_Source);int __cdecl strcmp(char const *_Str1, char const *_Str2);int __cdecl _strcmpi(char const *_String1, char const *_String2);int __cdecl strcoll(char const *_String1, char const *_String2);int __cdecl _strcoll_l(char const *_String1, char const *_String2, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strcpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strcpy(char *_Destination, char const *_Source);size_t __cdecl strcspn(char const *_Str, char const *_Control);__declspec(allocator) char *__cdecl _strdup(char const *_Source);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strerror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strerror(char const *_ErrorMessage);errno_t __cdecl _strerror_s(char *_Buffer, size_t _SizeInBytes, char const *_ErrorMessage);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strerror(int _ErrorMessage);int __cdecl _stricmp(char const *_String1, char const *_String2);int __cdecl _stricoll(char const *_String1, char const *_String2);int __cdecl _stricoll_l(char const *_String1, char const *_String2, _locale_t _Locale);int __cdecl _stricmp_l(char const *_String1, char const *_String2, _locale_t _Locale);size_t __cdecl strlen(char const *_Str);errno_t __cdecl _strlwr_s(char *_String, size_t _Size);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strlwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strlwr(char *_String);errno_t __cdecl _strlwr_s_l(char *_String, size_t _Size, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strlwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strlwr_l(char *_String, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strncat(char *_Destination, char const *_Source, size_t _Count);int __cdecl strncmp(char const *_Str1, char const *_Str2, size_t _MaxCount);int __cdecl _strnicmp(char const *_String1, char const *_String2, size_t _MaxCount);int __cdecl _strnicmp_l(char const *_String1, char const *_String2, size_t _MaxCount, _locale_t _Locale);int __cdecl _strnicoll(char const *_String1, char const *_String2, size_t _MaxCount);int __cdecl _strnicoll_l(char const *_String1, char const *_String2, size_t _MaxCount, _locale_t _Locale);int __cdecl _strncoll(char const *_String1, char const *_String2, size_t _MaxCount);int __cdecl _strncoll_l(char const *_String1, char const *_String2, size_t _MaxCount, _locale_t _Locale);size_t __cdecl __strncnt(char const *_String, size_t _Count);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strncpy(char *_Destination, char const *_Source, size_t _Count);size_t __cdecl strnlen(char const *_String, size_t _MaxCount);static __inline size_t __cdecl strnlen_s(char const *_String, size_t _MaxCount) { return _String==0 ? 0 :strnlen(_String, _MaxCount);} errno_t __cdecl _strnset_s(char *_String, size_t _SizeInBytes, int _Value, size_t _MaxCount);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strnset(char *_Destination, int _Value, size_t _Count);char *__cdecl strpbrk(char const *_Str, char const *_Control);char *__cdecl _strrev(char *_Str);errno_t __cdecl _strset_s(char *_Destination, size_t _DestinationSize, int _Value);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strset(char *_Destination, int _Value);size_t __cdecl strspn(char const *_Str, char const *_Control);__declspec(deprecated("This function or variable may be unsafe. Consider using " "strtok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl strtok(char *_String, char const *_Delimiter);errno_t __cdecl _strupr_s(char *_String, size_t _Size);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strupr(char *_String);errno_t __cdecl _strupr_s_l(char *_String, size_t _Size, _locale_t _Locale);__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char *__cdecl _strupr_l(char *_String, _locale_t _Locale);size_t __cdecl strxfrm(char *_Destination, char const *_Source, size_t _MaxCount);size_t __cdecl _strxfrm_l(char *_Destination, char const *_Source, size_t _MaxCount, _locale_t _Locale);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strdup" ". See online help for details.")) char *__cdecl strdup(char const *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strcmpi" ". See online help for details.")) int __cdecl strcmpi(char const *_String1, char const *_String2);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_stricmp" ". See online help for details.")) int __cdecl stricmp(char const *_String1, char const *_String2);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strlwr" ". See online help for details.")) char *__cdecl strlwr(char *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strnicmp" ". See online help for details.")) int __cdecl strnicmp(char const *_String1, char const *_String2, size_t _MaxCount);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strnset" ". See online help for details.")) char *__cdecl strnset(char *_String, int _Value, size_t _MaxCount);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strrev" ". See online help for details.")) char *__cdecl strrev(char *_String);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strset" ". See online help for details.")) char *__cdecl strset(char *_String, int _Value);__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strupr" ". See online help for details.")) char *__cdecl strupr(char *_String);__pragma(pack(pop))#pragma warning(pop) #pragma once#pragma warning(push)#pragma warning(disable:4514 4820) __pragma(pack(push, 8)) __pragma(pack(pop))#pragma warning(pop) #pragma once#pragma warning(push)#pragma warning(disable:4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) typedef unsigned short _ino_t;typedef _ino_t ino_t;#line 24 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\sys/types.h" typedef unsigned int _dev_t;typedef _dev_t dev_t;#line 36 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\sys/types.h" typedef long _off_t;typedef _off_t off_t;#line 48 "C:/Program Files (x86)/Windows Kits/10/include/10.0.19041.0/ucrt\\sys/types.h"#pragma warning(pop) typedef char *sds;#pragma pack(push, 1) struct sdshdr5 { unsigned char flags;char buf[];};struct sdshdr8 { uint8_t len;uint8_t alloc;unsigned char flags;char buf[];};struct sdshdr16 { uint16_t len;uint16_t alloc;unsigned char flags;char buf[];};struct sdshdr32 { uint32_t len;uint32_t alloc;unsigned char flags;char buf[];};struct sdshdr64 { uint64_t len;uint64_t alloc;unsigned char flags;char buf[];};#pragma pack(pop) static inline size_t sdslen(const sds s) { unsigned char flags=s[-1];switch(flags &7) { case 0 :return((flags) >> 3) ;case 1 :return((struct sdshdr8 *)((s) -(sizeof(struct sdshdr8)))) ->len;case 2 :return((struct sdshdr16 *)((s) -(sizeof(struct sdshdr16)))) ->len;case 3 :return((struct sdshdr32 *)((s) -(sizeof(struct sdshdr32)))) ->len;case 4 :return((struct sdshdr64 *)((s) -(sizeof(struct sdshdr64)))) ->len;} return 0;}static inline size_t sdsavail(const sds s) { unsigned char flags=s[-1];switch(flags &7) { case 0 :{ return 0;} case 1 :{ struct sdshdr8 *sh=(void *)((s) -(sizeof(struct sdshdr8)));;return sh->alloc - sh->len;} case 2 :{ struct sdshdr16 *sh=(void *)((s) -(sizeof(struct sdshdr16)));;return sh->alloc - sh->len;} case 3 :{ struct sdshdr32 *sh=(void *)((s) -(sizeof(struct sdshdr32)));;return sh->alloc - sh->len;} case 4 :{ struct sdshdr64 *sh=(void *)((s) -(sizeof(struct sdshdr64)));;return sh->alloc - sh->len;} } return 0;}static inline void sdssetlen(sds s, size_t newlen) { unsigned char flags=s[-1];switch(flags &7) { case 0 :{ unsigned char *fp=((unsigned char *) s) - 1;*fp=0|(newlen<< 3);} break;case 1 :((struct sdshdr8 *)((s) -(sizeof(struct sdshdr8)))) ->len=(uint8_t) newlen;break;case 2 :((struct sdshdr16 *)((s) -(sizeof(struct sdshdr16)))) ->len=(uint16_t) newlen;break;case 3 :((struct sdshdr32 *)((s) -(sizeof(struct sdshdr32)))) -> len
Definition: CPAL.d:15583
double __cdecl fmod(double _X, double _Y)
double __cdecl pow(double _X, double _Y)
div_t __cdecl div(int _Numerator, int _Denominator)
int ptrdiff_t
Definition: CPAL.d:3845
#define width(a)
Definition: aptex-macros.h:198
double mod(double, int)
Definition: axohelp.c:326
int cmp(const void *p, const void *q)
Definition: bkmk2uni.c:1611
#define mrb_integer(o)
Definition: boxing_nan.h:71
#define mrb_string_p(o)
Definition: boxing_word.h:153
#define mrb_integer_p(o)
Definition: boxing_word.h:139
#define mrb_float_p(o)
Definition: boxing_word.h:150
#define mrb_nil_p(o)
Definition: boxing_word.h:146
MRB_INLINE enum mrb_vtype mrb_type(mrb_value o)
Definition: boxing_word.h:195
#define INFINITY
static void step(struct edge *edge)
#define MRB_SET_INSTANCE_TT(c, tt)
Definition: class.h:73
#define n
Definition: t4ht.c:1290
#define b
Definition: jpegint.h:372
#define MRB_SYM(name)
Definition: disable.h:20
int z
Definition: dviconv.c:26
int v
Definition: dviconv.c:10
mpz_t * f
Definition: gen-fib.c:34
#define v1
#define v2
__gmp_expr< mpf_t, __gmp_unary_expr< __gmp_expr< mpf_t, U >, __gmp_ceil_function > > ceil(const __gmp_expr< mpf_t, U > &expr)
Definition: gmpxx.h:3340
#define c(n)
Definition: gpos-common.c:150
#define a(n)
Definition: gpos-common.c:148
#define d(n)
Definition: gpos-common.c:151
int base
Definition: gsftopk.c:1502
#define memmove(d, s, n)
Definition: gsftopk.c:65
#define memcpy(d, s, n)
Definition: gsftopk.c:64
#define NULL
Definition: ftobjs.h:61
small capitals from c petite p
Definition: afcover.h:72
small capitals from c petite p scientific i
Definition: afcover.h:80
void exit()
kerning y
Definition: ttdriver.c:212
signed __int64 int64_t
Definition: stdint.h:89
#define INT64_MIN
Definition: stdint.h:138
#define INT64_MAX
Definition: stdint.h:139
int num
Definition: disdvi.c:621
#define buf
#define trunc(v)
Definition: numbers.h:96
int numeric(char c)
Definition: sort.c:236
#define floor(x)
Definition: cpascal.h:52
#define E_TYPE_ERROR
Definition: mruby.h:1308
void mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt,...)
Definition: error.c:400
mrb_value mrb_funcall_id(mrb_state *mrb, mrb_value val, mrb_sym mid, mrb_int argc,...)
Definition: vm.c:337
#define E_RANGE_ERROR
Definition: mruby.h:1312
#define mrb_str_new_lit(mrb, lit)
Definition: mruby.h:1136
#define MRB_ARGS_OPT(n)
Definition: mruby.h:845
mrb_value mrb_get_arg1(mrb_state *mrb)
Definition: class.c:840
#define mrb_assert(p)
Definition: mruby.h:65
#define E_ZERODIV_ERROR
Definition: mruby.h:1309
mrb_int mrb_get_args(mrb_state *mrb, mrb_args_format format,...)
Definition: class.c:891
void mrb_raise(mrb_state *mrb, struct RClass *c, const char *msg)
Definition: error.c:214
#define E_FLOATDOMAIN_ERROR
Definition: mruby.h:1323
mrb_value mrb_str_new(mrb_state *mrb, const char *p, size_t len)
Definition: string.c:197
#define MRB_ARGS_NONE()
Definition: mruby.h:879
#define MRB_ARGS_REQ(n)
Definition: mruby.h:837
void mrb_define_const_id(mrb_state *mrb, struct RClass *cla, mrb_sym name, mrb_value val)
Definition: variable.c:864
void mrb_undef_class_method(mrb_state *mrb, struct RClass *cls, const char *name)
Definition: class.c:2308
mrb_value mrb_type_convert(mrb_state *mrb, mrb_value val, enum mrb_vtype type, mrb_sym method)
Definition: object.c:373
mrb_value mrb_Float(mrb_state *mrb, mrb_value val)
Definition: object.c:572
#define E_ARGUMENT_ERROR
Definition: mruby.h:1310
@ other
Definition: mtxline.h:22
float x
Definition: cordic.py:15
static mrb_value int_to_s(mrb_state *mrb, mrb_value self)
Definition: numeric.c:1442
static mrb_value num_gt(mrb_state *mrb, mrb_value self)
Definition: numeric.c:1544
mrb_int mrb_cmp(mrb_state *mrb, mrb_value obj1, mrb_value obj2)
Definition: numeric.c:1568
static void cmperr(mrb_state *mrb, mrb_value v1, mrb_value v2)
Definition: numeric.c:1514
static mrb_value int_to_f(mrb_state *mrb, mrb_value num)
Definition: numeric.c:1239
static mrb_value int_to_i(mrb_state *mrb, mrb_value num)
Definition: numeric.c:866
static mrb_value int64_value(mrb_state *mrb, int64_t v)
Definition: numeric.c:514
mrb_value mrb_fixnum_to_str(mrb_state *mrb, mrb_value x, mrb_int base)
Definition: numeric.c:1394
static mrb_value num_le(mrb_state *mrb, mrb_value self)
Definition: numeric.c:1532
static mrb_value flo_xor(mrb_state *mrb, mrb_value x)
Definition: numeric.c:552
static mrb_value flo_rshift(mrb_state *mrb, mrb_value x)
Definition: numeric.c:607
static mrb_value flo_round(mrb_state *mrb, mrb_value num)
Definition: numeric.c:768
static mrb_int cmpnum(mrb_state *mrb, mrb_value v1, mrb_value v2)
Definition: numeric.c:1452
static mrb_value flo_divmod(mrb_state *mrb, mrb_value x)
Definition: numeric.c:1018
static mrb_value flo_idiv(mrb_state *mrb, mrb_value xv)
Definition: numeric.c:228
static mrb_value int_divmod(mrb_state *mrb, mrb_value x)
Definition: numeric.c:991
static int64_t value_int64(mrb_state *mrb, mrb_value x)
Definition: numeric.c:493
mrb_value mrb_num_mul(mrb_state *mrb, mrb_value x, mrb_value y)
Definition: numeric.c:895
static void flodivmod(mrb_state *mrb, double x, double y, mrb_float *divp, mrb_float *modp)
Definition: numeric.c:370
static mrb_value flo_to_f(mrb_state *mrb, mrb_value num)
Definition: numeric.c:634
static mrb_value flo_mod(mrb_state *mrb, mrb_value x)
Definition: numeric.c:423
static mrb_value flo_pow(mrb_state *mrb, mrb_value x)
Definition: numeric.c:220
mrb_value mrb_num_plus(mrb_state *mrb, mrb_value x, mrb_value y)
Definition: numeric.c:1306
static mrb_value flo_infinite_p(mrb_state *mrb, mrb_value num)
Definition: numeric.c:653
static mrb_value int_div(mrb_state *mrb, mrb_value xv)
Definition: numeric.c:154
static void fixdivmod(mrb_state *mrb, mrb_int x, mrb_int y, mrb_int *divp, mrb_int *modp)
Definition: numeric.c:928
static mrb_value flo_minus(mrb_state *mrb, mrb_value x)
Definition: numeric.c:345
static mrb_value num_infinite_p(mrb_state *mrb, mrb_value self)
Definition: numeric.c:1595
static mrb_value lshift(mrb_state *mrb, mrb_int val, mrb_int width)
Definition: numeric.c:1144
static mrb_value fixnum_plus(mrb_state *mrb, mrb_value x, mrb_value y)
Definition: numeric.c:1283
static mrb_value fixnum_minus(mrb_state *mrb, mrb_value x, mrb_value y)
Definition: numeric.c:1338
static mrb_value int_rshift(mrb_state *mrb, mrb_value x)
Definition: numeric.c:1211
static mrb_value int_mul(mrb_state *mrb, mrb_value x)
Definition: numeric.c:920
static mrb_value rshift(mrb_state *mrb, mrb_int val, mrb_int width)
Definition: numeric.c:1164
static mrb_value fixnum_mul(mrb_state *mrb, mrb_value x, mrb_value y)
Definition: numeric.c:872
mrb_int mrb_num_div_int(mrb_state *mrb, mrb_int x, mrb_int y)
Definition: numeric.c:123
static mrb_value flo_shift(mrb_state *mrb, mrb_value x, mrb_int width)
Definition: numeric.c:563
static mrb_value num_ge(mrb_state *mrb, mrb_value self)
Definition: numeric.c:1556
static mrb_value flo_eql(mrb_state *mrb, mrb_value x)
Definition: numeric.c:456
static mrb_value flo_mul(mrb_state *mrb, mrb_value x)
Definition: numeric.c:362
static mrb_value num_cmp(mrb_state *mrb, mrb_value self)
Definition: numeric.c:1503
static mrb_value flo_and(mrb_state *mrb, mrb_value x)
Definition: numeric.c:530
static mrb_value int_equal(mrb_state *mrb, mrb_value x)
Definition: numeric.c:1044
static mrb_value int_plus(mrb_state *mrb, mrb_value self)
Definition: numeric.c:1330
mrb_float mrb_to_flo(mrb_state *mrb, mrb_value val)
Definition: numeric.c:36
void mrb_init_numeric(mrb_state *mrb)
Definition: numeric.c:1620
mrb_float mrb_num_div_flo(mrb_state *mrb, mrb_float x, mrb_float y)
Definition: numeric.c:238
mrb_value mrb_flo_to_fixnum(mrb_state *mrb, mrb_value x)
Definition: numeric.c:1259
void mrb_check_num_exact(mrb_state *mrb, mrb_float num)
Definition: numeric.c:681
static mrb_value flo_rev(mrb_state *mrb, mrb_value x)
Definition: numeric.c:523
static mrb_value int_rev(mrb_state *mrb, mrb_value num)
Definition: numeric.c:1072
static mrb_value int_or(mrb_state *mrb, mrb_value x)
Definition: numeric.c:1118
static mrb_value int_minus(mrb_state *mrb, mrb_value self)
Definition: numeric.c:1385
static mrb_value int_and(mrb_state *mrb, mrb_value x)
Definition: numeric.c:1102
static mrb_value int_mod(mrb_state *mrb, mrb_value x)
Definition: numeric.c:960
static mrb_value coerce_step_counter(mrb_state *mrb, mrb_value self)
Definition: numeric.c:194
static mrb_value flo_div(mrb_state *mrb, mrb_value xv)
Definition: numeric.c:254
static void int_overflow(mrb_state *mrb, const char *reason)
Definition: numeric.c:56
static mrb_value num_finite_p(mrb_state *mrb, mrb_value self)
Definition: numeric.c:1589
static mrb_value flo_to_s(mrb_state *mrb, mrb_value flt)
Definition: numeric.c:280
static mrb_value int_xor(mrb_state *mrb, mrb_value x)
Definition: numeric.c:1134
#define bit_op(x, y, op1, op2)
Definition: numeric.c:1087
static mrb_value flo_plus(mrb_state *mrb, mrb_value x)
Definition: numeric.c:1610
static mrb_value int_pow(mrb_state *mrb, mrb_value x)
Definition: numeric.c:77
static mrb_value flo_nan_p(mrb_state *mrb, mrb_value num)
Definition: numeric.c:843
static mrb_value flo_truncate(mrb_state *mrb, mrb_value num)
Definition: numeric.c:831
static mrb_value flo_lshift(mrb_state *mrb, mrb_value x)
Definition: numeric.c:617
#define FLO_TO_STR_PREC
Definition: numeric.c:30
static mrb_value int_lshift(mrb_state *mrb, mrb_value x)
Definition: numeric.c:1185
static mrb_value flo_eq(mrb_state *mrb, mrb_value x)
Definition: numeric.c:478
static mrb_value flo_ceil(mrb_state *mrb, mrb_value num)
Definition: numeric.c:728
static mrb_value num_lt(mrb_state *mrb, mrb_value self)
Definition: numeric.c:1520
static mrb_value flo_floor(mrb_state *mrb, mrb_value num)
Definition: numeric.c:705
mrb_value mrb_num_minus(mrb_state *mrb, mrb_value x, mrb_value y)
Definition: numeric.c:1360
#define NUMERIC_SHIFT_WIDTH_MAX
Definition: numeric.c:1141
static mrb_value int_eql(mrb_state *mrb, mrb_value x)
Definition: numeric.c:446
static mrb_value flo_or(mrb_state *mrb, mrb_value x)
Definition: numeric.c:541
static void int_zerodiv(mrb_state *mrb)
Definition: numeric.c:62
static mrb_value int_quo(mrb_state *mrb, mrb_value xv)
Definition: numeric.c:172
static mrb_value flo_finite_p(mrb_state *mrb, mrb_value num)
Definition: numeric.c:675
mrb_value mrb_float_to_str(mrb_state *mrb, mrb_value x, const char *fmt)
Definition: fmt_fp.c:449
#define TYPED_FIXABLE(f, t)
Definition: numeric.h:21
static mrb_bool mrb_int_add_overflow(mrb_int a, mrb_int b, mrb_int *c)
Definition: numeric.h:96
static mrb_bool mrb_int_sub_overflow(mrb_int a, mrb_int b, mrb_int *c)
Definition: numeric.h:106
#define FIXABLE_FLOAT(f)
Definition: numeric.h:29
static mrb_bool mrb_int_mul_overflow(mrb_int a, mrb_int b, mrb_int *c)
Definition: numeric.h:116
int integer
Definition: pbmtopk.c:38
#define round(a)
Definition: pbmtopk.c:22
static char reason[256]
Definition: pdfsig.cc:141
set set set set set set set set set set set set set set set set set set set set *set set set macro pixldst op &r &cond WK op &r &cond WK op &r &cond WK else op &m &cond &ia op &r &cond WK else op &m &cond &ia elseif elseif else error unsupported base if elseif elseif else error unsupported unaligned pixldst unaligned endm macro pixst base base else pixldst base endif endm macro PF base if bpp PF set rept prefetch_distance PF set OFFSET endr endif endm macro preload_leading_step2 base if bpp ifc DST PF PF else if bpp lsl PF and
mrb_value mrb_assoc_new(mrb_state *mrb, mrb_value car, mrb_value cdr)
Definition: array.c:101
#define MRB_API
Definition: common.h:73
#define mrb_noreturn
Definition: common.h:44
#define mrb_define_method(mrb, c, name, f, a)
Definition: scanning.h:15
#define mrb_define_class(mrb, name, s)
Definition: scanning.h:18
#define mrb_define_const(mrb, c, name, v)
Definition: scanning.h:23
#define MRB_STRINGIZE(expr)
Definition: version.h:25
#define str(s)
Definition: sh6.c:399
const char mrb_digitmap[]
Definition: string.c:33
#define mrb_str_ptr(s)
Definition: string.h:98
mrb_value mrb_str_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len)
Definition: string.c:2669
#define RSTRING_LEN(s)
Definition: string.h:102
#define RSTRING_PTR(s)
Definition: string.h:100
#define RSTR_SET_ASCII_FLAG(s)
Definition: string.h:89
int mrb_str_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2)
Definition: string.c:981
Definition: class.h:17
struct RClass * object_class
Definition: mruby.h:242
struct RClass * float_class
Definition: mruby.h:252
struct RClass * integer_class
Definition: mruby.h:254
Definition: strexpr.c:21
int number
Definition: t1part.c:207
char fmt[256]
Definition: tex4ht.c:3925
val
Definition: tex4ht.c:3227
return() int(((double) *(font_tbl[cur_fnt].wtbl+(int)(*(font_tbl[cur_fnt].char_wi+(int)(ch - font_tbl[cur_fnt].char_f)% 256)))/(double)(1L<< 20)) *(double) font_tbl[cur_fnt].scale)
Definition: obx.h:51
static mrb_value mrb_true_value(void)
Definition: value.h:352
#define MRB_INT_BIT
Definition: value.h:66
int32_t mrb_int
Definition: value.h:35
static mrb_value mrb_false_value(void)
Definition: value.h:342
static mrb_value mrb_nil_value(void)
Definition: value.h:332
static mrb_value mrb_bool_value(mrb_bool boolean)
Definition: value.h:360
static mrb_value mrb_float_value(struct mrb_state *mrb, mrb_float f)
Definition: value.h:273
double mrb_float
Definition: value.h:85
@ MRB_TT_TRUE
Definition: value.h:109
@ MRB_TT_STRING
Definition: value.h:124
@ MRB_TT_FALSE
Definition: value.h:108
@ MRB_TT_FLOAT
Definition: value.h:110
@ MRB_TT_INTEGER
Definition: value.h:111
static mrb_value mrb_fixnum_value(mrb_int i)
Definition: value.h:301
#define MRB_INT_MAX
Definition: value.h:68
static mrb_value mrb_int_value(struct mrb_state *mrb, mrb_int i)
Definition: value.h:294
static mrb_value mrb_obj_value(void *p)
Definition: value.h:317
#define MRB_INT_MIN
Definition: value.h:67