   Compiling clock-curve-math v1.0.0 (/home/micro/projects/clock-curve-math)
error[E0599]: no method named `sqrt` found for type `f64` in the current scope
  --> src/field/higher_order.rs:72:53
   |
72 |         let m = (p.to_u64().unwrap_or(1000) as f64).sqrt() as u64;
   |                                                     ^^^^ method not found in `f64`

error[E0599]: no method named `unwrap_or` found for struct `FieldElement` in the current scope
  --> src/field/higher_order.rs:90:47
   |
90 |             let target = x_pow_k.mul(&a.inv().unwrap_or(FieldElement::from_u64(0)));
   |                                               ^^^^^^^^^ method not found in `FieldElement`
   |
  ::: src/field/field_element.rs:50:1
   |
50 | pub struct FieldElement {
   | ----------------------- method `unwrap_or` not found for this struct

error[E0599]: no method named `to_u32` found for struct `backend_bigint::BigInt` in the current scope
   --> src/field/higher_order.rs:109:57
    |
109 |         if let Some(intermediate_root) = kth_root(a, k1.to_u32().unwrap_or(1)) {
    |                                                         ^^^^^^
    |
   ::: src/bigint/backend_bigint.rs:12:1
    |
 12 | pub struct BigInt {
    | ----------------- method `to_u32` not found for this struct
    |
help: there is a method `to_u64` with a similar name
    |
109 -         if let Some(intermediate_root) = kth_root(a, k1.to_u32().unwrap_or(1)) {
109 +         if let Some(intermediate_root) = kth_root(a, k1.to_u64().unwrap_or(1)) {
    |

error[E0599]: no method named `to_u32` found for struct `backend_bigint::BigInt` in the current scope
   --> src/field/higher_order.rs:111:51
    |
111 |             return kth_root(&intermediate_root, d.to_u32().unwrap_or(1));
    |                                                   ^^^^^^
    |
   ::: src/bigint/backend_bigint.rs:12:1
    |
 12 | pub struct BigInt {
    | ----------------- method `to_u32` not found for this struct
    |
help: there is a method `to_u64` with a similar name
    |
111 -             return kth_root(&intermediate_root, d.to_u32().unwrap_or(1));
111 +             return kth_root(&intermediate_root, d.to_u64().unwrap_or(1));
    |

error[E0609]: no field `0` on type `FieldElement`
   --> src/field/higher_order.rs:250:25
    |
250 |         let diff = if x.0 < y.0 {
    |                         ^ unknown field

error[E0609]: no field `0` on type `FieldElement`
   --> src/field/higher_order.rs:250:31
    |
250 |         let diff = if x.0 < y.0 {
    |                               ^ unknown field

error[E0609]: no field `0` on type `FieldElement`
   --> src/field/higher_order.rs:251:15
    |
251 |             y.0 - x.0
    |               ^ unknown field

error[E0609]: no field `0` on type `FieldElement`
   --> src/field/higher_order.rs:251:21
    |
251 |             y.0 - x.0
    |                     ^ unknown field

error[E0609]: no field `0` on type `FieldElement`
   --> src/field/higher_order.rs:253:15
    |
253 |             x.0 - y.0
    |               ^ unknown field

error[E0609]: no field `0` on type `FieldElement`
   --> src/field/higher_order.rs:253:21
    |
253 |             x.0 - y.0
    |                     ^ unknown field

warning: value assigned to `i` is never read
   --> src/field/higher_order.rs:336:17
    |
336 |     let mut i = 2u64;
    |                 ^^^^
    |
    = help: maybe it is overwritten before being read?
    = note: `-W unused-assignments` implied by `-W unused`
    = help: to override `-W unused` add `#[allow(unused_assignments)]`

Some errors have detailed explanations: E0599, E0609.
For more information about an error, try `rustc --explain E0599`.
warning: `clock-curve-math` (lib) generated 1 warning
error: could not compile `clock-curve-math` (lib) due to 10 previous errors; 1 warning emitted
