Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

83 lines
1.9 KiB
C
Raw Permalink Normal View History

2009-07-13 19:33:35 +00:00
/** @file
This is a test application that demonstrates how to use the sorting functions.
2010-04-24 12:12:42 +00:00
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
2009-07-13 19:33:35 +00:00
**/
#include <Uefi.h>
#include <Library/UefiLib.h>
#include <Library/DebugLib.h>
#include <Library/ShellCEntryLib.h>
#include <Library/SortLib.h>
/**
Test comparator.
@param[in] b1 The first INTN
@param[in] b2 The other INTN
@retval 0 They are the same.
@retval -1 b1 is less than b2
@retval 1 b1 is greater then b2
**/
2010-09-17 20:08:57 +00:00
INTN
EFIAPI
2011-09-20 01:34:39 +00:00
Test (
CONST VOID *b1,
CONST VOID *b2
)
2009-07-13 19:33:35 +00:00
{
if (*(INTN *)b1 == *(INTN *)b2) {
return (0);
}
2021-12-05 14:54:13 -08:00
2009-07-13 19:33:35 +00:00
if (*(INTN *)b1 < *(INTN *)b2) {
return (-1);
}
2021-12-05 14:54:13 -08:00
2009-07-13 19:33:35 +00:00
return (1);
}
/**
UEFI application entry point which has an interface similar to a
standard C main function.
The ShellCEntryLib library instance wrappers the actual UEFI application
entry point and calls this ShellAppMain function.
2011-09-02 08:05:34 +00:00
@param Argc Argument count
@param Argv The parsed arguments
2009-07-13 19:33:35 +00:00
@retval 0 The application exited normally.
@retval Other An error occurred.
**/
INTN
EFIAPI
2009-07-13 19:33:35 +00:00
ShellAppMain (
IN UINTN Argc,
2009-07-13 19:33:35 +00:00
IN CHAR16 **Argv
2009-11-18 21:36:50 +00:00
)
{
2011-09-20 01:34:39 +00:00
INTN Array[10];
Array[0] = 2;
Array[1] = 3;
Array[2] = 4;
Array[3] = 1;
Array[4] = 5;
Array[5] = 6;
Array[6] = 7;
Array[7] = 8;
Array[8] = 1;
Array[9] = 5;
2009-07-13 19:33:35 +00:00
Print (L"Array = %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\r\n", Array[0], Array[1], Array[2], Array[3], Array[4], Array[5], Array[6], Array[7], Array[8], Array[9]);
PerformQuickSort (Array, 10, sizeof (INTN), Test);
Print (L"POST-SORT\r\n");
Print (L"Array = %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\r\n", Array[0], Array[1], Array[2], Array[3], Array[4], Array[5], Array[6], Array[7], Array[8], Array[9]);
return 0;
}