Front page | perl.perl6.language |
Postings from February 2010
r29741 - docs/Perl6/Spec/S32-setting-library
From:
pugs-commits
Date:
February 15, 2010 20:51
Subject:
r29741 - docs/Perl6/Spec/S32-setting-library
Message ID:
20100216045035.18226.qmail@feather.perl6.nl
Author: lwall
Date: 2010-02-16 05:50:34 +0100 (Tue, 16 Feb 2010)
New Revision: 29741
Modified:
docs/Perl6/Spec/S32-setting-library/Numeric.pod
Log:
[Numeric] make it possible to have fast trig functions
Modified: docs/Perl6/Spec/S32-setting-library/Numeric.pod
===================================================================
--- docs/Perl6/Spec/S32-setting-library/Numeric.pod 2010-02-16 02:14:55 UTC (rev 29740)
+++ docs/Perl6/Spec/S32-setting-library/Numeric.pod 2010-02-16 04:50:34 UTC (rev 29741)
@@ -19,8 +19,8 @@
Created: 19 Mar 2009 extracted from S29-functions.pod
- Last Modified: 27 Nov 2009
- Version: 4
+ Last Modified: 15 Feb 2010
+ Version: 5
The document is a draft.
@@ -294,7 +294,7 @@
=item I<Standard Trig Functions>
- Numeric multi method func ( Numeric $x: TrigBase $base = $?TRIGBASE ) is export
+ Numeric multi method func ( Numeric $x: TrigBase $base = CALLER::($?TRIGBASE) ) is export
where I<func> is one of:
sin, cos, tan, asin, acos, atan, sec, cosec, cotan, asec, acosec,
@@ -314,10 +314,16 @@
Circles 1
To change the base within your own lexical scope, it suffices to redefine the
-compiler constant:
+compiler constant with the C<trigbase> pragma:
- constant $?TRIGBASE = Degrees;
+ use trigbase Degrees;
+In addition to setting the new lexical C<$?TRIGBASE>, this also
+curries a new set of functions into the current lexical scope that
+assume the new base. (Note that methods calls cannot be curried, so
+methods must still look up the caller's trigbase. The optimizer may,
+of course, optimize these into fast function calls.)
+
=item atan2
our Numeric multi method atan2 ( Numeric $y: Numeric $x = 1 )
-
r29741 - docs/Perl6/Spec/S32-setting-library
by pugs-commits