diff options
| author | copilot-swe-agent[bot] | 2026-02-20 07:04:47 +0000 |
|---|---|---|
| committer | copilot-swe-agent[bot] | 2026-02-20 07:04:47 +0000 |
| commit | 08cb1349ca394634c4e1df6cec423428e6b29ad6 (patch) | |
| tree | bc9185730a2fd385d96c54ec6ca05bb51d8dc88c /source/Makefile | |
| parent | 5999341c31b7ff44eb48bd38f9c12750c9ed8720 (diff) | |
| download | librandom-08cb1349ca394634c4e1df6cec423428e6b29ad6.tar.xz librandom-08cb1349ca394634c4e1df6cec423428e6b29ad6.tar.zst | |
Add XorShift, SplitMix64, WyRandom, PCG, and XoroShiro generators
Co-authored-by: 8e8m <248551607+8e8m@users.noreply.github.com>
Diffstat (limited to 'source/Makefile')
| -rw-r--r-- | source/Makefile | 44 |
1 files changed, 34 insertions, 10 deletions
diff --git a/source/Makefile b/source/Makefile index 5888d63..cefad43 100644 --- a/source/Makefile +++ b/source/Makefile @@ -1,22 +1,46 @@ -# Makefile for PhotonSpinRandom C implementation +# Makefile for Random Number Generator C implementations CC = cc CFLAGS = -O2 -Wall -Wextra -std=c99 LDFLAGS = -lm -TARGET = photon_spin_random -SRC = photon_spin_random.c -HEADER = photon_spin_random.h +TARGETS = photon_spin_random xorshift_random splitmix64 wy_random pcg_random xoroshiro_random .PHONY: all clean test -all: $(TARGET) +all: $(TARGETS) -$(TARGET): $(SRC) $(HEADER) - $(CC) $(CFLAGS) -DPHOTON_SPIN_TEST_MAIN -o $(TARGET) $(SRC) $(LDFLAGS) +photon_spin_random: photon_spin_random.c photon_spin_random.h + $(CC) $(CFLAGS) -DPHOTON_SPIN_TEST_MAIN -o $@ photon_spin_random.c $(LDFLAGS) -test: $(TARGET) - ./$(TARGET) +xorshift_random: xorshift_random.c xorshift_random.h + $(CC) $(CFLAGS) -DXORSHIFT_TEST_MAIN -o $@ xorshift_random.c $(LDFLAGS) + +splitmix64: splitmix64.c splitmix64.h + $(CC) $(CFLAGS) -DSPLITMIX64_TEST_MAIN -o $@ splitmix64.c $(LDFLAGS) + +wy_random: wy_random.c wy_random.h + $(CC) $(CFLAGS) -DWY_TEST_MAIN -o $@ wy_random.c $(LDFLAGS) + +pcg_random: pcg_random.c pcg_random.h + $(CC) $(CFLAGS) -DPCG_TEST_MAIN -o $@ pcg_random.c $(LDFLAGS) + +xoroshiro_random: xoroshiro_random.c xoroshiro_random.h + $(CC) $(CFLAGS) -DXOROSHIRO_TEST_MAIN -o $@ xoroshiro_random.c $(LDFLAGS) + +test: $(TARGETS) + @echo "=== Testing PhotonSpinRandom ===" + ./photon_spin_random + @echo "\n=== Testing XorShiftRandom ===" + ./xorshift_random + @echo "\n=== Testing SplitMix64 ===" + ./splitmix64 + @echo "\n=== Testing WyRandom ===" + ./wy_random + @echo "\n=== Testing PCG Random ===" + ./pcg_random + @echo "\n=== Testing XoroShiro Random ===" + ./xoroshiro_random clean: - rm -f $(TARGET) + rm -f $(TARGETS) |
