From eade5fa57a28e3611f8b7b8830d6dc6390f136fe Mon Sep 17 00:00:00 2001 From: Christoffer Lerno Date: Mon, 14 Apr 2025 03:36:03 +0200 Subject: [PATCH] Fix Windows sincos. --- lib/std/math/math.c3 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/std/math/math.c3 b/lib/std/math/math.c3 index 84ba831a3..8c3b98984 100644 --- a/lib/std/math/math.c3 +++ b/lib/std/math/math.c3 @@ -1054,10 +1054,16 @@ extern fn double _atan(double x) @extern("atan"); extern fn float _atanf(float x) @extern("atanf"); extern fn double _atan2(double, double) @extern("atan2"); extern fn float _atan2f(float, float) @extern("atan2f"); + extern fn void _sincos(double, double*, double*) @extern("__sincos") @link("m") @if(env::DARWIN); extern fn void _sincosf(float, float*, float*) @extern("__sincosf") @link("m") @if(env::DARWIN); -extern fn void _sincos(double, double*, double*) @extern("sincos") @link("m") @if(!env::DARWIN); -extern fn void _sincosf(float, float*, float*) @extern("sincosf") @link("m") @if(!env::DARWIN); + +extern fn void _sincos(double, double*, double*) @extern("sincos") @link("m") @if(!env::DARWIN && !env::WIN32); +extern fn void _sincosf(float, float*, float*) @extern("sincosf") @link("m") @if(!env::DARWIN && !env::WIN32); + +fn void _sincos(double a, double* s, double* c) @extern("sincos") @if(env::WIN32) { *s = sin(a); *c = cos(a); } +fn void _sincosf(float a, float* s, float* c) @extern("sincosf") @if(env::WIN32) { *s = sin(a); *c = cos(a); } + extern fn double _tan(double x) @extern("tan"); extern fn float _tanf(float x) @extern("tanf"); extern fn double _scalbn(double x, int n) @extern("scalbn");