Comments (12)
Thanks for the reminder - I've published num-bigint 0.2.1.
from num-bigint.
Is this necessary given that it is implemented in num-traits
now?
from num-bigint.
What do you mean? Pow
is defined in num-traits
, and implemented for the primitive types, but we need to implement it here for bigints.
from num-bigint.
I thought num-traits
provided a generic implementation, but apparently that is not the case.
from num-bigint.
Let's see if I can do this – I need in anyhow.
from num-bigint.
@cuviper I found it: num_traits::pow. This should work for BigInt
as well. (Something like powm
in this num-integer
PR would probably be more efficient though.)
from num-bigint.
I found it: num_traits::pow. This should work for BigInt as well.
Yes, but that only works by-value with a usize
exponent. The Pow
trait is more flexible.
(Something like powm in this num-integer PR would probably be more efficient though.)
Modular pow
is a different thing though -- and FWIW we do have inherent modpow
methods here.
from num-bigint.
Yes, but that only works by-value with a usize exponent. The Pow trait is more flexible.
A u32
exponent should be enough, and by-value is more efficient.
from num-bigint.
I'm interested in this pow function, will there be a new release of this crate at some point containing pow, or is there work left to do?
from num-bigint.
Still not updated in num? I get:
Updating crates.io index Downloading num v0.2.0 Downloading num-bigint v0.2.1 Downloading num-rational v0.2.1 Compiling num-integer v0.1.39 Compiling num-iter v0.1.37 Compiling num-complex v0.2.1 Compiling num-bigint v0.2.1 Compiling num-rational v0.2.1 Compiling num-bigint v0.1.40 error[E0277]: the trait bound
biguint::BigUint: num_traits::Num is not satisfied
from num-bigint.
@peterbraden Somehow you have both new and old, Compiling num-bigint v0.2.1
and Compiling num-bigint v0.1.40
. Only 0.2.1 implements Pow
.
Your output doesn't show which num-traits
you're compiling, but your two num-bigint
s will also require num-traits
0.2 and 0.1. That would be OK for Num
(your error message) if the latter were 0.1.43, as that just re-exports the 0.2 versions. Alternatively, num-bigint
0.1.41 started using num-traits
0.2 as well, but it still won't have Pow
.
from num-bigint.
I did a cargo update and all worked, not sure how I got into that state, thanks!
from num-bigint.
Related Issues (20)
- Is there a reason that `Copy` isn't implemented for `BigInt` and `BigUint` HOT 3
- `test_convert_f32` test failed on `i686-pc-windows-*` target HOT 8
- Whether to enable simd support? HOT 2
- Absolute value HOT 6
- Compiling Bigint Without Cargo HOT 1
- Debug output doesn't honor formatting specifier x HOT 1
- to_str_radix produces odd number of digits HOT 2
- Build script could be replaced with const fn HOT 4
- Incorrect handling of "_" chars in decimal part of number HOT 1
- From f64 HOT 2
- BigInt absolute value as a BigUint value HOT 2
- Add is_negative and is_non_negative HOT 1
- BigInt::parse_bytes converting a string with '_' as bigint with base 36 which isn't expected. HOT 2
- Feature Request: Ref type for {BigInt|BigUint} HOT 2
- Ability to create const BigUint etc. HOT 2
- Add powi method for `Sign` enum HOT 1
- re-export num_traits HOT 1
- Possible Incompleteness HOT 2
- Mixed-algorithm GCD (potential optimization) HOT 1
- x86_64-unknown-linux-gnux32 no longer works with 0.4.5 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from num-bigint.