advent2019

Advent of Code 2019 (C99)
git clone git://bsandro.tech/advent2019
Log | Files | Refs | LICENSE

commit 44696ec42c0aebc2ccc5fc61f13a7ff143657a5a
Author: bsandro <email@bsandro.tech>
Date:   Sun,  7 Dec 2025 00:23:12 +0200

init repo

Diffstat:
A.gitignore | 2++
ALICENSE | 24++++++++++++++++++++++++
AMakefile | 28++++++++++++++++++++++++++++
Ainputs/.keep | 0
4 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,2 @@ +inputs/*.txt +*.bin diff --git a/LICENSE b/LICENSE @@ -0,0 +1,24 @@ +BSD 2-Clause License + +Copyright (c) 2025, bsandro. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Makefile b/Makefile @@ -0,0 +1,28 @@ +.SUFFIXES: +MAKEFLAGS+=-rR +CFLAGS=-O3 -std=gnu99 -Werror -Wall -Wextra -ffast-math -I. +ifeq ($(shell uname -m),riscv64) +CFLAGS+=-mtune=sifive-u74 +else +CFLAGS+=-mtune=native -march=native +endif +LDFLAGS=-lc -lm +CC=clang + +.PHONY: clean + +%+run: %.bin + ./$< < inputs/$*.txt + +%+test: %.bin + ./$< < inputs/$*_test.txt + +.SECONDARY: +%: %.bin + @: + +%.bin: %.c + ${CC} $< $(CFLAGS) $(LDFLAGS) -o $@ + +clean: + rm -f ./*.bin diff --git a/inputs/.keep b/inputs/.keep