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