Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp7027118imu; Wed, 14 Nov 2018 10:31:02 -0800 (PST) X-Google-Smtp-Source: AJdET5cFUMbRhk7W+xGDXOqnn/6AGXMah+Iyh3ppO1IcuhgJNUMYWwRd94H22NmcoxqqLTu/LykB X-Received: by 2002:a17:902:ba83:: with SMTP id k3-v6mr2913030pls.200.1542220262518; Wed, 14 Nov 2018 10:31:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542220262; cv=none; d=google.com; s=arc-20160816; b=Lse26xiHoLhxHJnFcjHXaTgwuKCYaaDrCxAm+CEXnYNUcuT/gX7jb64sscjjRgQkSI dsxQyT1LhZQrhVrSOFtVJ2BvHVYppl6+fNBk2ZyY1kKkind7Sp9ywoV6fTFDbJSUmpB9 hak0Gu1SzlAGcwwCbhPNnyxBGgLG7n3Utm7xiBQzJQ/P+XmKPZg6oW/wP5WlTQCnW2mk xRX3dwC5xvztuhL0jKaxfDXQ4v42AFg0g5hQxSMkeI5RA7a4S67mEfmRxSnEY/xxFx1f v0qrXmOkkyAwQlUOFFrGLbGhoLD604Id0VD0UVsHv9Qb1O7cmfLbDpeBrF3AJjDWd3OC PG9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=S7cR0QV5/nrEgT5GlklFzJjBI0ZpPiHlEFarAzfal3g=; b=jd/oqDn1KE+JdOr1ssVfB4H6h2/g0reZaWbQ5BqlcG6J1N9hP92w+BuZi/YsHUDdgo 7SMLg9AE4xXy8ISRrWyQlub8BIM760nboRVLSzuxRikKJ52tCOor4araR3AVnEByRLkU T/9ebCyR2X4cb3AtJGmYfGDXGQXWMkcYUP40h+aDi64ICZnkJg8/oGpMn1iKu7dNKhxq pgxLh5oJl0AfbNwUiPMD2P/pMbFa+2CuwkyI4IwsEh8x/EroHuKB8q8EwRUQlV9rARJW KVeUH4Yfm+TBYv89Bav6sHtGr68DNSMi7HOWo1ooA1EUY2FzuSAOT7Eq5Lf0xKpjm7rm TF4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@plaes.org header.s=mail header.b="e/YqReKJ"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k25-v6si25973617pfe.36.2018.11.14.10.30.28; Wed, 14 Nov 2018 10:31:02 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@plaes.org header.s=mail header.b="e/YqReKJ"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732965AbeKOEcT (ORCPT + 99 others); Wed, 14 Nov 2018 23:32:19 -0500 Received: from plaes.org ([188.166.43.21]:55056 "EHLO plaes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727736AbeKOEcT (ORCPT ); Wed, 14 Nov 2018 23:32:19 -0500 Received: from localhost (85.253.196.132.cable.starman.ee [85.253.196.132]) by plaes.org (Postfix) with ESMTPSA id 0BB4440622; Wed, 14 Nov 2018 18:27:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=plaes.org; s=mail; t=1542220078; bh=RJwUHvr9Ne1mH2Zgg/JQJSJDjz2ApvYY1EYoN0gJaY8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=e/YqReKJZSgzVAgrkObaruIfzOtUhU4Aa4sJGMzyWIkfbJbZck4TUByli8Kt7rRLX ITaKdWs9zBpYYSfkEEQoV1KIfzbcv3eFbPQ6/mlBsdx0AkZewZ7sMnPepiolSLxNnr 8Zfg4n+rKankElaB97nJ0gKrQxUy0CIc6KUuwtFxvIEAAnHuIcPOsFJpQk417nth+V FHpDnENdgQUeg9LM/iLfUqlx49FJtycJ/RLeBO1DtqRkb5M0qZ95MzHkC/UJ2qzof6 TJRziR2ZK2foYaSuxWn8ttXkbY63SYK6oyo7U0ei5y84QWU5ZzbOsjl/4px7kBV/sh DQ+anUwe2iSpA== From: Priit Laes To: Kees Cook , Jia-Ju Bai , Kalle Valo , Larry Finger , "Gustavo A. R. Silva" , Colin Ian King , Arend van Spriel , Varsha Rao , linux-wireless@vger.kernel.org, b43-dev@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Priit Laes Subject: [PATCH v3 1/3] lib: cordic: Move cordic macros and defines to header file Date: Wed, 14 Nov 2018 20:27:50 +0200 Message-Id: <83271554b8c5e02c9379ce5ed9b7f3e00bf31111.1542219596.git-series.plaes@plaes.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now that these macros are in header file, we can eventually clean up the duplicate macros present in the drivers that utilize the same cordic algorithm implementation. Also add CORDIC_ prefix to nonprefixed macros. Reviewed-by: Arend van Spriel Signed-off-by: Priit Laes --- include/linux/cordic.h | 9 +++++++++ lib/cordic.c | 23 +++++++---------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/include/linux/cordic.h b/include/linux/cordic.h index cf68ca4..3d656f5 100644 --- a/include/linux/cordic.h +++ b/include/linux/cordic.h @@ -18,6 +18,15 @@ #include +#define CORDIC_ANGLE_GEN 39797 +#define CORDIC_PRECISION_SHIFT 16 +#define CORDIC_NUM_ITER (CORDIC_PRECISION_SHIFT + 2) + +#define CORDIC_FIXED(X) ((s32)((X) << CORDIC_PRECISION_SHIFT)) +#define CORDIC_FLOAT(X) (((X) >= 0) \ + ? ((((X) >> (CORDIC_PRECISION_SHIFT - 1)) + 1) >> 1) \ + : -((((-(X)) >> (CORDIC_PRECISION_SHIFT - 1)) + 1) >> 1)) + /** * struct cordic_iq - i/q coordinate. * diff --git a/lib/cordic.c b/lib/cordic.c index 6cf4778..8ef27c1 100644 --- a/lib/cordic.c +++ b/lib/cordic.c @@ -16,15 +16,6 @@ #include #include -#define CORDIC_ANGLE_GEN 39797 -#define CORDIC_PRECISION_SHIFT 16 -#define CORDIC_NUM_ITER (CORDIC_PRECISION_SHIFT + 2) - -#define FIXED(X) ((s32)((X) << CORDIC_PRECISION_SHIFT)) -#define FLOAT(X) (((X) >= 0) \ - ? ((((X) >> (CORDIC_PRECISION_SHIFT - 1)) + 1) >> 1) \ - : -((((-(X)) >> (CORDIC_PRECISION_SHIFT - 1)) + 1) >> 1)) - static const s32 arctan_table[] = { 2949120, 1740967, @@ -64,16 +55,16 @@ struct cordic_iq cordic_calc_iq(s32 theta) coord.q = 0; angle = 0; - theta = FIXED(theta); + theta = CORDIC_FIXED(theta); signtheta = (theta < 0) ? -1 : 1; - theta = ((theta + FIXED(180) * signtheta) % FIXED(360)) - - FIXED(180) * signtheta; + theta = ((theta + CORDIC_FIXED(180) * signtheta) % CORDIC_FIXED(360)) - + CORDIC_FIXED(180) * signtheta; - if (FLOAT(theta) > 90) { - theta -= FIXED(180); + if (CORDIC_FLOAT(theta) > 90) { + theta -= CORDIC_FIXED(180); signx = -1; - } else if (FLOAT(theta) < -90) { - theta += FIXED(180); + } else if (CORDIC_FLOAT(theta) < -90) { + theta += CORDIC_FIXED(180); signx = -1; } -- git-series 0.9.1