Commented in some quick sort tests

This commit is contained in:
Chad Stearns 2020-08-29 17:46:27 -04:00
parent 8547b7de89
commit d0587fa92c

View file

@ -1028,151 +1028,151 @@ mod gen_list {
}) })
} }
// #[test] #[test]
// fn foobar2() { fn foobar2() {
// with_larger_debug_stack(|| { with_larger_debug_stack(|| {
// assert_evals_to!( assert_evals_to!(
// indoc!( indoc!(
// r#" r#"
// quicksort : List (Num a) -> List (Num a) quicksort : List (Num a) -> List (Num a)
// quicksort = \list -> quicksort = \list ->
// quicksortHelp list 0 (List.len list - 1) quicksortHelp list 0 (List.len list - 1)
//
//
// quicksortHelp : List (Num a), Int, Int -> List (Num a) quicksortHelp : List (Num a), Int, Int -> List (Num a)
// quicksortHelp = \list, low, high -> quicksortHelp = \list, low, high ->
// if low < high then if low < high then
// when partition low high list is when partition low high list is
// Pair partitionIndex partitioned -> Pair partitionIndex partitioned ->
// partitioned partitioned
// |> quicksortHelp low (partitionIndex - 1) |> quicksortHelp low (partitionIndex - 1)
// |> quicksortHelp (partitionIndex + 1) high |> quicksortHelp (partitionIndex + 1) high
// else else
// list list
//
//
// swap : Int, Int, List a -> List a swap : Int, Int, List a -> List a
// swap = \i, j, list -> swap = \i, j, list ->
// when Pair (List.get list i) (List.get list j) is when Pair (List.get list i) (List.get list j) is
// Pair (Ok atI) (Ok atJ) -> Pair (Ok atI) (Ok atJ) ->
// list list
// |> List.set i atJ |> List.set i atJ
// |> List.set j atI |> List.set j atI
//
// _ -> _ ->
// [] []
//
// partition : Int, Int, List (Num a) -> [ Pair Int (List (Num a)) ] partition : Int, Int, List (Num a) -> [ Pair Int (List (Num a)) ]
// partition = \low, high, initialList -> partition = \low, high, initialList ->
// when List.get initialList high is when List.get initialList high is
// Ok pivot -> Ok pivot ->
// when partitionHelp (low - 1) low initialList high pivot is when partitionHelp (low - 1) low initialList high pivot is
// Pair newI newList -> Pair newI newList ->
// Pair (newI + 1) (swap (newI + 1) high newList) Pair (newI + 1) (swap (newI + 1) high newList)
//
// Err _ -> Err _ ->
// Pair (low - 1) initialList Pair (low - 1) initialList
//
//
// partitionHelp : Int, Int, List (Num a), Int, Int -> [ Pair Int (List (Num a)) ] partitionHelp : Int, Int, List (Num a), Int, Int -> [ Pair Int (List (Num a)) ]
// partitionHelp = \i, j, list, high, pivot -> partitionHelp = \i, j, list, high, pivot ->
// # if j < high then # if j < high then
// if False then if False then
// when List.get list j is when List.get list j is
// Ok value -> Ok value ->
// if value <= pivot then if value <= pivot then
// partitionHelp (i + 1) (j + 1) (swap (i + 1) j list) high pivot partitionHelp (i + 1) (j + 1) (swap (i + 1) j list) high pivot
// else else
// partitionHelp i (j + 1) list high pivot partitionHelp i (j + 1) list high pivot
//
// Err _ -> Err _ ->
// Pair i list Pair i list
// else else
// Pair i list Pair i list
//
//
//
// quicksort [ 7, 4, 21, 19 ] quicksort [ 7, 4, 21, 19 ]
// "# "#
// ), ),
// &[19, 7, 4, 21], &[19, 7, 4, 21],
// &'static [i64], &'static [i64]
// ); );
// }) })
// } }
// #[test] #[test]
// fn foobar() { fn foobar() {
// with_larger_debug_stack(|| { with_larger_debug_stack(|| {
// assert_evals_to!( assert_evals_to!(
// indoc!( indoc!(
// r#" r#"
// quicksort : List (Num a) -> List (Num a) quicksort : List (Num a) -> List (Num a)
// quicksort = \list -> quicksort = \list ->
// quicksortHelp list 0 (List.len list - 1) quicksortHelp list 0 (List.len list - 1)
//
//
// quicksortHelp : List (Num a), Int, Int -> List (Num a) quicksortHelp : List (Num a), Int, Int -> List (Num a)
// quicksortHelp = \list, low, high -> quicksortHelp = \list, low, high ->
// if low < high then if low < high then
// when partition low high list is when partition low high list is
// Pair partitionIndex partitioned -> Pair partitionIndex partitioned ->
// partitioned partitioned
// |> quicksortHelp low (partitionIndex - 1) |> quicksortHelp low (partitionIndex - 1)
// |> quicksortHelp (partitionIndex + 1) high |> quicksortHelp (partitionIndex + 1) high
// else else
// list list
//
//
// swap : Int, Int, List a -> List a swap : Int, Int, List a -> List a
// swap = \i, j, list -> swap = \i, j, list ->
// when Pair (List.get list i) (List.get list j) is when Pair (List.get list i) (List.get list j) is
// Pair (Ok atI) (Ok atJ) -> Pair (Ok atI) (Ok atJ) ->
// list list
// |> List.set i atJ |> List.set i atJ
// |> List.set j atI |> List.set j atI
//
// _ -> _ ->
// [] []
//
// partition : Int, Int, List (Num a) -> [ Pair Int (List (Num a)) ] partition : Int, Int, List (Num a) -> [ Pair Int (List (Num a)) ]
// partition = \low, high, initialList -> partition = \low, high, initialList ->
// when List.get initialList high is when List.get initialList high is
// Ok pivot -> Ok pivot ->
// when partitionHelp (low - 1) low initialList high pivot is when partitionHelp (low - 1) low initialList high pivot is
// Pair newI newList -> Pair newI newList ->
// Pair (newI + 1) (swap (newI + 1) high newList) Pair (newI + 1) (swap (newI + 1) high newList)
//
// Err _ -> Err _ ->
// Pair (low - 1) initialList Pair (low - 1) initialList
//
//
// partitionHelp : Int, Int, List (Num a), Int, Int -> [ Pair Int (List (Num a)) ] partitionHelp : Int, Int, List (Num a), Int, Int -> [ Pair Int (List (Num a)) ]
// partitionHelp = \i, j, list, high, pivot -> partitionHelp = \i, j, list, high, pivot ->
// if j < high then if j < high then
// when List.get list j is when List.get list j is
// Ok value -> Ok value ->
// if value <= pivot then if value <= pivot then
// partitionHelp (i + 1) (j + 1) (swap (i + 1) j list) high pivot partitionHelp (i + 1) (j + 1) (swap (i + 1) j list) high pivot
// else else
// partitionHelp i (j + 1) list high pivot partitionHelp i (j + 1) list high pivot
//
// Err _ -> Err _ ->
// Pair i list Pair i list
// else else
// Pair i list Pair i list
//
//
//
// when List.first (quicksort [0x1]) is when List.first (quicksort [0x1]) is
// _ -> 4 _ -> 4
// "# "#
// ), ),
// 4, 4,
// i64, i64
// ); );
// }) })
// } }
#[test] #[test]
fn empty_list_increment_decrement() { fn empty_list_increment_decrement() {