1 (* Copyright (C
) 2017 Matthew Fluet
.
2 * Copyright (C
) 1999-2006 Henry Cejtin
, Matthew Fluet
, Suresh
3 * Jagannathan
, and Stephen Weeks
.
4 * Copyright (C
) 1997-2000 NEC Research Institute
.
6 * MLton is released under a BSD
-style license
.
7 * See the file MLton
-LICENSE for details
.
10 functor UnsafeMonoArray (A
: MONO_ARRAY_EXTRA
): UNSAFE_MONO_ARRAY
=
15 val update
= unsafeUpdate
16 val create
= fromPoly
o Array
.unsafeAlloc
19 functor UnsafeMonoVector (V
: MONO_VECTOR_EXTRA
): UNSAFE_MONO_VECTOR
=
26 functor UnsafePackWord(PW
: PACK_WORD_EXTRA
) : PACK_WORD
=
29 val subVec
= unsafeSubVec
30 val subVecX
= unsafeSubVecX
31 val subArr
= unsafeSubArr
32 val subArrX
= unsafeSubArrX
33 val update
= unsafeUpdate
36 functor UnsafePackReal(PW
: PACK_REAL_EXTRA
) : PACK_REAL
=
39 val subVec
= unsafeSubVec
40 val subArr
= unsafeSubArr
41 val update
= unsafeUpdate
44 (* This is here so that the code generated by Lex
and Yacc will work
. *)
45 structure Unsafe
: UNSAFE
=
49 val alloc
= Array
.unsafeAlloc
50 val sub
= Array
.unsafeSub
51 val uninitIsNop
= Array
.uninitIsNop
52 val uninit
= Array
.unsafeUninit
53 val update
= Array
.unsafeUpdate
54 val create
= Array
.unsafeArray
55 structure Raw
= Array
.Raw
58 type 'a rawarr
= 'a Raw
.rawarr
59 val alloc
= Raw
.unsafeAlloc
60 val toArray
= Raw
.unsafeToArray
61 val uninitIsNop
= Raw
.uninitIsNop
62 val uninit
= Raw
.unsafeUninit
65 structure BoolArray
= UnsafeMonoArray (BoolArray
)
66 structure BoolVector
= UnsafeMonoVector (BoolVector
)
67 structure CharArray
= UnsafeMonoArray (CharArray
)
68 structure CharVector
= UnsafeMonoVector (CharVector
)
69 structure IntArray
= UnsafeMonoArray (IntArray
)
70 structure IntVector
= UnsafeMonoVector (IntVector
)
71 structure Int8Array
= UnsafeMonoArray (Int8Array
)
72 structure Int8Vector
= UnsafeMonoVector (Int8Vector
)
73 structure Int16Array
= UnsafeMonoArray (Int16Array
)
74 structure Int16Vector
= UnsafeMonoVector (Int16Vector
)
75 structure Int32Array
= UnsafeMonoArray (Int32Array
)
76 structure Int32Vector
= UnsafeMonoVector (Int32Vector
)
77 structure Int64Array
= UnsafeMonoArray (Int64Array
)
78 structure Int64Vector
= UnsafeMonoVector (Int64Vector
)
79 structure IntInfArray
= UnsafeMonoArray (IntInfArray
)
80 structure IntInfVector
= UnsafeMonoVector (IntInfVector
)
81 structure LargeIntArray
= UnsafeMonoArray (LargeIntArray
)
82 structure LargeIntVector
= UnsafeMonoVector (LargeIntVector
)
83 structure LargeRealArray
= UnsafeMonoArray (LargeRealArray
)
84 structure LargeRealVector
= UnsafeMonoVector (LargeRealVector
)
85 structure LargeWordArray
= UnsafeMonoArray (LargeWordArray
)
86 structure LargeWordVector
= UnsafeMonoVector (LargeWordVector
)
87 structure RealArray
= UnsafeMonoArray (RealArray
)
88 structure RealVector
= UnsafeMonoVector (RealVector
)
89 structure Real32Array
= UnsafeMonoArray (Real32Array
)
90 structure Real32Vector
= UnsafeMonoVector (Real32Vector
)
91 structure Real64Array
= UnsafeMonoArray (Real64Array
)
92 structure Real64Vector
= UnsafeMonoVector (Real64Vector
)
95 val sub
= Vector.unsafeSub
97 structure WordArray
= UnsafeMonoArray (WordArray
)
98 structure WordVector
= UnsafeMonoVector (WordVector
)
99 structure Word8Array
= UnsafeMonoArray (Word8Array
)
100 structure Word8Vector
= UnsafeMonoVector (Word8Vector
)
101 structure Word16Array
= UnsafeMonoArray (Word16Array
)
102 structure Word16Vector
= UnsafeMonoVector (Word16Vector
)
103 structure Word32Array
= UnsafeMonoArray (Word32Array
)
104 structure Word32Vector
= UnsafeMonoVector (Word32Vector
)
105 structure Word64Array
= UnsafeMonoArray (Word64Array
)
106 structure Word64Vector
= UnsafeMonoVector (Word64Vector
)
107 structure PackReal32Big
= UnsafePackReal(PackReal32Big
)
108 structure PackReal32Little
= UnsafePackReal(PackReal32Little
)
109 structure PackReal64Big
= UnsafePackReal(PackReal64Big
)
110 structure PackReal64Little
= UnsafePackReal(PackReal64Little
)
111 structure PackRealBig
= UnsafePackReal(PackRealBig
)
112 structure PackRealLittle
= UnsafePackReal(PackRealLittle
)
113 structure PackWord16Big
= UnsafePackWord(PackWord16Big
)
114 structure PackWord16Little
= UnsafePackWord(PackWord16Little
)
115 structure PackWord32Big
= UnsafePackWord(PackWord32Big
)
116 structure PackWord32Little
= UnsafePackWord(PackWord32Little
)
117 structure PackWord64Big
= UnsafePackWord(PackWord64Big
)
118 structure PackWord64Little
= UnsafePackWord(PackWord64Little
)