我在javascript中看到了很多关于模拟和动画的问题,通常涉及计算斜边:
hypot = Math.sqrt(x*x + y*y);
Run Code Online (Sandbox Code Playgroud)
由于笛卡尔坐标是大多数这些引擎中的首选武器,因此需要进行这些计算以找到点对之间的距离等.因此,计算斜边的任何加速都可能对许多项目有很大帮助.
为此,您能看到比上述简单实现更快的方法吗?我发现Chrome中的近似值稍微快一些,但根据SuperCollider中的近似函数, Firefox中的近似值要慢得多.
编辑2015-08-15:我已将接受的答案改为Math.hypot答案; 我怀疑目前的实用方法是使用Math.hypot或合成的hypot函数(如果不可用),并且如果足够并且Math.hypot不可用则与square(每个sch的答案)进行比较.
int& fun()
{
int * temp = NULL;
return *temp;
}
Run Code Online (Sandbox Code Playgroud)
在上面的方法中,我试图取消引用NULL指针.当我调用此函数时,它不会给出异常.我发现当返回类型是引用时它不会给出异常,如果它是按值,那么它.即使将NULL指针的解引用引用为引用(如下面的行),它也不会给出.
int* temp = NULL:
int& temp1 = *temp;
Run Code Online (Sandbox Code Playgroud)
在这里我的问题是,在引用的情况下编译器是否进行解除引用?
我有一个字符串,我需要将每个单词的第一个字母转换为大写字母,然后使用xsl将其转换为小写字母,例如,
输入字符串= dInEsh sAchdeV kApil Muk
期望的输出字符串= Dinesh Sachdev Kapil Muk
虽然,我知道我必须使用翻译功能,但我怎样才能将每个单词的第一个章程翻译成大写字母,并使用XSLT 1.0将所有单词翻译成小写字母
谢谢
鹦鹉学习附近最常说的单词和短语,以便在不适当的时刻重复它们.那么你将如何创建一个软件版本?假设它可以访问麦克风并且可以随意录制声音,那么如何在不需要无限资源的情况下对其进行编码?
我能想到的最好的方法是使用声音中的静音来划分流,然后使用一些模式识别将每个模式编码为一个标记列表,在您遇到它们时存储新的标记.散列令牌序列并计算数据库中的出现次数,您可以构建最常出现的短语的图片.但鉴于短语种类繁多,你如何防止它成为一个巨大的名单?并且匹配的对数量绝对会从匹配的组合性质中产生许多误报.
你会使用神经网络吗,因为这是一只真正的鹦鹉如何管理它?或者是否有另一种更聪明的方法来匹配模拟数据中的大规模模式?
while (true)
{
BasicDeliverEventArgs e = (BasicDeliverEventArgs)Consumer.Queue.Dequeue();
IBasicProperties properties = e.BasicProperties;
byte[] body = e.Body;
Console.WriteLine("Recieved Message : " + Encoding.UTF8.GetString(body));
ch.BasicAck(e.DeliveryTag, false);
}
Run Code Online (Sandbox Code Playgroud)
这是我们通过订阅检索消息时所做的事情.我们使用While循环,因为我们希望消费者不断地听...如果我想让这个甚至基于......那就是当时新消息到达队列的时候只有消费者应该消费消息..或任何类似的事件..
调试时,我喜欢打印出函数的所有输入和输出(我知道我需要一个更好的IDE,但是幽默我,这可以用于错误报告).所以,我最好喜欢:
@debuggable
def myfunc(argA,argB,argC):
return argB+1
Run Code Online (Sandbox Code Playgroud)
并使用全局变量来打开或关闭调试.不,我猜你也不喜欢全局变量.
我能想到的最好的是:
DEBUG = True
def debuggable(func):
if DEBUG:
def decorated(*args):
print "Entering ",func.func_name
print " args ",args
ret = func(*args)
print ret
return ret
return decorated
else:
return func
@debuggable
def myfunc(this,that):
return this+that
Run Code Online (Sandbox Code Playgroud)
并运行:
>>> myfunc(1,3)
Entering myfunc
args (1, 3)
4
Run Code Online (Sandbox Code Playgroud)
我怎样才能改善这一点?
我有一些(C++)函数,每个函数包含多个调用,在堆上创建相同基本类型的类似数组.在这些函数的不同点,我可能需要抛出异常.跟踪哪些数组已被删除是一件痛苦的事情,而且非常容易出错,因此我在考虑将数组指针添加到a中Set<ArrType*>,当我捕获异常时,我可以删除每个项目,如下所示:
try
{
set<ArrType*> sHeap;
ArrType* myArr = new ArrType[5];
sHeap.Add(myArr);
someExternalRoutine(myArr);
...
}
catch(CString s)
{
DeleteAllPointersInMyHeap(sHeap);
throw(s);
}
Run Code Online (Sandbox Code Playgroud)
感觉有点像添加本轮,但我无法解决这样一个事实,即几个外部调用中的任何一个都可能抛出异常,我需要明确删除分配到该点的所有指针.
这只是愚蠢吗?我应该在外部调用周围添加较小的try-catch块吗?我最终还是会删除一些删除A的列表; 删除B; 删除D; 每一个......之后
假设我有这个简单的类:
public class Pair {
public readonly object first;
public readonly object second;
public Pair(object first, object second) {
this.first = first;
this.second = second;
}
}
Run Code Online (Sandbox Code Playgroud)
生成对的循环图是不可能的.
你将如何创建一个类似的类,它仍然是不可变的,但可以某种方式用于生成循环图?
在DLL边界暴露STL容器是不是一个好主意,一般不可能的(见这个答案为何,而这其中大约在DLL边界露出一个std ::列表).我需要能够在用不同的(VC08/VC10 +)编译器编译的DLL和EXE之间传递数据; 这个Q只涉及一切都是一样的.
揭露它们的最佳方式是什么?向量与列表有点不同,因为内存保证是连续的,所以如果我只需要一个双向的const向量,我可以只提供块的开始和结束指针到dll中的函数吗?dll还需要返回一些像向量数组的结构.
我想知道一个包含开始和结束指针的结构:
template <typename T>
struct vecWrapper<T> {
T* begin;
T* end;
}
// in the dll
int func(vecWrapper<double> numbers);
Run Code Online (Sandbox Code Playgroud)
这是明智的吗?据推测,从函数返回的任何内容都需要一个析构函数(在dll端),它会破坏它所指向的东西.
考虑以下两种选择,以获得更高的数字currentPrice和100...
int price = currentPrice > 100 ? currentPrice : 100
int price = Math.Max(currentPrice, 100)
Run Code Online (Sandbox Code Playgroud)
我提出了这个问题,因为我正在考虑一个currentPrice可以由其他线程编辑变量的上下文.
在第一种情况下... price可以获得低于100?的值?
我正在考虑以下事项:
if (currentPrice > 100) {
//currentPrice is edited here.
price = currentPrice;
}
Run Code Online (Sandbox Code Playgroud) c++ ×3
c# ×2
api ×1
cyclic-graph ×1
decorator ×1
dll ×1
immutability ×1
javascript ×1
math ×1
null-pointer ×1
pointers ×1
python ×1
rabbitmq ×1
reference ×1
stl ×1
title-case ×1
xml ×1
xslt ×1
xslt-1.0 ×1