পাটিগণিত এক্সপ্রেশন

গাণিতিক ফাংশন এবং ক্রিয়াকলাপগুলির একটি সংগ্রহ, যা অন্যান্য ওয়াচ ফেস ফর্ম্যাট উপাদানগুলি রিয়েল-টাইম অ্যাট্রিবিউট মান এবং জাইরোস্কোপিক প্রভাবগুলি সমাধান করতে ব্যবহার করে।

Wear OS 4 এ চালু করা হয়েছে।

উদাহরণ

Wear OS ডিভাইসের অ্যাক্সিলোমিটারের $ x $-মূল্যের উপর ভিত্তি করে একটি মানকে 5 ডিগ্রি পর্যন্ত উভয় দিকে ঘোরানোর জন্য একটি উদাহরণ অভিব্যক্তি:

(5/90)*clamp([ACCELEROMETER_ANGLE_X],0,90) + (-5/90)*clamp([ACCELEROMETER_ANGLE_X],-90,0)

...যা নিম্নোক্ত গাণিতিক অভিব্যক্তির সমতুল্য, যেখানে $ \theta_x $ $ x $-নির্দেশে অ্যাক্সিলোমিটার কোণকে উপস্থাপন করে:

$$ \frac{5}{90} * max(min(\theta_x, 90), -90) $$

ফাংশন

ওয়াচ ফেস ফরম্যাট নিম্নলিখিত স্ট্রিং মানগুলিকে ফাংশন হিসাবে স্বীকৃতি দেয়:

ফাংশন বর্ণনা রিটার্ন টাইপ উপস্থিতি
round() ইনপুট মানকে একটি ফ্লোটিং-পয়েন্ট মানতে রূপান্তর করে, তারপর স্ট্যান্ডার্ড round() গাণিতিক ক্রিয়া সম্পাদন করে। পূর্ণসংখ্যা সংস্করণ 1
floor() স্ট্যান্ডার্ড floor() গাণিতিক ক্রিয়া সম্পাদন করে। ভাসা সংস্করণ 1
ceil() স্ট্যান্ডার্ড ceil() গাণিতিক ক্রিয়া সম্পাদন করে। ভাসা সংস্করণ 1
fract() ইনপুট মানের ভগ্নাংশ প্রদান করে; অর্থাৎ, ফ্লোটিং-পয়েন্ট মানের অংশ যা দশমিক বিন্দুর ডানদিকে প্রদর্শিত হয়। ভাসা সংস্করণ 1
sin() স্ট্যান্ডার্ড sin() ত্রিকোণমিতিক অপারেশন সম্পাদন করে। ভাসা সংস্করণ 1
cos() স্ট্যান্ডার্ড cos() ত্রিকোণমিতিক অপারেশন সম্পাদন করে। ভাসা সংস্করণ 1
tan() স্ট্যান্ডার্ড tan() ত্রিকোণমিতিক অপারেশন সম্পাদন করে। ভাসা সংস্করণ 1
asin() স্ট্যান্ডার্ড asin() ত্রিকোণমিতিক অপারেশন সম্পাদন করে। প্রত্যাবর্তিত মান সর্বদা $ [-\frac{\pi}{2}, \frac{\pi}{2}] $ পরিসরে থাকে। ভাসা সংস্করণ 1
acos() স্ট্যান্ডার্ড acos() ত্রিকোণমিতিক অপারেশন সম্পাদন করে। প্রত্যাবর্তিত মান সর্বদা $ [0.0, \pi] $ এর মধ্যে থাকে। ভাসা সংস্করণ 1
atan() স্ট্যান্ডার্ড atan() ত্রিকোণমিতিক অপারেশন সম্পাদন করে। প্রত্যাবর্তিত মান সর্বদা $ [-\frac{\pi}{2}, \frac{\pi}{2}] $ পরিসরে থাকে। ভাসা সংস্করণ 1
abs() ইনপুট মানকে একটি ফ্লোটিং-পয়েন্ট মানতে রূপান্তর করে, তারপর স্ট্যান্ডার্ড abs() গাণিতিক ক্রিয়া সম্পাদন করে। ভাসা সংস্করণ 1
clamp(,,) ইনপুট মানগুলিকে ফ্লোটিং-পয়েন্ট মানগুলিতে রূপান্তর করে, তারপর দ্বিতীয় এবং তৃতীয় মান দ্বারা সংজ্ঞায়িত সীমার মধ্যে প্রথম মান ফিট করার জন্য clamp() জেটপ্যাক অপারেশনটি সম্পাদন করে৷ ভাসা সংস্করণ 1
rand(,) একটি র্যান্ডম ফ্লোটিং-পয়েন্ট মান তৈরি করে যা একই সময়ে নিম্নলিখিত শর্তগুলি পূরণ করে:
  • প্রথম মানের থেকে বড় বা সমান।
  • দ্বিতীয় মানের থেকে কম বা সমান।
