csharpfftfsharpintegrationinterpolationlinear-algebramathdifferentiationmatrixnumericsrandomregressionstatisticsmathnet
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.7 KiB
41 lines
1.7 KiB
// (c) Microsoft Corporation 2005-2009.
|
|
|
|
#if INTERNALIZED_POWER_PACK
|
|
module internal Internal.Utilities.Bytearray
|
|
#else
|
|
module Microsoft.FSharp.Compatibility.Bytearray
|
|
#endif
|
|
|
|
let compare (x:byte[]) y = compare x y
|
|
|
|
type bytearray = byte[]
|
|
let length (arr: byte[]) = Array.length arr
|
|
let get (arr: byte[]) (n:int) = Array.get arr n
|
|
let set (arr: byte[]) (n:int) (x:byte) = Array.set arr n x
|
|
let zero_create (n:int) : byte[]= Array.zeroCreate n
|
|
let make (n:int) = (zero_create n : byte[])
|
|
let create (n:int) = make n
|
|
let init (n:int) (f: int -> byte) = Array.init n f
|
|
let concat (arrs:byte[] list) = Array.concat arrs
|
|
let append arr1 arr2 = concat [arr1; arr2]
|
|
let sub (arr:byte[]) (start:int) (len:int) = Array.sub arr start len
|
|
let fill (arr:byte[]) (start:int) (len:int) (x:byte) = Array.fill arr start len x
|
|
let copy (arr:byte[]) = Array.copy arr
|
|
let blit (arr1:byte[]) (start1:int) (arr2: byte[]) (start2:int) (len:int) = Array.blit arr1 start1 arr2 start2 len
|
|
let to_list (arr:byte[]) = Array.to_list arr
|
|
let of_list (l:byte list) = Array.of_list l
|
|
let iter (f : byte -> unit) (arr:byte[]) = Array.iter f arr
|
|
let map (f: byte -> byte) (arr:byte[]) = Array.map f arr
|
|
let iteri (f : int -> byte -> unit) (arr:byte[]) = Array.iteri f arr
|
|
let mapi (f: int -> byte -> byte) (arr:byte[]) = Array.mapi f arr
|
|
let fold_left (f : 'State -> byte -> 'State) (acc: 'State) (arr:byte[]) = Array.fold f acc arr
|
|
let fold_right (f : byte -> 'State -> 'State) (arr:byte[]) (acc: 'State) = Array.foldBack f arr acc
|
|
|
|
type encoding = System.Text.Encoding
|
|
|
|
#if FX_NO_ASCII_ENCODING
|
|
#else
|
|
let ascii_to_string (b:byte[]) = System.Text.Encoding.ASCII.GetString(b,0,b.Length)
|
|
|
|
let string_to_ascii (s:string) = System.Text.Encoding.ASCII.GetBytes(s)
|
|
#endif
|
|
|