1d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
2d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie
3d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong JieLicensed under the Apache License, Version 2.0 (the "License");
4d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jieyou may not use this file except in compliance with the License.
5d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong JieYou may obtain a copy of the License at
6d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie
7d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie    http://www.apache.org/licenses/LICENSE-2.0
8d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie
9d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong JieUnless required by applicable law or agreed to in writing, software
10d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jiedistributed under the License is distributed on an "AS IS" BASIS,
11d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong JieWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong JieSee the License for the specific language governing permissions and
13d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jielimitations under the License.
14d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie==============================================================================*/
15d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie
16d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie#include "tensorflow/compiler/xla/service/cpu/windows_compatibility.h"
17d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie
18d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie#ifdef _MSC_VER
19d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie
20d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie#include <math.h>
21d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie
22d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jievoid sincos(double x, double *sinv, double *cosv) {
23d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie  *sinv = sin(x);
24d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie  *cosv = cos(x);
25d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie}
26d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie
27d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jievoid sincosf(float x, float *sinv, float *cosv) {
28d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie  *sinv = sinf(x);
29d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie  *cosv = cosf(x);
30d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie}
31d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie
32d72d5b07bfd212adbfadb748c3dab5d56ec2fb9fLoo Rong Jie#endif  // _MSC_VER
33