অনুমান করে যে প্রথম মানটি দ্বিতীয় মানের থেকে কম বা সমান।
ভাসা সংস্করণ 1
log() স্ট্যান্ডার্ড বেস-$ e $ log() গাণিতিক অপারেশন সম্পাদন করে। ভাসা সংস্করণ 1
log2() একটি বেস-2 লগারিদম অনুকরণ করে। এই মানটি ইনপুট মানের বেস-10 log() $2$ এর বেস-10 লগারিদম দ্বারা ভাগ করে গণনা করা হয়। ভাসা সংস্করণ 1
log10() স্ট্যান্ডার্ড বেস-10 log() গাণিতিক অপারেশন সম্পাদন করে। ভাসা সংস্করণ 1
sqrt() স্ট্যান্ডার্ড sqrt() গাণিতিক অপারেশন সম্পাদন করে। ভাসা সংস্করণ 1
cbrt() স্ট্যান্ডার্ড cbrt() গাণিতিক অপারেশন সম্পাদন করে। ভাসা সংস্করণ 1
exp() স্ট্যান্ডার্ড exp() গাণিতিক অপারেশন সম্পাদন করে। ভাসা সংস্করণ 1
expm1() ইনপুট মান $1 $ হলে সরাসরি expm1() গাণিতিক অপারেশনকে কল করে। অন্য কোনো ইনপুট মানের জন্য, স্ট্যান্ডার্ড exp() গাণিতিক ক্রিয়া সম্পাদন করে ফাংশনটি অনুকরণ করে, তারপর 1 বিয়োগ করে। ভাসা সংস্করণ 1
deg() স্ট্যান্ডার্ড toDegrees() গাণিতিক অপারেশন সম্পাদন করে। $ \frac{\pi}{2} $ 90 ডিগ্রী হিসাবে সংজ্ঞায়িত করা হয়, এবং $ \pi $ 180 ডিগ্রী হিসাবে সংজ্ঞায়িত করা হয়। ভাসা সংস্করণ 1
rad() toRadians() গাণিতিক ক্রিয়াকলাপের মান সম্পাদন করে। 90 ডিগ্রীকে $ \frac{\pi}{2} $ হিসাবে সংজ্ঞায়িত করা হয়, এবং 180 ডিগ্রীকে $ \pi $ হিসাবে সংজ্ঞায়িত করা হয়। ভাসা সংস্করণ 1
pow(,) স্ট্যান্ডার্ড pow() গাণিতিক অপারেশন সম্পাদন করে। আউটপুট মান সর্বদা একটি ফ্লোটিং-পয়েন্ট সংখ্যা। ভাসা সংস্করণ 1
numberFormat(,) প্রথম মানের সংখ্যার বিন্যাসটি দ্বিতীয় মানটিতে প্রয়োগ করে। প্রথম মানটিতে নিম্নলিখিত অক্ষর থাকতে পারে:
  • # -- একটি সাংখ্যিক সংখ্যা প্রতিনিধিত্ব করে।
  • , -- বড় সংখ্যায় একটি কমা বিভাজক প্রতিনিধিত্ব করে।
  • . -- একটি দশমিক বিন্দু প্রতিনিধিত্ব করে।
স্ট্রিং সংস্করণ 1
icuText()

ইনপুট তারিখ বিন্যাস স্ট্রিংকে একটি প্যাটার্নে রূপান্তর করে যা প্রত্যাশিত লোকেল বিন্যাসের সাথে মেলে। যদি প্যারেন্ট PartText উপাদানে একটি Localization উপাদান অন্তর্ভুক্ত থাকে, তাহলে সেই লোকেলের বিন্যাস ব্যবহার করা হয়। অন্যথায়, Wear OS ডিভাইসের বর্তমান লোকেল ব্যবহার করে।

উদাহরণস্বরূপ, যদি ডিভাইসটি মার্কিন যুক্তরাষ্ট্রে ব্যবহার করা হয়, EE, MMM d, yyyy h:mm a এর একটি ইনপুট মান নিম্নলিখিত আউটপুট দেয়: Tue, Mar 14, 2023 1:59 PM

স্ট্রিং সংস্করণ 1
icuText(,)

