.\" .\" Copyright (C) 1999-2007,2014,2018,2021,2026 Landon Curt Noll .\" .\" Calc is open software; you can redistribute it and/or modify it under .\" the terms of the version 2.1 of the GNU Lesser General Public License .\" as published by the Free Software Foundation. .\" .\" Calc 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 Lesser General .\" Public License for more details. .\" .\" A copy of version 2.1 of the GNU Lesser General Public License is .\" distributed with calc under the filename COPYING-LGPL. You should have .\" received a copy with calc; if not, write to Free Software Foundation, Inc. .\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. .\" .\" Under source code control: 1991/07/23 05:48:26 .\" File existed as early as: 1991 .\" .\" chongo /\oo/\ http:\://www.isthe.com/chongo/ .\" Share and enjoy! :-) http:\://www.isthe.com/chongo/tech/comp/calc/ .\" .\" calculator by David I. Bell .\" man page by Landon Noll .\" .TH calc 1 "^..^" "Share and enjoy! :-)" .SH "نام (NAME)" calc \- ماشین‌حساب با دقت دلخواه .SH "خلاصه دستور (SYNOPSIS)" \fIcalc\fP .RB [ \-c ] .RB [ \-C ] .RB [ \-d ] .br .in +5n .RB [ -D\ \&calc_debug[:resource_debug[:user_debug]] ] .br .RB [ \-e ] .RB [ \-f\ \&filename ] .RB [ \-h ] .RB [ \-i ] .RB [ \-m\ \&mode ] .RB [ \-O ] .br .RB [ \-p ] .RB [ \-q ] .RB [ \-s ] .RB [ \-u ] .RB [ \-v ] .RB [ [\-\-]\ calc_cmd\ \&.\|.\|. ] .in -5n .sp \fI#!/usr/bin/calc\fP\ [optional_other_flags\ \&...] \fB\-f\fP .PP .SH "توضیحات (DESCRIPTION)" .PP .TP .B \-c ادامه خواندن خطوط دستور حتی پس از این‌که یک خطای پویش/تجزیه (scan/parse) باعث رها شدن یک خط شده باشد. توجه داشته باشید که این گزینه فقط به پویش و تجزیه زبان calc مربوط می‌شود. این گزینه با خطاهای اجرا یا زمان اجرا (run-time) سر و کار ندارد. .sp 1 برای مثال: .sp 1 .in +5n .nf calc read many_errors.cal .fi .in -5n .sp 1 باعث خواهد شد .B calc در نخستین خطای نحوی (syntax error) متوقف شود، در حالی که: .sp 1 .in +5n .nf calc -c read many_errors.cal .fi .in -5n .sp 1 باعث خواهد شد .B calc با وجود مواجهه با خطاهای پویش/تجزیه، برای پردازش هر خطِ در حال خوانده‌شدن تلاش کند. .sp 1 به‌طور پیش‌فرض، فایل‌های منبع (resource files) راه‌اندازی calc در صورت پیدا نشدن، بدون هیچ پیامی نادیده گرفته می‌شوند. این پرچم مفقود بودن فایل‌های منبع راه‌اندازی را گزارش می‌دهد، مگر اینکه .B \-d نیز مشخص شده باشد. .TP .B \-C اجازه اجرای توابع توکار سفارشی (custom builtin functions). بدون این پرچم، فراخوانی تابع توکار custom() صرفاً یک خطا تولید خواهد کرد. .sp 1 استفاده از این پرچم ممکن است باعث شود .B calc توابعی را اجرا کند که غیراستاندارد بوده و قابل‌حمل نیستند. توابع توکار سفارشی به همین دلیل به‌طور پیش‌فرض غیرفعال هستند. .TP .B \-d غیرفعال کردن چاپ عنوان آغازین. چاپ پیام‌های اشکال‌زدایی و اطلاعاتی فایل منبع نیز به گونه‌ای غیرفعال می‌شود که گویی \fBconfig("resource_debug", 0)\fP اجرا شده است. .sp 1 برای مثال: .sp 1 .in +5n calc "read qtime; qtime(2)" .in -5n .sp 1 خروجی‌ای شبیه به این خواهد داشت: .sp 1 .in +5n .nf qtime(utc_hr_offset) defined It's nearly ten past six. .fi .in -5n .sp 1 در حالی که: .sp 1 .in +5n .nf calc -d "read qtime; qtime(2)" .fi .in -5n .sp 1 تنها این را چاپ خواهد کرد: .sp 1 .in +5n .nf It's nearly ten past six. .fi .in -5n .sp 1 این پرچم گزارش مربوط به پیدا نشدن فایل‌های منبع راه‌اندازی calc را غیرفعال می‌کند. .sp 1 این پرچم همچنین چاپ علامت تیلدا (~) ابتدایی را غیرفعال می‌کند. برای مثال: .sp 1 .in +5n .nf calc 2/3 .fi .in -5n .sp 1 چاپ خواهد کرد: .sp 1 .in +5n .nf ~0.66666666666666666667 .fi .in -5n .sp 1 .sp 1 در حالی که: .sp 1 .in +5n .nf calc -d 2/3 .fi .in -5n .sp 1 تنها این مقدار را چاپ خواهد کرد: .sp 1 .in +5n .nf 0.66666666666666666667 .fi .in -5n .sp 1 .TP .BR -D " calc_debug[:resource_debug[:user_debug]]" اجبار مقدار اولیه config("calc_debug")، config("resource_debug") و config("user_debug"). .sp 1 رشته‌های جداشده با : به عنوان اعداد صحیح ۳۲ بیتی علامت‌دار تفسیر می‌شوند. پس از علامت اختیاری آغازین، صفر ابتدایی نشان‌دهنده تبدیل هشت‌هشتی (octal)، و «0x» یا «0X» ابتدایی نشان‌دهنده تبدیل شانزده‌شانزدهی (hexadecimal) است. در غیر این صورت، تبدیل ده‌دهی (decimal) فرض می‌شود. .sp 1 به‌طور پیش‌فرض، .I calc_debug برابر 0، .I resource_debug برابر 3 و .I user_debug برابر 0 است. .sp 1 برای اطلاعات بیشتر از دستور .B calc زیر استفاده کنید: .sp 1 .in +5n .nf help config .fi .in -5n.TP .B \-e نادیده گرفتن تمام متغیرهای محیطی هنگام راه‌اندازی. با این وجود، تابع توکار getenv() همچنان مقادیر را برمی‌گرداند. .TP .BR \-f " filename" این پرچم معمولاً فقط همراه با اسکریپت‌های شل calc استفاده می‌شود. .sp 1 این پرچم هنگام استفاده از calc در .BR "حالت اسکریپت شل" الزامی است. باید در انتهای خط آغازین .B #! اسکریپت قرار گیرد، مانند: .sp 1 .in +5n .nf \fI#!/usr/bin/calc\fP\ [optional_other_flags\ \&...] \fB\-f\fP .fi .in -5n .sp 1 باقی فایل در .BR "حالت اسکریپت شل" پردازش خواهد شد. .sp 1 یک پرچم رایج که پیش از .B \-f در خط #! استفاده می‌شود، پرچم .B \-q است. برای مثال: .sp 1 .in +5n .nf \fI#!/usr/bin/calc\fP \fB\-q\fP \fB\-f\fP .fi .in -5n .sp 1 برای جزئیات بیشتر، بخش .B "SHELL SCRIPT MODE" در ادامهٔ این صفحهٔ راهنما را ببینید. .sp 1 اگرچه شکل واقعی این پرچم به‌صورت زیر است: .sp 1 .in +5n .BR \-f filename .in -5n .sp 1 اما در سیستم‌هایی که یک فایل اجراییِ آغازشونده با .B #! را به عنوان اسکریپت در نظر می‌گیرند، مسیر فایل اجرایی توسط هسته به عنوان آرگومان نهایی به فراخوانی سیستمی exec() افزوده می‌شود. به همین دلیل پرچم .B \-f در انتهای خط .B #! قرار می‌گیرد. .sp 1 استفاده از .B \-f filename در خط فرمان نیز امکان‌پذیر است: .sp 1 .in +5n .nf \fIcalc\fP\ [optional_other_flags\ \&...] \fB\-f\fP filename .fi .in -5n .sp 1 این کار باعث می‌شود calc خطوط موجود در .B filename را در .BR "حالت اسکریپت شل" پردازش کند. .sp 1 .B نکته: استفاده از .BR \-f به‌معنای اعمال خودکار .BR \-q .B نیست و بنابراین برای غیرفعال کردن فایل‌های راه‌اندازی calc، باید از: .sp 1 .in +5n .nf \fIcalc\fP\ [optional_other_flags\ \&...] \fB\-q\fP \fB\-f\fP filename .fi .in -5n .sp 1 نیز استفاده شود. .sp 1 استفاده از .B \-f filename به معنای اعمال پرچم .B \-s نیز هست. .TP .B \-h چاپ پیام راهنما. این گزینه پرچم .BR \-q را نیز اعمال می‌کند. این معادل دستور help help در .B calc است. امکانات راهنما غیرفعال است مگر اینکه mode برابر با 5 یا 7 باشد. گزینهٔ .BR \-m را ببینید. .TP .B \-i ورود به حالت تعاملی در صورت امکان. این پرچم باعث می‌شود که .B calc پس از ارزیابی آرگومان‌های .I calc_cmd در خط فرمان، وارد حالت تعاملی شود. بدون این پرچم، .B calc پس از ارزیابی آن‌ها خارج خواهد شد. .sp 1 برای مثال: .sp 1 .in +5n .nf calc 2+5 .fi .in -5n .sp 1 مقدار 7 را چاپ کرده و خارج می‌شود، در حالی که: .sp 1 .in +5n .nf calc -i 2+5 .fi .in -5n .sp 1 مقدار 7 را چاپ کرده و از کاربر دستورهای بیشتری برای .B calc درخواست می‌کند. .TP .BR \-m " mode" این پرچم حالت دسترسی (permission mode) برنامهٔ .BR calc را تعیین می‌کند و توانایی .B calc را در باز کردن فایل‌ها و اجرای برنامه‌ها کنترل می‌نماید. .I Mode می‌تواند عددی از 0 تا 7 باشد. .sp 1 مقدار mode به شیوه‌ای مشابه با حالت مبنای هشت در .BR chmod (1) تفسیر می‌شود: .sp 1 .in +5n .nf 0 هیچ فایلی باز نشود، هیچ برنامه‌ای اجرا نشود 1 هیچ فایلی باز نشود 2 فایل‌ها برای خواندن باز نشوند، هیچ برنامه‌ای اجرا نشود 3 فایل‌ها برای خواندن باز نشوند 4 فایل‌ها برای نوشتن باز نشوند، هیچ برنامه‌ای اجرا نشود 5 فایل‌ها برای نوشتن باز نشوند 6 هیچ برنامه‌ای اجرا نشود 7 همه چیز مجاز است (حالت پیش‌فرض) .fi .in -5n .sp 1 اگر کسی بخواهد .B calc را با یک کاربر ممتاز (کاربر ریشه) اجرا کند، ممکن است بخواهد از .BR \-m " 0" استفاده کند تا .B calc تا حدی امن‌تر شود. .sp 1 بیت‌های حالت برای خواندن و نوشتن تنها هنگام باز کردن فایل (open) اعمال می‌شوند. فایل‌هایی که از قبل باز شده‌اند تحت تأثیر قرار نمی‌گیرند. بنابراین اگر کسی بخواهد از .BR \-m " 0" برای ایمن‌تر کردن .B calc استفاده کند، اما همچنان قصد خواندن و نوشتن یک فایل مشخص را داشته باشد، می‌تواند در شل‌های شبهِ .BR sh (1)، .BR ksh (1) یا .BR bash (1) به این صورت عمل کند: .sp 1 .in +5n .nf calc -m 0 3 "); if (isnull(n)) { print("got null"); } else { print("got " + n); } .fi .in -5n .sp 1 با این حال، اسکریپت شل زیر (به .B \-p پیش از .B \-f در خط اول توجه کنید) تعاملی خواهد بود، اعلان "Test> " را نشان می‌دهد و نتیجه "got" را طبق انتظار چاپ خواهد کرد: .sp 1 .in +5n .nf #!/usr/bin/calc \-q \-p \-f n = prompt("Test> "); if (isnull(n)) { print("got null"); } else { print("got " + n); } .fi .in -5n .sp 1 توجه داشته باشید در مثال بالا، گزینه .B \-p باید پیش از گزینه نهایی خط فرمان یعنی .B \-f قرار گیرد..PP .SH "انواع داده (DATA TYPES)" .PP انواع دادهٔ توکار و بنیادین شامل اعداد صحیح، اعداد حقیقی، اعداد گویا، اعداد مختلط و رشته‌ها هستند. .PP با استفاده از یک شیء (object)، می‌توان انواع داده با پیچیدگی دلخواه را تعریف نمود. می‌توان نحوهٔ رفتار چنین اشیائی را در طیف گسترده‌ای از عملیات‌ها مانند جمع، تفریق، ضرب، تقسیم، منفی‌سازی، مربع کردن، باقی‌مانده (modulus)، گرد کردن، توان‌رسانی، برابری، مقایسه، چاپ و غیره مشخص کرد. .PP برای اطلاعات بیشتر از دستورهای .B calc زیر استفاده کنید: .PP .in 1.0i help types .br help obj .br show objfuncs .in -1.0i .PP .SH "متغیرها (VARIABLES)" .PP متغیرها در \fIcalc\fP بدون نوع (typeless) هستند. به بیان دیگر، نوع بنیادین یک متغیر با محتوای آن تعیین می‌شود. پیش از آن‌که مقداری به یک متغیر انتساب داده شود، مقدار آن برابر با صفر است. .PP حوزهٔ دید (scope) یک متغیر می‌تواند سراسری (global)، محلی برای یک فایل، یا محلی برای یک رویه (procedure) باشد. مقادیر را می‌توان در یک ماتریس یا در فهرستی که امکان انجام عملیات‌هایی به سبک پشته (stack) و صف (queue) را فراهم می‌کند، گروه‌بندی کرد. .PP برای اطلاعات بیشتر از دستورهای .B calc زیر استفاده کنید: .PP .in 1.0i help variable .br help mat .br help list .br show globals .in -1.0i .PP .SH "ورودی/خروجی (INPUT/OUTPUT)" .PP پیشوند \(lq0x\(rq بیانگر یک مقدار در مبنای شانزده (هگزادسیمال)، پیشوند \(lq0b\(rq بیانگر یک مقدار دودویی (باینری)، و پیشوند \(lq0\(rq که به دنبال آن یک رقم بیاید بیانگر یک مقدار در مبنای هشت (اکتال) است. اعداد مختلط با یک \(lqi\(rq در انتها مشخص می‌شوند، مانند \(lq3+4i\(rq. رشته‌ها می‌توانند با یک جفت نقل‌قول تکی یا دوتایی محصور شوند. به‌طور پیش‌فرض، \fIcalc\fP مقادیر را به گونه‌ای چاپ می‌کند که گویی اعداد ممیز شناور هستند. می‌توان این حالت پیش‌فرض را تغییر داد تا مقادیر در چندین حالت مختلف از جمله کسری، صحیح و نمایی چاپ شوند. .PP تعدادی عملیات ورودی/خروجی فایل مشابه با کتابخانهٔ stdio ارائه شده است. می‌توان فایل‌ها را باز کرد، خواند، نوشت، در آن‌ها پیمایش (seek) کرد و آن‌ها را بست. نام فایل‌ها به شیوه‌ای شبیه به Korn Shell یا C-Shell، مشمول بسط \(lq\~\(rq به دایرکتوری‌های خانگی می‌شوند. .PP برای مثال: .PP .in 1.0i ~/.calcrc .br ~chongo/lib/fft_multiply.cal .in -1.0i .PP برای اطلاعات بیشتر از دستور .B calc زیر استفاده کنید: .PP .in 1.0i help file .in -1.0i .PP .SH "زبان CALC (CALC LANGUAGE)" .PP زبان \fIcalc\fP یک زبان شبه-C است. این زبان شامل دستورهایی مانند اعلان متغیرها، عبارات، شرط‌ها (tests)، برچسب‌ها، حلقه‌ها، عملیات‌های فایل و فراخوانی توابع است. این دستورها شباهت بسیار زیادی به همتایان خود در C دارند. .PP این زبان همچنین شامل تعدادی دستور اختصاصی برای خودِ \fIcalc\fP است. این موارد شامل دستورهایی همچون تعریف تابع، راهنما (help)، خواندن فایل‌های منبع (resource files)، تخلیه اطلاعات در یک فایل، اعلان خطا، کنترل پیکربندی و وضعیت هستند. .PP برای اطلاعات بیشتر از دستورهای .B calc زیر استفاده کنید: .PP .in 1.0i help command .br help statement .br help expression .br help operator .br help config .in -1.0i .PP.SH "فایل‌ها (FILES)" .PP .PD 0 .TP 5 /usr/bin/calc فایل اجرایی calc .sp 1 .TP 5 /usr/bin/cscript/* اسکریپت‌های شل calc .sp 1 .TP 5 /usr/lib/*.cal فایل‌های منبع استاندارد calc .sp 1 .TP 5 /usr/lib/help/* فایل‌های راهنما .sp 1 .TP 5 /usr/lib/bindings نگاشت‌های کلید ویرایشگر خط فرمان غیر GNU-readline .sp 1 .TP 5 /usr/include/calc/*.h فایل‌های سرآیند (include) برای استفاده در رابط C .sp 1 .TP 5 /usr/lib/libcalc.a کتابخانه پیوند باینری calc .sp 1 .TP 5 /usr/lib/libcustcalc.a کتابخانه پیوند باینری سفارشی .sp 1 .TP 5 /usr/share/calc/custom/*.cal فایل‌های منبع سفارشی .sp 1 .TP 5 /usr/share/calc/custhelp/* فایل‌های راهنمای سفارشی .sp 1 .PP .SH "محیط (ENVIRONMENT)" .PP .PD 0 .TP 5 CALCPATH فهرستی از دایرکتوری‌ها که با «:» از یکدیگر جدا شده‌اند و برای جستجوی نام فایل‌های منبع calc که با /، ./ یا ~ آغاز نمی‌شوند به کار می‌رود. .br .sp اگر این متغیر تنظیم نشده یا خالی باشد، .B calc ابتدا $XDG_DATA_HOME و $XDG_CONFIG_HOME را بررسی می‌کند. چنانچه هر دوی آن‌ها به دایرکتوری‌های مطلق و قابل استفاده اشاره کنند، .B calc به ترتیب در این مسیرها به جستجو می‌پردازد: .sp 1 .in +5n .nf . ./cal ${XDG_DATA_HOME}/calc ${XDG_CONFIG_HOME}/calc ${CALC_SHAREDIR} /usr/share/calc/custom .fi .in -5n .sp 1 اگر هیچ‌یک از دایرکتوری‌های XDG قابل استفاده نباشد، جایگزین پیش‌فرض کامپایل‌شده معمولاً عبارت است از: .sp 1 .in +5n .nf . ./cal ~/.cal ${CALC_SHAREDIR} /usr/share/calc/custom .fi .in -5n .sp 1 .TP 5 CALCRC در هنگام راه‌اندازی (مگر اینکه \-h یا \-q در خط فرمان مشخص شده باشد)، .B calc فایل‌ها را در طول این متغیر محیطیِ جدا شده با «:» جستجو می‌کند. .br .sp اگر این متغیر تنظیم نشده یا خالی باشد، .B calc ابتدا $XDG_CONFIG_HOME را بررسی می‌کند. چنانچه به یک دایرکتوری مطلق و قابل استفاده اشاره کند، .B calc به ترتیب در این مسیرها جستجو می‌کند: .sp 1 .in +5n .nf ./.calcinit ${XDG_CONFIG_HOME}/calc/calcrc ${CALC_SHAREDIR}/startup .fi .in -5n .sp 1 اگر $XDG_CONFIG_HOME قابل استفاده نباشد، جایگزین کامپایل‌شده معمولاً عبارت است از: .sp 1 .in +5n .nf ./.calcinit ~/.calcrc ${CALC_SHAREDIR}/startup .fi .in -5n .sp 1 .TP 5 CALCBINDINGS در هنگام راه‌اندازی (مگر اینکه \fI\-h\fP یا \fI\-q\fP در خط فرمان مشخص شده باشد، یا \fI\-m\fP باز کردن فایل‌ها را برای خواندن منع کرده باشد)، .B calc نگاشت‌های کلید (key bindings) را از نام فایل مشخص‌شده توسط این متغیر محیطی می‌خواند. فایل نگاشت‌های کلید در طول فهرست دایرکتوری‌های $CALCPATH جستجو می‌شود. .sp مقدار پیش‌فرض: binding .sp در صورتی که calc با پشتیبانی از GNU-readline کامپایل شده باشد، از این متغیر استفاده نمی‌شود. در این حالت، سازوکارهای استاندارد readline (رجوع کنید به readline(3)) به کار می‌روند. .sp .TP 5 CALCHISTFILE مکان فایل تاریخچهٔ calc. .sp اگر این متغیر تنظیم نشده یا خالی باشد، .B calc ابتدا از یک فایل موجود .B ~/.calc_history استفاده می‌کند. در غیر این صورت، .B calc متغیر $XDG_STATE_HOME را بررسی می‌کند. چنانچه به یک دایرکتوری مطلق، قابل استفاده و قابل نوشتن اشاره کند، مقدار مؤثر عبارت است از: .sp 1 .in +5n .nf ${XDG_STATE_HOME}/calc/history .fi .in -5n .sp 1 اگر هیچ‌کدام اعمال نشود، مقدار جایگزین عبارت است از: .sp 1 .in +5n .nf ~/.calc_history .fi .in -5n .sp 1 در صورتی که calc با پشتیبانی از GNU-readline کامپایل شده باشد، از این متغیر استفاده نمی‌شود. .sp .TP 5 CALCHELP مکان دایرکتوری راهنمای calc. .sp مقدار پیش‌فرض: /usr/share/calc/help .sp .TP 5 CALCCUSTOMHELP مکان دایرکتوری راهنمای سفارشی calc. .sp مقدار پیش‌فرض: /usr/share/calc/custhelp .sp .PP هنگامی که CALCPATH، CALCRC و CALCHISTFILE تنظیم نشده یا خالی باشند، .B calc همان‌طور که در بالا توضیح داده شد از «مشخصات دایرکتوری پایه XDG» پیروی می‌کند. .sp می‌توانید این مکان‌ها را با تنظیم صریح متغیرهای محیطی calc بازنویسی کنید. برای نمونه، جهت بازگرداندن پیش‌فرض‌های قدیمی و معمول در یک نصب متعارف یونیکس: .sp .in +5n .nf export CALCRC="./.calcinit:$HOME/.calcrc:\:/usr/share/calc/startup" export CALCPATH=".:\:./cal:$HOME/.cal:\:/usr/share/calc:\:/usr/share/calc/custom" export CALCHISTFILE="$HOME/.calc_history" .fi .in -5n .sp برای اطلاعات بیشتر دربارهٔ «مشخصات دایرکتوری پایه XDG» ببینید: .sp .in +0.5i .nf https:\://specifications.freedesktop.org/basedir/latest .fi .in -0.5i .sp توجه داشته باشید که .B calc تلاش خواهد کرد دایرکتوری والد $CALCHISTFILE را ایجاد کند. اگر این کار کافی نباشد، چنانچه مسیری را به فایلی که هنوز وجود ندارد انتخاب کرده‌اید، ممکن است نیاز باشد برای سازوکار تاریخچه دستور زیر را اجرا کنید: .sp .in +5n .nf mkdir \-p $(dirname $CALCHISTFILE) .fi .in -5n .sp.SH "قدردانی (CREDIT)" .PP بخش عمدهٔ .B calc توسط David I. Bell نوشته شده است. .sp آینهٔ اصلی (primary mirror) .B calc و پردازش گزارش‌های باگ calc توسط Landon Curt Noll انجام می‌شود. .sp ‏Landon Curt Noll نگهداری از کد منبع مرجع اصلی (master reference source)، امور مربوط به کنترل انتشار و همچنین سایر وظایف نگهداری calc را بر عهده دارد. .sp با تشکر از پیشنهادها و دلگرمی‌های Peter Miller، Neil Justusson و Landon Noll. .sp با تشکر از Stephen Rothwell برای نوشتن نسخهٔ اصلی hist.c که برای ویرایش خط فرمان به کار می‌رود. .sp با تشکر از Ernest W. Bowen برای ارائهٔ بهبودهای فراوان در دقت و جامعیت برخی توابع عددی. بخش اعظمی از این موارد به صورت کدهای واقعی ارائه شد که با کمال سپاسگزاری پذیرفته شدند. همچنین Ernest متن اصلی بسیاری از فایل‌های راهنما را فراهم کرد. .sp بخش‌هایی از این برنامه برگرفته از مجموعهٔ قدیمی‌تری از روتین‌های محاسباتی با دقت دلخواه و در مالکیت عمومی (public domain) است که حوالی سال ۱۹۸۴ در اینترنت منتشر شده بود. در حال حاضر، تقریباً هیچ کد قابل تشخیصی از آن منبع اولیه باقی نمانده است. .PP .SH "تکثیر / پروانه عمومی همگانی کاهش‌یافته گنو کالک (COPYING / CALC GNU LESSER GENERAL PUBLIC LICENSE)" .PP ‏Calc یک نرم‌افزار آزاد است و تحت نسخهٔ 2.1 از پروانهٔ عمومی همگانی کاهش‌یافتهٔ گنو (GNU Lesser General Public License) منتشر شده است. تغییر آن و/یا توزیع نسخه‌هایی از آن تحت شرایط مشخصی برای شما مجاز و آزاد است. دستورهای calc: .sp .in +0.5i .nf help copyright help copying help copying-lgpl help credit .fi .in -0.5i .sp باید محتویات فایل‌های COPYING و COPYING-LGPL را نمایش دهند. این فایل‌ها حاوی اطلاعاتی در مورد مجوز GNU Lesser General Public License برنامهٔ calc و به‌ویژه شرایطی هستند که تحت آن‌ها مجاز به تغییر آن و/یا توزیع نسخه‌هایی از آن می‌باشید. .sp شما باید رونوشتی از نسخهٔ 2.1 پروانهٔ عمومی همگانی کاهش‌یافتهٔ گنو را دریافت کرده باشید. اگر این فایل‌ها را ندارید، به نشانی زیر مکاتبه کنید: .sp .in +0.5i .nf Free Software Foundation, Inc. 51 Franklin Street Fifth Floor Boston, MA 02110-1301 USA .fi .in -0.5i .sp حق نشر (کپی‌رایت) Calc به چندین شیوهٔ مختلف ثبت شده است. این شیوه‌ها شامل موارد زیر است: .sp .in +0.5i .nf Copyright (C) year David I. Bell Copyright (C) year David I. Bell and Landon Curt Noll Copyright (C) year David I. Bell and Ernest Bowen Copyright (C) year David I. Bell, Landon Curt Noll and Ernest Bowen Copyright (C) year Landon Curt Noll Copyright (C) year Ernest Bowen and Landon Curt Noll Copyright (C) year Ernest Bowen Copyright (C) year Petteri Kettunen and Landon Curt Noll Copyright (C) year Christoph Zurnieden Copyright (C) year Landon Curt Noll and Thomas Jones-Low Copyright (C) year Klaus Alexander Seistrup and Landon Curt Noll .fi .in -0.5i .sp تعداد معدودی از فایل‌ها در calc تحت مجوز «The Unlicense» قرار دارند. برای اطلاعات بیشتر در مورد این پروانه، نشانی زیر را ببینید: .sp .in +0.5i .nf https:\://unlicense.org .fi .in -0.5i .sp .PP .SH "پرسش‌های کالک (CALC QUESTIONS)" .PP برای مطرح کردن پرسش‌های عمومی دربارهٔ calc با نگه‌دارندگان آن، خروجی دستور calc زیر را مشاهده کنید: .sp .in +0.5i .nf ; help question .fi .in +0.5i .sp .PP یا فایل منبع زیر را بخوانید: .sp .in +0.5i .nf QUESTIONS .fi .in +0.5i .sp .PP یا نشانی اینترنتی زیر را ببینید: .sp .in +0.5i .nf https:\://github.com/lcn2/calc/blob/master/QUESTIONS .fi .in +0.5i .sp .PP.SH "گزارش باگ‌ها / رفع باگ‌ها (BUG REPORTS / BUG FIXES)" .PP برای اطلاع دادن یک باگ به نگه‌دارندگان calc یا ارسال اصلاحیهٔ باگ، خروجی دستور calc زیر را مشاهده کنید: .sp .in +0.5i .nf ; help bugs .fi .in +0.5i .sp .PP یا فایل منبع زیر را بخوانید: .sp .in +0.5i .nf BUGS .fi .in +0.5i .sp .PP یا به نشانی اینترنتی زیر مراجعه کنید: .sp .in +0.5i .nf https:\://github.com/lcn2/calc/blob/master/BUGS .fi .in +0.5i .sp .PP .SH "مشارکت در کد CALC (CONTRIBUTING CODE TO CALC)" .PP .I Calc یک نرم‌افزار متن‌باز است. می‌توانید در کد calc مشارکت کنید یا اصلاحیه‌های باگ را برای calc ارسال نمایید. .sp برای مشارکت در کد calc، لطفاً خروجی دستور calc زیر را مشاهده کنید: .sp .in +0.5i .nf ; help contrib .fi .in +0.5i .sp .PP یا فایل منبع زیر را بخوانید: .sp .in +0.5i .nf CONTRIB-CODE .fi .in +0.5i .PP یا به نشانی اینترنتی زیر مراجعه کنید: .sp .in +0.5i .nf https:\://github.com/lcn2/calc/blob/master/CONTRIB-CODE .fi .in +0.5i .sp .PP .SH "وب‌سایت CALC (CALC WEB SITE)" .PP Landon Noll وب‌سایت .B calc را نگه‌داری می‌کند که در نشانی زیر قرار دارد: .sp .in +0.5i www.isthe.com/chongo/tech/comp/calc .in -0.5i .SH "کد منبع CALC (CALC SOURCE CODE)" آخرین نسخه از کد منبع calc را می‌توان از مخزن GitHub زیر دریافت کرد: .sp .in +0.5i https:\://github.com/lcn2/calc .in -0.5i .sp تازه‌ترین کد منبع calc در رأس شاخهٔ master قرار دارد. .PP می‌توانید انتشارهای calc را از نشانی زیر بارگیری کنید: .sp .in +0.5i https:\://github.com/lcn2/calc/releases .in -0.5i .sp انتشارهایی که با .B ((Pre-release)) مشخص شده‌اند، نسخه‌های بتا هستند. .sp جدیدترین انتشاری که با .B ((Pre-release)) مشخص نشده است، نسخهٔ پایدار پیشنهادی است.