📄 frc_64.c
字号:
/* * Copyright (c) 1997-1999, 2003 Massachusetts Institute of Technology * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *//* This file was automatically generated --- DO NOT EDIT *//* Generated on Mon Mar 24 02:06:11 EST 2003 */#include "fftw-int.h"#include "fftw.h"/* Generated by: /homee/stevenj/cvs/fftw/gensrc/genfft -magic-alignment-check -magic-twiddle-load-all -magic-variables 4 -magic-loopi -real2hc 64 *//* * This function contains 394 FP additions, 124 FP multiplications, * (or, 342 additions, 72 multiplications, 52 fused multiply/add), * 90 stack variables, and 128 memory accesses */static const fftw_real K471396736 =FFTW_KONST(+0.471396736825997648556387625905254377657460319);static const fftw_real K881921264 =FFTW_KONST(+0.881921264348355029712756863660388349508442621);static const fftw_real K290284677 =FFTW_KONST(+0.290284677254462367636192375817395274691476278);static const fftw_real K956940335 =FFTW_KONST(+0.956940335732208864935797886980269969482849206);static const fftw_real K555570233 =FFTW_KONST(+0.555570233019602224742830813948532874374937191);static const fftw_real K831469612 =FFTW_KONST(+0.831469612302545237078788377617905756738560812);static const fftw_real K995184726 =FFTW_KONST(+0.995184726672196886244836953109479921575474869);static const fftw_real K098017140 =FFTW_KONST(+0.098017140329560601994195563888641845861136673);static const fftw_real K773010453 =FFTW_KONST(+0.773010453362736960810906609758469800971041293);static const fftw_real K634393284 =FFTW_KONST(+0.634393284163645498215171613225493370675687095);static const fftw_real K980785280 =FFTW_KONST(+0.980785280403230449126182236134239036973933731);static const fftw_real K195090322 =FFTW_KONST(+0.195090322016128267848284868477022240927691618);static const fftw_real K382683432 =FFTW_KONST(+0.382683432365089771728459984030398866761344562);static const fftw_real K923879532 =FFTW_KONST(+0.923879532511286756128183189396788286822416626);static const fftw_real K707106781 =FFTW_KONST(+0.707106781186547524400844362104849039284835938);/* * Generator Id's : * $Id: exprdag.ml,v 1.43 2003/03/16 23:43:46 stevenj Exp $ * $Id: fft.ml,v 1.44 2003/03/16 23:43:46 stevenj Exp $ * $Id: to_c.ml,v 1.26 2003/03/16 23:43:46 stevenj Exp $ */void fftw_real2hc_64(const fftw_real *input, fftw_real *real_output, fftw_real *imag_output, int istride, int real_ostride, int imag_ostride){ fftw_real tmp269; fftw_real tmp7; fftw_real tmp14; fftw_real tmp15; fftw_real tmp320; fftw_real tmp67; fftw_real tmp209; fftw_real tmp179; fftw_real tmp238; fftw_real tmp301; fftw_real tmp361; fftw_real tmp381; fftw_real tmp312; fftw_real tmp143; fftw_real tmp227; fftw_real tmp167; fftw_real tmp230; fftw_real tmp158; fftw_real tmp231; fftw_real tmp162; fftw_real tmp228; fftw_real tmp308; fftw_real tmp313; fftw_real tmp364; fftw_real tmp382; fftw_real tmp22; fftw_real tmp29; fftw_real tmp30; fftw_real tmp272; fftw_real tmp321; fftw_real tmp74; fftw_real tmp239; fftw_real tmp176; fftw_real tmp210; fftw_real tmp284; fftw_real tmp354; fftw_real tmp378; fftw_real tmp295; fftw_real tmp121; fftw_real tmp223; fftw_real tmp127; fftw_real tmp220; fftw_real tmp110; fftw_real tmp221; fftw_real tmp130; fftw_real tmp224; fftw_real tmp291; fftw_real tmp296; fftw_real tmp357; fftw_real tmp379; fftw_real tmp89; fftw_real tmp213; fftw_real tmp92; fftw_real tmp212; fftw_real tmp46; fftw_real tmp374; fftw_real tmp276; fftw_real tmp317; fftw_real tmp80; fftw_real tmp215; fftw_real tmp83; fftw_real tmp216; fftw_real tmp61; fftw_real tmp375; fftw_real tmp279; fftw_real tmp318; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp3; fftw_real tmp63; fftw_real tmp13; fftw_real tmp65; fftw_real tmp6; fftw_real tmp178; fftw_real tmp10; fftw_real tmp64; fftw_real tmp66; fftw_real tmp177; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp1; fftw_real tmp2; fftw_real tmp11; fftw_real tmp12; ASSERT_ALIGNED_DOUBLE; tmp1 = input[0]; tmp2 = input[32 * istride]; tmp3 = tmp1 + tmp2; tmp63 = tmp1 - tmp2; tmp11 = input[56 * istride]; tmp12 = input[24 * istride]; tmp13 = tmp11 + tmp12; tmp65 = tmp11 - tmp12; } { fftw_real tmp4; fftw_real tmp5; fftw_real tmp8; fftw_real tmp9; ASSERT_ALIGNED_DOUBLE; tmp4 = input[16 * istride]; tmp5 = input[48 * istride]; tmp6 = tmp4 + tmp5; tmp178 = tmp4 - tmp5; tmp8 = input[8 * istride]; tmp9 = input[40 * istride]; tmp10 = tmp8 + tmp9; tmp64 = tmp8 - tmp9; } tmp269 = tmp3 - tmp6; tmp7 = tmp3 + tmp6; tmp14 = tmp10 + tmp13; tmp15 = tmp7 + tmp14; tmp320 = tmp13 - tmp10; tmp66 = K707106781 * (tmp64 + tmp65); tmp67 = tmp63 + tmp66; tmp209 = tmp63 - tmp66; tmp177 = K707106781 * (tmp65 - tmp64); tmp179 = tmp177 - tmp178; tmp238 = tmp178 + tmp177; } { fftw_real tmp135; fftw_real tmp299; fftw_real tmp166; fftw_real tmp300; fftw_real tmp138; fftw_real tmp311; fftw_real tmp141; fftw_real tmp310; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp133; fftw_real tmp134; fftw_real tmp164; fftw_real tmp165; ASSERT_ALIGNED_DOUBLE; tmp133 = input[63 * istride]; tmp134 = input[31 * istride]; tmp135 = tmp133 - tmp134; tmp299 = tmp133 + tmp134; tmp164 = input[15 * istride]; tmp165 = input[47 * istride]; tmp166 = tmp164 - tmp165; tmp300 = tmp164 + tmp165; } { fftw_real tmp136; fftw_real tmp137; fftw_real tmp139; fftw_real tmp140; ASSERT_ALIGNED_DOUBLE; tmp136 = input[7 * istride]; tmp137 = input[39 * istride]; tmp138 = tmp136 - tmp137; tmp311 = tmp136 + tmp137; tmp139 = input[55 * istride]; tmp140 = input[23 * istride]; tmp141 = tmp139 - tmp140; tmp310 = tmp139 + tmp140; } { fftw_real tmp359; fftw_real tmp360; fftw_real tmp142; fftw_real tmp163; ASSERT_ALIGNED_DOUBLE; tmp301 = tmp299 - tmp300; tmp359 = tmp299 + tmp300; tmp360 = tmp311 + tmp310; tmp361 = tmp359 + tmp360; tmp381 = tmp359 - tmp360; tmp312 = tmp310 - tmp311; tmp142 = K707106781 * (tmp138 + tmp141); tmp143 = tmp135 + tmp142; tmp227 = tmp135 - tmp142; tmp163 = K707106781 * (tmp141 - tmp138); tmp167 = tmp163 - tmp166; tmp230 = tmp166 + tmp163; } } { fftw_real tmp146; fftw_real tmp302; fftw_real tmp156; fftw_real tmp306; fftw_real tmp149; fftw_real tmp303; fftw_real tmp153; fftw_real tmp305; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp144; fftw_real tmp145; fftw_real tmp154; fftw_real tmp155; ASSERT_ALIGNED_DOUBLE; tmp144 = input[3 * istride]; tmp145 = input[35 * istride]; tmp146 = tmp144 - tmp145; tmp302 = tmp144 + tmp145; tmp154 = input[11 * istride]; tmp155 = input[43 * istride]; tmp156 = tmp154 - tmp155; tmp306 = tmp154 + tmp155; } { fftw_real tmp147; fftw_real tmp148; fftw_real tmp151; fftw_real tmp152; ASSERT_ALIGNED_DOUBLE; tmp147 = input[19 * istride]; tmp148 = input[51 * istride]; tmp149 = tmp147 - tmp148; tmp303 = tmp147 + tmp148; tmp151 = input[59 * istride]; tmp152 = input[27 * istride]; tmp153 = tmp151 - tmp152; tmp305 = tmp151 + tmp152; } { fftw_real tmp150; fftw_real tmp157; fftw_real tmp160; fftw_real tmp161; ASSERT_ALIGNED_DOUBLE; tmp150 = (K923879532 * tmp146) - (K382683432 * tmp149); tmp157 = (K923879532 * tmp153) + (K382683432 * tmp156); tmp158 = tmp150 + tmp157; tmp231 = tmp157 - tmp150; tmp160 = (K382683432 * tmp153) - (K923879532 * tmp156); tmp161 = (K382683432 * tmp146) + (K923879532 * tmp149); tmp162 = tmp160 - tmp161; tmp228 = tmp161 + tmp160; } { fftw_real tmp304; fftw_real tmp307; fftw_real tmp362; fftw_real tmp363; ASSERT_ALIGNED_DOUBLE; tmp304 = tmp302 - tmp303; tmp307 = tmp305 - tmp306; tmp308 = K707106781 * (tmp304 + tmp307); tmp313 = K707106781 * (tmp307 - tmp304); tmp362 = tmp302 + tmp303; tmp363 = tmp305 + tmp306; tmp364 = tmp362 + tmp363; tmp382 = tmp363 - tmp362; } } { fftw_real tmp18; fftw_real tmp68; fftw_real tmp28; fftw_real tmp72; fftw_real tmp21; fftw_real tmp69; fftw_real tmp25; fftw_real tmp71; fftw_real tmp270; fftw_real tmp271; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp16; fftw_real tmp17; fftw_real tmp26; fftw_real tmp27; ASSERT_ALIGNED_DOUBLE; tmp16 = input[4 * istride]; tmp17 = input[36 * istride]; tmp18 = tmp16 + tmp17; tmp68 = tmp16 - tmp17; tmp26 = input[12 * istride]; tmp27 = input[44 * istride]; tmp28 = tmp26 + tmp27; tmp72 = tmp26 - tmp27; } { fftw_real tmp19; fftw_real tmp20; fftw_real tmp23; fftw_real tmp24; ASSERT_ALIGNED_DOUBLE; tmp19 = input[20 * istride]; tmp20 = input[52 * istride]; tmp21 = tmp19 + tmp20; tmp69 = tmp19 - tmp20; tmp23 = input[60 * istride]; tmp24 = input[28 * istride]; tmp25 = tmp23 + tmp24; tmp71 = tmp23 - tmp24; } tmp22 = tmp18 + tmp21; tmp29 = tmp25 + tmp28; tmp30 = tmp22 + tmp29; tmp270 = tmp18 - tmp21; tmp271 = tmp25 - tmp28; tmp272 = K707106781 * (tmp270 + tmp271); tmp321 = K707106781 * (tmp271 - tmp270); {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -