我需要检查 R^2 中的一个点是否位于半径 r 相对较大的圆(最多 10^5)中。显然,我通常只会将内积与 r^2 进行比较,但这是在嵌入式环境中,这不适用于足够大的 int32_t 值,因为正交会溢出类型(最多 32 位类型)。
可能的解决方案:
我可以从两个 32 位整数中手动拼凑出一个 64 位产品(可能我最终会这样做)。
我可以将所有内容除以 10(或任何值),然后进行通常的内积比较,但我失去了精度。
我可以尝试检查圆圈中内接的 n 边形内部,但这是很多计算、表格等,而且我仍然没有精确度。
是否有通常用于此类事情的算法?
我正在制作一个小倒数计时器作为React练习(对于我自己,不是一个类或任何东西)并且一切正常(尽管音符总是受欢迎的),除了我注意到即使在卸载组件后它仍在倒计时.
所以现在我想让它在卸载时停止,但似乎无法正确.停止setInterval卸载的协议是什么?这就是我所拥有的:
class TimerVal extends Component {
constructor(props) {
super(props)
this.state = {
timeToGo: 30
}
}
secondsToMMSS(seconds) {
//returns "mm:ss"
}
componentDidMount() {
setInterval(
() => this.setState({
timeToGo: this.state.timeToGo - 1
}),
1000
)
}
componentWillUnmount() {
() => this.setState({
timeToGo: undefined
})
}
render() {
// styles
console.log(this.state)
const count = ( this.state.timeToGo > 0 ) ? this.secondsToMMSS(this.state.timeToGo) : "00:00"
console.log(count)
return(
<div style={timerStyle}>
<span style={timerSpanStyle}>
{count}
</span>
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试第一次进行webpack构建,并且我已经相对于文档查看了我的babel配置了很多次,但我不能为我的生活看到它的错误.所有相同的我在构建一个非常简单的应用程序(几乎是默认的应用程序,与redux连接)时收到错误:
ERROR in ./src/index.js
Module build failed: SyntaxError: Unexpected token (10:2)
8 |
9 | ReactDOM.render(
> 10 | <Provider store={store}>
| ^
11 | <App />
12 | </Provider>, global.document.getElementById('root'));
13 | registerServiceWorker();
Run Code Online (Sandbox Code Playgroud)
这是我的webpack.config.js:
const path = require('path');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
entry: './src/index.js',
plugins: [
new UglifyJSPlugin()
],
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
},
{
test: /\.(png|svg|jpg|gif)$/,
use: …Run Code Online (Sandbox Code Playgroud) 我一直怀疑以前有人问过这个问题,但我没有找到......
假设我有一个函数 A 的 typedef,它接受一个指向带有 typedef B 的函数的指针,后者又接受一个 typedef A 的函数。如果其中一个是结构,我知道我将如何处理前向声明,但对于函数我不知道语法。有吗?
我希望能够做到:
typedef void (*function_A_t)(function_B_t f_B);
typedef void (*function_B_t)(function_A_t f_A);
Run Code Online (Sandbox Code Playgroud)
任何提示?更好的是,参考?顺便说一句,这实际上只是发生在我身上,但我能够以另一种方式修复它,尽管这实际上会更顺畅(更好的解耦,下一个人搞砸的机会更少),如果可能的话。
我看到一些类似的问题,但它们似乎并不相同或没有答案。
我正在使用 Django 进行练习,并尝试制作一个简单的荷兰式拍卖项目。最初,我认为这个想法是创建两个不同的应用程序,一个买家应用程序和一个卖家应用程序,然后让它们共享数据库(或三个应用程序,一个公共应用程序、一个买家应用程序和一个卖家应用程序)。然而,我越深入地研究它,它看起来就越复杂 - 我觉得 Django 并不是真的意味着拥有不同的应用程序,这些应用程序是围绕共享一组表中的所有数据而设计的(也许我错了?),大致基于我发现必须修改迁移工作方式以适应这种情况。
所以想法#2,只需制作一个应用程序,通过仔细管理视图来分离功能,但只保留一组模型,因为我能想到的几乎所有数据(用户、产品等)都是共享的反正。这似乎具有让 Django 完成所有数据管理的优点,而无需我为数据库设计而烦恼。然而,我担心管理视图可能会变得过于复杂。
也许有一个想法 #3 对这类项目有意义,但我没有考虑过这个想法,因为我是一名新手,也许这个想法告诉我 Django 甚至不是适合这项工作的工具......
我尝试了编程想法#1,但它很快就变成了意大利面条,并且只有在事情非常小时才起作用。我目前正在研究想法#2,到目前为止,我认为一切顺利,但我在概念化如何分离视图中的内容时遇到了困难,但这很可能只是我缺乏经验。
所以我的问题是:是否有针对我所缺少的此类信息的明显资源?如果是这样,你能指点我一下吗?
我可能已经超越了自己,在学习Clojure的第一天我几乎没有参与其中的功能,但我认为我会雄心勃勃并且做一个递归函数来将浮动值转换为三元组.如果我按名称调用函数而不是使用recur它,效果很好.我理解的问题是我只是recur函数的1-arity版本,是否有一种标准的方法来处理多元函数的递归?我正在阅读的这本书似乎并没有涵盖它.
(defn float-to-ternary
([x k s]
(def a (int x))
(def r (- x a))
(def carry-string (str s (. Integer toString a 3)))
(cond
(== r 0) carry-string
(> k 20) carry-string
:default (recur (* 3 r) (inc k) carry-string)
)
)
([x]
(def a (int x))
(def r (- x a))
(def carry-string (str (. Integer toString a 3) "."))
(cond
(== r 0) (str (. Integer toString a 3))
:default (recur (* 3 …Run Code Online (Sandbox Code Playgroud) 我想构建一些按钮(来自react-bootstrap Buttons),它们知道鼠标光标何时进入和离开它们。连接起来没问题,一切都正常。但是,如果我有几个这样的按钮,并且每个按钮都有一个传递给它的名称,那么如何将名称输入到减速器中?
在下面的例子中,我想bsName传递给reducer,看一下mapsDispatchToProps:
import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { Button } from 'react-bootstrap';
const InteractiveButton = ({
bsStyle,
bsName,
bsText,
dispButtonEnter,
dispButtonLeave
}) => (
<div>
<Button
onMouseEnter={dispButtonEnter}
onMouseLeave={dispButtonLeave}
bsStyle={bsStyle}
bsSize="large"
title={bsName}
block
>
{bsText}
</Button>
</div>
);
InteractiveButton.propTypes = {
bsStyle: PropTypes.string.isRequired,
bsName: PropTypes.string.isRequired,
bsText: PropTypes.string.isRequired,
dispButtonEnter: PropTypes.func.isRequired,
dispButtonLeave: PropTypes.func.isRequired
};
const dispButtonEnter = { type: 'BUTTON_MOUSE_ENTER' };
const dispButtonLeave = { type: 'BUTTON_MOUSE_LEAVE' }; …Run Code Online (Sandbox Code Playgroud)