প্রথম আর্গুমেন্ট ইনপুট তারিখ বিন্যাস স্ট্রিংকে একটি প্যাটার্নে রূপান্তর করে যা প্রত্যাশিত লোকেল বিন্যাসের সাথে মেলে। দ্বিতীয় যুক্তিটি মিলিসেকেন্ডে একটি টাইমস্ট্যাম্প স্ট্রিং।

যদি প্যারেন্ট PartText উপাদানে একটি Localization উপাদান অন্তর্ভুক্ত থাকে, তাহলে সেই লোকেলের বিন্যাস ব্যবহার করা হয়। অন্যথায়, Wear OS ডিভাইসের বর্তমান লোকেল ব্যবহার করে।

স্ট্রিং সংস্করণ 2
icuBestText()

ইনপুট তারিখ বিন্যাস স্ট্রিংকে বর্তমান সময়ে রূপান্তর করে যার প্যাটার্ন প্রত্যাশিত বিন্যাসের সাথে মেলে। যদি প্যারেন্ট PartText উপাদানে একটি Localization উপাদান অন্তর্ভুক্ত থাকে, তাহলে সেই লোকেলের বিন্যাস ব্যবহার করা হয়। অন্যথায়, Wear OS ডিভাইসের বর্তমান লোকেল ব্যবহার করে।

উদাহরণস্বরূপ, যদি ডিভাইসটি মার্কিন যুক্তরাষ্ট্রে 14 মার্চ, 2023 তারিখে 1:59 PM-এ ব্যবহার করা হয়, yyyy MMM d EE ah:mm এর একটি ইনপুট মান নিম্নলিখিত আউটপুট দেয়: Tue, Mar 14, 2023, 1:59 PM

স্ট্রিং সংস্করণ 1
icuBestText(,)

প্রথম আর্গুমেন্ট ইনপুট তারিখ বিন্যাস স্ট্রিংকে বর্তমান সময়ে রূপান্তর করে যার প্যাটার্ন প্রত্যাশিত বিন্যাসের সাথে মেলে। দ্বিতীয় যুক্তিটি মিলিসেকেন্ডে একটি টাইমস্ট্যাম্প স্ট্রিং।

যদি প্যারেন্ট PartText উপাদানে একটি Localization উপাদান অন্তর্ভুক্ত থাকে, তাহলে সেই লোকেলের বিন্যাস ব্যবহার করা হয়। অন্যথায়, Wear OS ডিভাইসের বর্তমান লোকেল ব্যবহার করে।

স্ট্রিং সংস্করণ 2
subText(,,)

প্রথম মান থেকে একটি সাবস্ট্রিং বের করে। দ্বিতীয় মানটি 0-ভিত্তিক সূচকটিকে প্রথম মানটিতে নির্দেশ করে যেখানে সাবস্ট্রিং শুরু হওয়া উচিত। তৃতীয় মান প্রথম মানের মধ্যে 0-ভিত্তিক সূচক নির্দেশ করে যেখানে সাবস্ট্রিং নিষ্কাশন বন্ধ করা উচিত ("দ্বিতীয় মান থেকে তৃতীয় মান পর্যন্ত, কিন্তু অন্তর্ভুক্ত নয়")।

উদাহরণ:
  • subText("abc def", 2, 5) হল cd
  • subText("abc def", 2, 7) হল c def
স্ট্রিং সংস্করণ 1
textLength()

ইনপুট স্ট্রিং এর দৈর্ঘ্য গণনা করে।

উদাহরণ:
  • textLength("") 0
  • textLength("abcdef") হল 6
স্ট্রিং সংস্করণ 1

অপারেটর

ওয়াচ ফেস ফরম্যাট নিম্নলিখিত স্ট্রিং মানগুলিকে অপারেটর হিসাবে স্বীকৃতি দেয়:

+
ইউনারী প্লাস, বা একাধিক মানের যোগ। পূর্ণসংখ্যা এবং ভাসমান-বিন্দু উভয় মান সমর্থন করে।
-
ইউনারী বিয়োগ, বা একাধিক মানের বিয়োগ। পূর্ণসংখ্যা এবং ভাসমান-বিন্দু উভয় মান সমর্থন করে।
*
একাধিক পূর্ণসংখ্যা বা ফ্লোটিং-পয়েন্ট মানের গুণন।
/

2টি পূর্ণসংখ্যা বা ফ্লোটিং-পয়েন্ট মানের বিভাজন।

যদি 2টি পূর্ণসংখ্যার বিভাজনের ফলে একটি অ-পূর্ণসংখ্যা মান হয়, দশমিক অংশটি ভাসমান-বিন্দু ফলাফলে সংরক্ষিত থাকে। উদাহরণস্বরূপ, $ \frac{1}{2} = 0.5 $।

