You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

build_and_run_reduce_sum.sh 1.5 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/bin/bash
  2. # ReduceSum算法编译和运行脚本
  3. # 用于参赛者只选择ReduceSum题目时使用
  4. # 加载公共配置
  5. source "$(dirname "$0")/build_common.sh"
  6. # 显示帮助信息
  7. show_help() {
  8. echo "ReduceSum算法编译和运行脚本"
  9. echo "用法: $0 [选项]"
  10. echo ""
  11. echo "选项:"
  12. echo " --help 显示此帮助信息"
  13. echo " --build-only 仅编译,不运行测试"
  14. echo " --run MODE 编译并运行测试 (MODE: correctness|performance|all)"
  15. echo ""
  16. echo "示例:"
  17. echo " $0 # 编译并运行所有测试(默认行为)"
  18. echo " $0 --build-only # 仅编译"
  19. echo " $0 --run correctness # 编译并运行正确性测试"
  20. echo ""
  21. }
  22. # 解析命令行参数
  23. RUN_MODE="all" # 默认运行所有测试
  24. while [[ $# -gt 0 ]]; do
  25. case $1 in
  26. --help)
  27. show_help
  28. exit 0
  29. ;;
  30. --build-only)
  31. RUN_MODE=""
  32. shift
  33. ;;
  34. --run)
  35. RUN_MODE="$2"
  36. shift 2
  37. ;;
  38. *)
  39. print_error "未知选项: $1"
  40. show_help
  41. exit 1
  42. ;;
  43. esac
  44. done
  45. # 编译ReduceSum算法
  46. if compile_algorithm "ReduceSum" "reduce_sum_algorithm.maca"; then
  47. # 如果指定了运行模式,则运行测试
  48. if [ -n "$RUN_MODE" ]; then
  49. echo ""
  50. run_single_test "ReduceSum" "$RUN_MODE"
  51. fi
  52. else
  53. exit 1
  54. fi