~npalix/coccinelle/upstream

« back to all changes in this revision

Viewing changes to bundles/stdcompat/stdcompat-current/stdcompat__pervasives.ml.in

  • Committer: Thierry Martinez
  • Date: 2019-08-20 13:37:04 UTC
  • Revision ID: git-v1:0214afad4a32c95349c2c5a38e37cea407c455d0
Update bundles

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
include Pervasives
 
2
 
 
3
@BEGIN_BEFORE_4_03_0@
 
4
type ('a, 'b) result
 
5
  = ('a, 'b) Stdcompat__init.result
 
6
  = Ok of 'a | Error of 'b
 
7
@END_BEFORE_4_03_0@
 
8
 
 
9
@BEGIN_BEFORE_4_02_0@
 
10
external raise_notrace : exn -> 'a = "%raise"
 
11
@END_BEFORE_4_02_0@
 
12
 
 
13
@BEGIN_BEFORE_4_05_0@
 
14
let bool_of_string_opt s =
 
15
  Stdcompat__tools.option_invalid bool_of_string s
 
16
 
 
17
let int_of_string_opt s =
 
18
  Stdcompat__tools.option_fail int_of_string s
 
19
 
 
20
let float_of_string_opt s =
 
21
  Stdcompat__tools.option_fail float_of_string s
 
22
 
 
23
let read_int_opt () =
 
24
  Stdcompat__tools.option_fail read_int ()
 
25
 
 
26
let read_float_opt () =
 
27
  Stdcompat__tools.option_fail read_float ()
 
28
@END_BEFORE_4_05_0@
 
29
 
 
30
@BEGIN_BEFORE_4_02_0@
 
31
let print_bytes = print_string
 
32
 
 
33
let prerr_bytes = prerr_string
 
34
 
 
35
let output_bytes = output_string
 
36
 
 
37
let output_substring = output
 
38
 
 
39
let really_input_string channel len =
 
40
  let s = String.create len in
 
41
  really_input channel s 0 len;
 
42
  s
 
43
 
 
44
type ('a, 'b, 'c, 'd, 'e, 'f) format6 =
 
45
  ('a, 'b, 'c, 'd, 'e, 'f) Stdcompat__init.format6
 
46
 
 
47
@BEGIN_BEFORE_3_10_0@
 
48
type ('a, 'b, 'c, 'd) format4 =
 
49
  ('a, 'b, 'c, 'c, 'c, 'd) format6
 
50
@END_BEFORE_3_10_0@
 
51
 
 
52
let __LOC__ = ""
 
53
 
 
54
let __MODULE__ = ""
 
55
 
 
56
let __POS__ = ("", 0, 0, 0)
 
57
 
 
58
let __LOC_OF__ x = (__LOC__, x)
 
59
 
 
60
let __LINE__ = 0
 
61
 
 
62
let __FILE__ = ""
 
63
 
 
64
let __LINE_OF__ x = (0, x)
 
65
 
 
66
let __POS_OF__ x = (__POS__, x)
 
67
@END_BEFORE_4_02_0@
 
68
 
 
69
@BEGIN_BEFORE_4_01_0@
 
70
let ( |> ) x f = f x
 
71
 
 
72
let ( @@ ) f x = f x
 
73
@END_BEFORE_4_01_0@
 
74
 
 
75
@BEGIN_BEFORE_4_00_0@
 
76
let hypot x y =
 
77
  sqrt (x *. x +. y *. y)
 
78
 
 
79
let copysign x y =
 
80
  if (x >= 0.) = (y >= 0.) then
 
81
    x
 
82
  else
 
83
    -. x
 
84
@END_BEFORE_4_00_0@
 
85
 
 
86
@BEGIN_BEFORE_3_12_0@
 
87
external (~+) : int -> int = "%identity"
 
88
 
 
89
external (~+.) : float -> float = "%identity"
 
90
 
 
91
(* These emulations of expm1() and log1p() are due to William Kahan.
 
92
   See http://www.plunk.org/~hatch/rightway.php *)
 
93
 
 
94
let expm1 x =
 
95
  let u = exp x in
 
96
  if u = 1. then
 
97
    x
 
98
  else if u -. 1. = -1. then
 
99
    -1.
 
100
  else
 
101
    (u -. 1.) *. x /. log u
 
102
 
 
103
let log1p x =
 
104
  let u = 1. +. x in
 
105
  if u = 1. then
 
106
    x
 
107
  else
 
108
    log u *. x /. (u -. 1.)
 
109
@END_BEFORE_3_12_0@