উপরন্তু, অভিব্যক্তি $ \frac{x}{0} $টিকে 0 হিসাবে মূল্যায়ন করা হয়, যেখানে $ x $ যেকোনো পূর্ণসংখ্যা।

%

2টি পূর্ণসংখ্যা বা ফ্লোটিং-পয়েন্ট মানের মডুলার বিভাগ।

যদি উভয় অপারেন্ড পূর্ণসংখ্যা হয়, তাহলে ফলাফলটি 2টি মানকে ভাগ করার অবশিষ্টাংশ। উদাহরণস্বরূপ, $19 \bmod 7 = 5 $।

যদি অন্তত একটি অপারেন্ড একটি ভাসমান-বিন্দু সংখ্যা হয়, ফলাফলটি অবশিষ্টাংশের সমতুল্য একটি ফ্লোটিং-পয়েন্ট; উদাহরণস্বরূপ: $ 19.0 \bmod 7 = 5.0 $।

~

Bitwise "না" অপারেটর। বেশ কয়েকটি উদাহরণ:

  • ~1 হল $ -2 $
  • ~0 হল $ -1 $
!

লজিক্যাল "নট" অপারেটর, যা ডবল নেগেটিভ সমর্থন করে। বেশ কয়েকটি উদাহরণ:

  • $ !2 $ false
  • $!!0 $ true
|

বিটওয়াইজ "বা" অপারেটর। 2টির বেশি ইনপুট মান সমর্থন করে। বেশ কয়েকটি উদাহরণ:

  • $1 | 0 = 1 $
  • $1 | 2 | 4 = 7 $
||
লজিক্যাল "বা" অপারেটর।
&
Bitwise "এবং" অপারেটর। ঠিক 2টি ইনপুট মান সমর্থন করে।
&&
লজিক্যাল "এবং" অপারেটর।
(
বন্ধনী খুলুন। ক্রিয়াকলাপের মানক ক্রম পরিবর্তন করার জন্য ব্যবহৃত হয়, যেখানে গুণ এবং ভাগ সাধারণত যোগ এবং বিয়োগের চেয়ে অগ্রাধিকার নেয়।
)
বন্ধ বন্ধনী। ক্রিয়াকলাপের মানক ক্রম পরিবর্তন করার জন্য ব্যবহৃত হয়, যেখানে গুণ এবং ভাগ সাধারণত যোগ এবং বিয়োগের চেয়ে অগ্রাধিকার নেয়।
<
তুলনা অপারেটর "এর চেয়ে কম"। একটি পূর্ণসংখ্যার মানের সাথে তার ফ্লোটিং-পয়েন্ট সমতুল্য তুলনা করার সময়, ফলাফলটি false
<=
তুলনা অপারেটর "এর চেয়ে কম বা সমান"। একটি পূর্ণসংখ্যার মানের সাথে তার ফ্লোটিং-পয়েন্ট সমতুল্য তুলনা করার সময়, ফলাফলটি true
>
তুলনা অপারেটর "এর চেয়ে বড়"। একটি পূর্ণসংখ্যার মানের সাথে তার ফ্লোটিং-পয়েন্ট সমতুল্য তুলনা করার সময়, ফলাফলটি false
>=
তুলনা অপারেটর "এর চেয়ে বড় বা সমান"। একটি পূর্ণসংখ্যার মানের সাথে তার ফ্লোটিং-পয়েন্ট সমতুল্য তুলনা করার সময়, ফলাফলটি true
? এবং :

টার্নারি অপারেশনের জন্য সমর্থন প্রদান করে। সাধারণ বিন্যাস নিম্নরূপ:

condition ? value_if_true : value_if_false

বন্ধনী ব্যবহার করে নেস্টেড টারনারি ক্রিয়াকলাপ সমর্থন করে।

,

1টির বেশি আর্গুমেন্ট নেওয়া ফাংশনগুলির মানগুলিকে আলাদা করে৷

"

একটি মানের শুরুতে এবং শেষে স্থাপন করা হলে, এটি নির্দেশ করে যে ওয়াচ ফেস ফরম্যাট মানটিকে একটি স্ট্রিং হিসাবে ব্যাখ্যা করবে৷

==

সমতার জন্য তুলনা করুন। একটি পূর্ণসংখ্যার মানের সাথে তার ফ্লোটিং-পয়েন্ট সমতুল্য তুলনা করার সময়, ফলাফলটি true

!=

বৈষম্যের জন্য তুলনা করুন। একটি পূর্ণসংখ্যার মানের সাথে তার ফ্লোটিং-পয়েন্ট সমতুল্য তুলনা করার সময়, ফলাফলটি false

{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %}