# ============================================================================== # calx サンプルコード # ============================================================================== set(LIB23_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/include") # ヘルパー: サンプルターゲット作成 function(add_calx_example EXAMPLE_NAME EXAMPLE_SOURCE) add_executable(${EXAMPLE_NAME} ${EXAMPLE_SOURCE}) target_include_directories(${EXAMPLE_NAME} PRIVATE ${LIB23_INCLUDE_DIR}) if(ARGN) target_link_libraries(${EXAMPLE_NAME} PRIVATE ${ARGN}) endif() set_target_properties(${EXAMPLE_NAME} PROPERTIES FOLDER "Examples") endfunction() # Int add_calx_example(example-int example_int.cpp calx_int) add_calx_example(example-int-demo example_int_demo.cpp calx_int) # Float add_calx_example(example-float example_float.cpp calx_float) add_calx_example(example-float-demo example_float_demo.cpp calx_float) # Rational add_calx_example(example-rational example_rational.cpp calx_rational) add_calx_example(example-rational-demo example_rational_demo.cpp calx_rational) # Multi-precision (Int + Float + Rational) add_calx_example(example-mp example_mp.cpp calx_rational) # Vector add_calx_example(example-vector example_vector.cpp) add_calx_example(example-vector-demo example_vector_demo.cpp) # Matrix add_calx_example(example-matrix example_matrix.cpp calx_rational) # LinAlg add_calx_example(example-linalg example_linalg.cpp) # Precision Showdown (Matrix + Float + Rational) add_calx_example(example-precision-showdown example_precision_showdown.cpp calx_rational)